人工神经网络课件.pptx
2023/1/311第四章人工神经网络第四章人工神经网络4.1 4.1 简介简介4.2 4.2 神经网络表示神经网络表示4.3 4.3 适合神经网络学习的问题适合神经网络学习的问题4.4 4.4 感知器感知器4.5 4.5 多层网络和反向传播算法多层网络和反向传播算法4.6 4.6 反向传播算法的说明反向传播算法的说明4.7*4.7*举例:人脸识别举例:人脸识别4.8*4.8*人工神经网络的高级课题人工神经网络的高级课题小结小结2023/1/312 4.1 简介(简介(1/2)人工神经网络人工神经网络(ANNANN)的研究在一定程度上的研究在一定程度上受到了生物学的启发受到了生物学的启发,因为,因为生物的学习系统生物的学习系统(如大脑如大脑)是由相互连接的神经元是由相互连接的神经元(neuron)(neuron)组成的异常复杂组成的异常复杂的网络。由于的网络。由于ANNANN只是只是在一定程度上在一定程度上受生物神经系统的启发,所以受生物神经系统的启发,所以ANNANN并未并未模拟生物神经系统中的很多复杂特征。模拟生物神经系统中的很多复杂特征。nANNANN是由一系列简单的单元相互密集连接构成的是由一系列简单的单元相互密集连接构成的:n每一个单元有一定数量的实值输入每一个单元有一定数量的实值输入(可能是其他单元的输出可能是其他单元的输出)n每一个单元产生单一的实数值输出每一个单元产生单一的实数值输出(可能成为其他很多单元的输入可能成为其他很多单元的输入)。nANNANN领域的研究者分为两个团体领域的研究者分为两个团体:n一个团体的目标是使用一个团体的目标是使用ANNANN研究和模拟生物学习过程研究和模拟生物学习过程(本身)本身)n另一个团体的目标是另一个团体的目标是获得高效的机器学习算法(应用)获得高效的机器学习算法(应用),不管这种算,不管这种算法是否反映了生物过程。法是否反映了生物过程。2023/1/313 4.1 简介(简介(2/2)n神经网络学习方法对于神经网络学习方法对于逼近实数值、离散值或向量值逼近实数值、离散值或向量值的目的目标函数提供了一种标函数提供了一种健壮性很强健壮性很强的方法。的方法。n在模式识别领域,如学习解释复杂的现实世界中的传感器在模式识别领域,如学习解释复杂的现实世界中的传感器数据,人工神经网络是目前知道的数据,人工神经网络是目前知道的最有效的学习方法最有效的学习方法。比如,。比如,学习识别手写字符、学习识别口语等。学习识别手写字符、学习识别口语等。n常用的常用的反向传播算法反向传播算法,使用梯度下降来调节网络参数,以,使用梯度下降来调节网络参数,以最佳拟合友输入输出对组成的训练数据,在很多实际的问题最佳拟合友输入输出对组成的训练数据,在很多实际的问题中取得了惊人的成功。中取得了惊人的成功。2023/1/314 4.2 神经网络表示例:神经网络表示例:ALVINN系统系统2023/1/3154.3适合神经网络学习的问题适合神经网络学习的问题n实例是用很多实例是用很多“属性一值属性一值”对表示的对表示的:要学习的目标函数是要学习的目标函数是定义在可以用向量描述的实例之上的,向量由预先定义的特定义在可以用向量描述的实例之上的,向量由预先定义的特征组成。征组成。n目标函数的输出目标函数的输出可能是离散值、实数值或者由若干实数属性可能是离散值、实数值或者由若干实数属性或离散属性组成的向量。或离散属性组成的向量。n训练数据可能包含错误训练数据可能包含错误:ANN:ANN学习算法对于训练数据中的错误学习算法对于训练数据中的错误有非常好的健壮性。有非常好的健壮性。n可容忍长时间的训练可容忍长时间的训练:网络训练算法通常比像决策树学习这网络训练算法通常比像决策树学习这样的算法需要更长的训练时间。样的算法需要更长的训练时间。n人类能否理解学到的目标函数是不重要的人类能否理解学到的目标函数是不重要的:神经网络方法学神经网络方法学习到的权值经常是人类难以解释的。学到的神经网络比学到习到的权值经常是人类难以解释的。学到的神经网络比学到的规则难以传达给人类。的规则难以传达给人类。2023/1/316 4.4感知器感知器(1/2)一种类型的一种类型的ANNANN系统是以系统是以感知器感知器的单元为基础的。如图的单元为基础的。如图4-24-2所示。感知所示。感知器以器以一个实数值向量作为输入一个实数值向量作为输入,计算这些输入的线性组合,如果结果大于,计算这些输入的线性组合,如果结果大于某个某个阈值阈值,就,就输出输出1 1,否则,否则输出一输出一1 1。图图4-24-2感知器感知器2023/1/317 4.4感知器感知器(2/2)还可以把感知器函数写为:还可以把感知器函数写为:其中:其中:学习一个感知器意味着选择权学习一个感知器意味着选择权w w0 0,w wn n的值。所以感知的值。所以感知器学习要考虑的器学习要考虑的候选假设空间候选假设空间H H就是所有可能的实数值权向量就是所有可能的实数值权向量的集合。的集合。2023/1/3184.4.1感知器的表征能力(感知器的表征能力(1/4)可以把感知器看作是可以把感知器看作是n n维实例空间维实例空间(即点空间即点空间)中的中的超平超平面决策面:面决策面:n对于超平面一侧的实例,感知器输出对于超平面一侧的实例,感知器输出1 1,对于另一侧的实,对于另一侧的实例输出一例输出一1 1,这个决策,这个决策超平面方程是超平面方程是:n某些正反样例集合不可能被任一超平面分割。那些可以被某些正反样例集合不可能被任一超平面分割。那些可以被分割的称为分割的称为线性可分线性可分(linearly separable)(linearly separable)样例集合。样例集合。2023/1/3194.4.1感知器的表征能力(2/4)图图4-34-3两输入感知器表示的决策面两输入感知器表示的决策面a)a)一组训练样例和一个能正确分类这些样例的感知器决策面。一组训练样例和一个能正确分类这些样例的感知器决策面。b)b)一组非线性可分的训练样例一组非线性可分的训练样例(也就是不能用任一直线正确分类的也就是不能用任一直线正确分类的样例样例)。x x1 1和和x x2 2是感知器的输入。是感知器的输入。“+”表示正例,表示正例,“一一”表示反例表示反例。2023/1/31104.4.1感知器的表征能力(3/4)单独的感知器可以用来表示很多布尔函数。单独的感知器可以用来表示很多布尔函数。假定用假定用1(1(真真)和一和一1(1(假假)表示布尔值,那么使用一个有两输表示布尔值,那么使用一个有两输入的感知器入的感知器:n实现实现与函数与函数(AND)(AND)的一种方法是设置权的一种方法是设置权w w0 0=一一0.8,0.8,并且并且w wl l=w w2 2=0.5=0.5。n实现实现或函数或函数(OR)(OR),那么只要改变它的,那么只要改变它的y y阈值阈值w w0 0=一一0.30.3nANDAND和和OROR可被看作可被看作m-of-nm-of-n函数函数的特例的特例:也就是要使函数输出为真,也就是要使函数输出为真,那么那么感知器的感知器的n n个输入中至少个输入中至少m m个必须为真个必须为真:nOROR函数对应于函数对应于m=1m=1nANDAND函数对应于函数对应于m=nm=n。n任意任意m-of-nm-of-n函数可以很容易地用感知器表示,函数可以很容易地用感知器表示,只要设置所有输入只要设置所有输入的权为同样的值的权为同样的值(如如0.5)0.5),然后据此恰当地设置阈值。,然后据此恰当地设置阈值。n感知器可以表示所有的原子布尔函数感知器可以表示所有的原子布尔函数:与、或、与非和或非与、或、与非和或非。n然而,一些布尔函数无法用单一的感知器表示,例如然而,一些布尔函数无法用单一的感知器表示,例如异或函数异或函数(XOR)(XOR),它当且仅当,它当且仅当x1x1 x2x2时输出为时输出为1 1。4.4.1感知器的表征能力(4/4)2023/1/31124.4.2感知器训练法则(1/3)感知器的学习任务感知器的学习任务是决定一个权向量,它可以使感知器对是决定一个权向量,它可以使感知器对于给定的训练样例输出正确的于给定的训练样例输出正确的1 1或或-1(-1(拟合训练数据)。拟合训练数据)。两种算法两种算法:感知器法则感知器法则和和deltadelta法则法则。这两种算法保证收敛。这两种算法保证收敛到可接受的假设,在不同的条件下收敛到的假设略有不同。到可接受的假设,在不同的条件下收敛到的假设略有不同。这两种方法提供了学习多个单元构成的网络的基础。这两种方法提供了学习多个单元构成的网络的基础。2023/1/31134.4.2感知器训练法则(2/3)为了得到可接受的权向量,一种办法是:为了得到可接受的权向量,一种办法是:n从随机的权值从随机的权值开始开始n然后然后反复地应用这个感知器到每个训练样例反复地应用这个感知器到每个训练样例n只要只要它误分类样例就它误分类样例就修改感知器的权值修改感知器的权值。n重复重复这个过程,这个过程,直到直到感知器正确分类所有的训练样例。感知器正确分类所有的训练样例。每一步根据每一步根据感知器训练法则感知器训练法则来修改权值:来修改权值:w wi iw wi i+w+wi i wwi i(t(to)xo)xi it t是当前训练样例的目标输出,是当前训练样例的目标输出,o o是感知器的输出,是感知器的输出,是一个正是一个正的常数称为的常数称为学习速率学习速率。学习速率的作用是缓和每一步调整。学习速率的作用是缓和每一步调整权的程度。权的程度。可以证明可以证明:在有限次地使用在有限次地使用感知器训练法则感知器训练法则后,上面的训练过后,上面的训练过程会收敛到一个能正确分类所有训练样例的权向量,程会收敛到一个能正确分类所有训练样例的权向量,前前提提是训练样例线性可分,并且使用了充分小的是训练样例线性可分,并且使用了充分小的。如果数据不是线性可分的,那么不能保证训练过程如果数据不是线性可分的,那么不能保证训练过程收敛。收敛。4.4.2感知器训练法则(3/3)2023/1/31154.4.3梯度下降和delta法则(1/2)n问题提出问题提出:如果训练样本不是线性可分的,那么:如果训练样本不是线性可分的,那么感知器训感知器训练法则练法则不能保证训练过程收敛不能保证训练过程收敛,deltadelta法则法则会收敛到目标会收敛到目标概念的最佳近似。概念的最佳近似。ndeltadelta法则的关键思想法则的关键思想是使用是使用梯度下降梯度下降来搜索可能的权向来搜索可能的权向量的假设空间,以找到最佳拟合训练样例的权向量。量的假设空间,以找到最佳拟合训练样例的权向量。ndeltadelta法则法则为反向传播算法提供了基础为反向传播算法提供了基础。且对于包含多种。且对于包含多种不同类型的连续参数化假设的假设空间,梯度下降是必不同类型的连续参数化假设的假设空间,梯度下降是必须遍历这样的假设空间的所有学习算法的基础。须遍历这样的假设空间的所有学习算法的基础。2023/1/31164.4.3梯度下降和delta法则(2/2)把把deltadelta训练法则理解为训练一个训练法则理解为训练一个无阈值无阈值的感知器,也就的感知器,也就是一个是一个线性单元线性单元,它的输出,它的输出o o如下:如下:(感知器:(感知器:)为了推导线性单元的权值学习法则,先指定一个度量标为了推导线性单元的权值学习法则,先指定一个度量标准来衡量准来衡量假设相对于训练样例的训练误差假设相对于训练样例的训练误差。一个常用的特别。一个常用的特别方便的方便的度量标准度量标准为为:在一定的条件下,在一定的条件下,对于给定的全部训练数据使对于给定的全部训练数据使E E最小化的最小化的假设也就是假设也就是H H中最可能的假设中最可能的假设。2023/1/31171.可视化假设空间(1/2)图44不同假设的误差按照按照E的定义,的定义,对于线性单元,对于线性单元,这个误差曲面必这个误差曲面必然是具有单一全然是具有单一全局最小值的抛物局最小值的抛物面。面。具体的抛物面形具体的抛物面形状依赖于具体的状依赖于具体的训练样例集合。训练样例集合。2023/1/31181.可视化假设空间(2/2)确定一个使确定一个使E E最小化的权向量最小化的权向量:n梯度下降搜索从一个任意的初始权向量梯度下降搜索从一个任意的初始权向量开始开始n然后然后以很小的步伐反复修改这个向量以很小的步伐反复修改这个向量:每一步都沿误差曲面产生每一步都沿误差曲面产生最陡峭下降最陡峭下降的方向修改权向量的方向修改权向量(参见图参见图4-4)4-4),n继续继续这个过程这个过程,直到直到得到全局的最小误差点。得到全局的最小误差点。2023/1/31192.梯度下降法则的推导(1/4)可以通过计算可以通过计算E E相对向量相对向量 的每个分量的导数来得到沿误差的每个分量的导数来得到沿误差曲面最陡峭下降的这个方向。这个向量导数被称为曲面最陡峭下降的这个方向。这个向量导数被称为E E对于对于 的梯的梯度度(gradient)(gradient),记作:,记作:既然梯度确定了既然梯度确定了E E最陡峭上升的方向,那么梯度下降的训练法则最陡峭上升的方向,那么梯度下降的训练法则是是:其中:其中:2023/1/31202.梯度下降法则的推导(2/4)n训练法则也可以写成它的分量形式训练法则也可以写成它的分量形式:其中:其中:2023/1/31212.梯度下降法则的推导(3/4)可以从公式可以从公式(4.2)(4.2)中计算中计算E E的微分,从而得到组成这个的微分,从而得到组成这个梯度向量的分量梯度向量的分量 。过程如下:。过程如下:2023/1/31222.梯度下降法则的推导(4/4)所以有:2023/1/3123训练线性单元的梯度下降算法训练线性单元的梯度下降算法(标准梯度下降)(标准梯度下降)GRADIENT-DESCENT(training-examples,GRADIENT-DESCENT(training-examples,)training-examplestraining-examples中每一个训练样例形式为序偶中每一个训练样例形式为序偶,其中,其中x x是输入值向量,是输入值向量,t t是目标输出值,是目标输出值,是学习速率是学习速率(例如例如0.05)0.05)初始化每个初始化每个w wi i为某个小的随机值为某个小的随机值 遇到遇到终止条件终止条件之前,做以下操作之前,做以下操作:初始化每个初始化每个w wi i为为0 0 对于训练样例对于训练样例training-examplestraining-examples中的中的每个每个做做:把实例把实例x x输人到此单元,计算输出输人到此单元,计算输出o o 对于线性单元的每个权对于线性单元的每个权w wi i做做 w wi iwwi i+(t(to)xo)xi i 对于线性单元的每个权对于线性单元的每个权w wi i做:做:2023/1/31243.梯度下降的随机近似(1/3)(随机梯度下降随机梯度下降)n梯度下降梯度下降是一种重要的通用学习范型。它是搜索庞大假设空是一种重要的通用学习范型。它是搜索庞大假设空间或无限假设空间的一种策略,它可应用于满足以下条件的间或无限假设空间的一种策略,它可应用于满足以下条件的任何情况任何情况:(1)(1)假设空间包含连续参数化的假设,例如,一个线性单假设空间包含连续参数化的假设,例如,一个线性单元的权值元的权值;(2)(2)误差对于这些假设的参数可微。误差对于这些假设的参数可微。n应用梯度下降的主要应用梯度下降的主要实践问题是实践问题是:(1)(1)有时收敛过程可能非常慢有时收敛过程可能非常慢(它可能需要数千步的梯度下它可能需要数千步的梯度下降降););(2)(2)如果在误差曲面上有多个局部极小值,那么不能保证如果在误差曲面上有多个局部极小值,那么不能保证这个过程这个过程会找到全局最小值。找到全局最小值。2023/1/31253.梯度下降的随机近似(2/3)(随机梯度下降随机梯度下降)缓解这些困难的一个常见的梯度下降变体被称为缓解这些困难的一个常见的梯度下降变体被称为增量梯度下降或随机增量梯度下降或随机梯度下降梯度下降。n标准梯度下降训练法则在对标准梯度下降训练法则在对D D中的中的所有训练样例求和后所有训练样例求和后计算权值更新。计算权值更新。n随机梯度下降的思想随机梯度下降的思想是根据是根据每个单独样例的误差增量每个单独样例的误差增量计算权值更新,得计算权值更新,得到近似的梯度下降搜索。到近似的梯度下降搜索。n修改后的训练法则与公式:修改后的训练法则与公式:相似,只是在相似,只是在迭代计算每个训练样例时迭代计算每个训练样例时根据下面的公式来更新权值,也称根据下面的公式来更新权值,也称增量法则或最小均方(增量法则或最小均方(LMSLMS)法则)法则:w wi i(t(to)xo)xi i随梯度下降为每个单独的训练样例随梯度下降为每个单独的训练样例d定义不同的误差函数:定义不同的误差函数:训练线性单元的梯度下降算法训练线性单元的梯度下降算法(随机梯度下降)(随机梯度下降)GRADIENT-DESCENT(training-examples,GRADIENT-DESCENT(training-examples,)training-examplestraining-examples中每一个训练样例形式为序偶中每一个训练样例形式为序偶,其,其中中x x是输入值向量,是输入值向量,t t是目标输出值,是目标输出值,是学习速率是学习速率(例如例如0.05)0.05)初始化每个初始化每个w wi i为某个小的随机值为某个小的随机值 遇到终止条件之前,做以下操作遇到终止条件之前,做以下操作:初始化每个初始化每个w wi i为为0 0 对于训练样例对于训练样例training-examplestraining-examples中的每个中的每个做做:把实例把实例x x输人到此单元,计算输出输人到此单元,计算输出o o 对于线性单元的每个权对于线性单元的每个权w wi i w wi iw wi i+(t(to)xo)xi i2023/1/3127 标准的梯度下降和随机的梯度下降之间的标准的梯度下降和随机的梯度下降之间的关键区别关键区别是是:n标准的梯度下降标准的梯度下降是在权值更新前是在权值更新前对所有样例汇总误差对所有样例汇总误差,而,而随机梯度下降随机梯度下降的的权值是权值是通过考查每个训练实例通过考查每个训练实例来更新的。来更新的。n在标准的梯度下降在标准的梯度下降中,权值更新的每一步对多个样例求和,这需要更多的中,权值更新的每一步对多个样例求和,这需要更多的计算。计算。另一方面另一方面,标准的梯度下降对于每一次权值更新经常使用比随机梯,标准的梯度下降对于每一次权值更新经常使用比随机梯度下降大的步长(对所有样例误差的累加)。度下降大的步长(对所有样例误差的累加)。n如果如果 有有多个局部极小值多个局部极小值,随机的梯度下降随机的梯度下降有时可能避免陷入这些局有时可能避免陷入这些局部极小值中,因为它使用不同的部极小值中,因为它使用不同的 ,而不是,而不是 ,对于每个训,对于每个训练样例沿一个不同的误差曲面有效下降,它依靠这些梯度的平均来近似对练样例沿一个不同的误差曲面有效下降,它依靠这些梯度的平均来近似对整个训练集合的梯度。这些曲面通常有不同的局部极小值,这使得下降过整个训练集合的梯度。这些曲面通常有不同的局部极小值,这使得下降过程不大可能陷入任何一个局部极小值。程不大可能陷入任何一个局部极小值。n在实践中,无论是随机的还是标准的梯度下降方法都被在实践中,无论是随机的还是标准的梯度下降方法都被广泛应用。广泛应用。3.梯度下降的随机近似(3/3)(随机梯度下降)2023/1/3128 4.4.4小结 迭代学习感知器权值的两个相似的算法迭代学习感知器权值的两个相似的算法间的关键差异间的关键差异是:是:n感知器训练法则感知器训练法则根据阈值化的根据阈值化的感知器输出的误差感知器输出的误差更新权值,更新权值,n增量法则增量法则根据输入的非阈值化线性组合的误差来更新权。根据输入的非阈值化线性组合的误差来更新权。这两个训练法则间的这两个训练法则间的差异差异还反映在还反映在不同的收敛特性不同的收敛特性上。上。n感知器训练法则感知器训练法则经过有限次的迭代收敛到一个能理想分类训经过有限次的迭代收敛到一个能理想分类训练数据的假设,学习过程收敛快,且与初值无关。但练数据的假设,学习过程收敛快,且与初值无关。但条件条件是是训练样例线性可分。训练样例线性可分。n增量法则增量法则渐近收敛至最小误差假设,可能需要极长的时间,渐近收敛至最小误差假设,可能需要极长的时间,但无论训练样例是否线性可分都会收敛。但无论训练样例是否线性可分都会收敛。2023/1/31294.5多层网络和反向传播算法(1/2)n单个感知器单个感知器仅能表示线性决策面。两层感知器网络能表示仅能表示线性决策面。两层感知器网络能表示任意布尔函数。任意布尔函数。n反向传播算法反向传播算法所学习的多层网络能够表示种类繁多的非线所学习的多层网络能够表示种类繁多的非线性曲面。性曲面。n一个典型的多层网络和它的决策曲面:一个典型的多层网络和它的决策曲面:2023/1/31304.5多层网络和反向传播算法(2/2)图图4-5多层前馈网络的决策区域多层前馈网络的决策区域2023/1/3131 4.5.1可微阈值单元(可微阈值单元(1/2)应该使用什么类型的单元来作为构建多层网络的基础呢应该使用什么类型的单元来作为构建多层网络的基础呢?n线性单元线性单元,前面已经为这种单元推导出了一个梯度下降学习,前面已经为这种单元推导出了一个梯度下降学习法则。法则。然而然而,多个线性单元的连接仍产生线性函数,而我们,多个线性单元的连接仍产生线性函数,而我们更希望选择能够表征非线性函数的网络。更希望选择能够表征非线性函数的网络。n感知器单元感知器单元,但它的不连续阈值使它不可微,所以不适合梯,但它的不连续阈值使它不可微,所以不适合梯度下降算法。度下降算法。n所需要的单元所需要的单元,输出是输入的非线性函数,并且输出是输入输出是输入的非线性函数,并且输出是输入的可微函数。一种选择是的可微函数。一种选择是 sigmoidsigmoid单元单元,类似于感知器的单,类似于感知器的单元,它基于一个元,它基于一个平滑的可微阈值函数平滑的可微阈值函数。2023/1/3132 4.5.1可微阈值单元(可微阈值单元(2/2)其中,其中,称为称为sigmoidsigmoid函数、函数、logisticlogistic函数或挤压函数,它把非常大的函数或挤压函数,它把非常大的输入值映射到输入值映射到0 01 1小范围输出,且它的导数容易用它的输出表示。有小范围输出,且它的导数容易用它的输出表示。有时也用双曲正切时也用双曲正切tanhtanh代替。代替。图图4-6 sigmoid4-6 sigmoid阈值单元阈值单元有阈值有阈值2023/1/3133 4.5.2反向传播算法(反向传播算法(1/2)考虑多个输出单元的网络,而不是单个单元,所以要先考虑多个输出单元的网络,而不是单个单元,所以要先重新定义误差重新定义误差E E,以便对所有网络输出(多个分量组成的向,以便对所有网络输出(多个分量组成的向量)的误差求和。量)的误差求和。2023/1/31342023/1/3135新的误差项随机梯度下降对隐藏单元和输出单元新的误差项2023/1/3136 4.5.2反向传播算法(反向传播算法(2/2)n 在典型的应用中,反向传播算法的权值更新迭代会被重复在典型的应用中,反向传播算法的权值更新迭代会被重复上千次上千次。有很多。有很多终止条件终止条件可以用来停止这个过程可以用来停止这个过程:n一种方法是在一种方法是在迭代的次数迭代的次数到了一个固定值时停止。到了一个固定值时停止。n或当或当在训练样例上的误差在训练样例上的误差降到某个阈值以下时。降到某个阈值以下时。n或或在分离的验证样例集合上的误差在分离的验证样例集合上的误差符合某个标准时。符合某个标准时。n 终止条件的选择终止条件的选择是很重要的,因为:是很重要的,因为:n太少的迭代可能无法有效地太少的迭代可能无法有效地降低误差降低误差。n太多的迭代会导致对训练数据的太多的迭代会导致对训练数据的过度拟合过度拟合。2023/1/3137反向传播算法常见的修改算法反向传播算法常见的修改算法增加冲量项增加冲量项 最常见的是修改算法中的最常见的是修改算法中的权值更新法则权值更新法则,使第,使第n n次迭代次迭代时的权值的更新部分地依赖于发生在第时的权值的更新部分地依赖于发生在第n n一一1 1次迭代时的更新,次迭代时的更新,即把公式即把公式(4.16)(4.16)换为如下的形式换为如下的形式:第二项称为冲量项,第二项称为冲量项,的的作用是增加冲量(动量)。作用是增加冲量(动量)。2023/1/31382.学习任意的无环网络(1)学习任意深度的前馈网络学习任意深度的前馈网络:权值更新法则保持不变,惟一的权值更新法则保持不变,惟一的变化变化是计算是计算 值的过程。值的过程。概括地说,第概括地说,第m m层的单元层的单元r r的的 r r值是由更深的值是由更深的m m1 1层的层的 值根据值根据下式计算的下式计算的:2023/1/31392.学习任意的无环网络(2)学习任意无环结构的网络:学习任意无环结构的网络:可以可以将这个算法推广到任何有向无环结构,而不论网络将这个算法推广到任何有向无环结构,而不论网络中的单元是否被排列在统一的层上。此时,计算任意内部单中的单元是否被排列在统一的层上。此时,计算任意内部单元元(也就是所有非输出单元也就是所有非输出单元)的的 法则法则是是:2023/1/31404.5.3反向传播法则的推导略2023/1/31414.6反向传播算法的说明4.6.1收敛性和局部极小值(收敛性和局部极小值(1/3)n对于多层网络,误差曲面可能含有多个不同的局部极小值,梯度下对于多层网络,误差曲面可能含有多个不同的局部极小值,梯度下降可能陷入这些局部极小值中的任何一个。因此,对于多层网络,降可能陷入这些局部极小值中的任何一个。因此,对于多层网络,反向传播算法仅能保证收敛到误差反向传播算法仅能保证收敛到误差E E的某个局部极小值,不一定收敛的某个局部极小值,不一定收敛到全局最小误差到全局最小误差。n考虑含有大量权值的网络。事实上,考虑含有大量权值的网络。事实上,网络的权越多,误差曲面的维网络的权越多,误差曲面的维数越多,也就越可能为梯度下降提供更多的数越多,也就越可能为梯度下降提供更多的“逃逸路线逃逸路线”,让梯度,让梯度下降离开相对该单个权值的局部极小值。(下降离开相对该单个权值的局部极小值。(原因:原因:它对应着维数非它对应着维数非常高的空间中的误差曲面常高的空间中的误差曲面(每个权值一维每个权值一维)。当梯度下降陷入相对某。当梯度下降陷入相对某个权的局部极小值时,相对其他的权,这里未必是局部极小值个权的局部极小值时,相对其他的权,这里未必是局部极小值)2023/1/31424.6.1收敛性和局部极小值(2/3)考虑随着训练中迭代次数的增加网络权值的演化方式:考虑随着训练中迭代次数的增加网络权值的演化方式:n在算法中,如果把网络的权值初始化为接近于在算法中,如果把网络的权值初始化为接近于0 0的值,那么的值,那么在早期的梯度下降步骤中,网络将表现为一个非常平滑的函在早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性函数。这是因为数,近似为输入的线性函数。这是因为sigmoidsigmoid函数本身在函数本身在权值靠近权值靠近0 0时接近线性时接近线性(见图见图4-64-6中的中的sigmoidsigmoid函数曲线函数曲线)。n仅当权值已经增长了一定时间之后,它们才会到达可以表示仅当权值已经增长了一定时间之后,它们才会到达可以表示高度非线性网络函数的程度高度非线性网络函数的程度。可以预期在这个能表示更复杂。可以预期在这个能表示更复杂函数的权空间区域存在更多的局部极小值。但希望当权到达函数的权空间区域存在更多的局部极小值。但希望当权到达这一点时它们已经足够靠近全局最小值。这一点时它们已经足够靠近全局最小值。2023/1/31434.6.1收敛性和局部极小值(3/3)用来用来缓解局部极小值问题缓解局部极小值问题的一些常见的启发式规则包括的一些常见的启发式规则包括:n为梯度更新法则为梯度更新法则加一个冲量项加一个冲量项。n使用使用随机的梯度下降随机的梯度下降而不是真正的梯度下降。而不是真正的梯度下降。n使用同样的数据训练多个网络使用同样的数据训练多个网络,但用不同的随机权值初始,但用不同的随机权值初始化每个网络。化每个网络。如果不同的训练产生不同的局部极小值,那么选择对分离的验证如果不同的训练产生不同的局部极小值,那么选择对分离的验证集合集合性能最好性能最好的那个网络。的那个网络。或者保留所有的网络,并且把它们当作一个网络或者保留所有的网络,并且把它们当作一个网络“委员会委员会”,它,它们的输出是每个网络输出的们的输出是每个网络输出的平均值平均值(可能加权可能加权)。2023/1/31444.6.2前馈网络的表征能力前馈网络的表征能力 前馈网络可以表示的函数:前馈网络可以表示的函数:n布尔函数布尔函数:n任何布尔函数可以被具有两层单元的网络准确表示,任何布尔函数可以被具有两层单元的网络准确表示,尽管在最坏的情况下,所需隐藏单元的数量随着网络输入数量尽管在最坏的情况下,所需隐藏单元的数量随着网络输入数量的增加成指数级增长。的增加成指数级增长。n连续函数连续函数:n每个有界的连续函数可以由一个两层的网络以任意小的误差任每个有界的连续函数可以由一个两层的网络以任意小的误差任意函数意函数:n任意函数可以被一个有三层单元的网络以任意精度逼近。任意函数可以被一个有三层单元的网络以任意精度逼近。输出层使用线性单元,两个隐藏层使用输出层使用线性单元,两个隐藏层使用sigmoidsigmoid单元,每一层单元,每一层所需的单元数量一般不确定。所需的单元数量一般不确定。2023/1/31454.6.3假设空间搜索和归纳偏置假设空间搜索和归纳偏置n对于反向传播算法,网络权的每一种可能赋值都表示了一个句法不同对于反向传播算法,网络权的每一种可能赋值都表示了一个句法不同的假设,原则上都在学习器的考虑范围内。的假设,原则上都在学习器的考虑范围内。这个假设空间是这个假设空间是n n个网络个网络权值的权值的n n维欧氏空间维欧氏空间。n精确地刻画出反向传播学习的精确地刻画出反向传播学习的归纳偏置归纳偏置是有难度的,因为它依赖于梯是有难度的,因为它依赖于梯度下降搜索和权空间覆盖可表征函数空间的方式的相互作用性。度下降搜索和权空间覆盖可表征函数空间的方式的相互作用性。n然而,可以把这一偏置粗略地刻画为然而,可以把这一偏置粗略地刻画为“在数据点之间平滑插值在数据点之间平滑插值”。两。两个正例之间的点也标记为正例。训练样例的特定样本产生了平滑变个正例之间的点也标记为正例。训练样例的特定样本产生了平滑变化的决策区域。化的决策区域。2023/1/31464.6.4隐藏层表示(隐藏层表示(1/5)反向传播算法的一个迷人的特性是,它能够反向传播算法的一个迷人的特性是,它能够在网络内部的隐藏层在网络内部的隐藏层发现有用的中间表示。发现有用的中间表示。n多层网络在隐藏层自动发现有用表示的能力是多层网络在隐藏层自动发现有用表示的能力是ANNANN学习的一个关键特学习的一个关键特性性。它提供了一种相当重要的灵活性。它提供了一种相当重要的灵活性允许学习器创造出设计者没有允许学习器创造出设计者没有明确引入的特征。明确引入的特征。n因为训练样例仅包含网络输入和输出,权值调节的过程可以因为训练样例仅包含网络输入和输出,权值调节的过程可以自由地设自由地设置权值,来定义任何隐藏单元表示置权值,来定义任何隐藏单元表示,这些隐藏单元表示在使误差平方,这些隐藏单元表示在使误差平方E E达到最小化时最有效。达到最小化时最有效。n这能够引导反向传播算法定义新的隐藏层特征,这些特征在输入中没这能够引导反向传播算法定义新的隐藏层特征,这些特征在输入中没有明确表示出来,但却能有明确表示出来,但却能捕捉输入实例中与学习目标函数最相关的特捕捉输入实例中与学习目标函数最相关的特征。征。2023/1/3147 4.6.4隐藏层表示(隐藏层表示(2/5)这个这个8x3x88x3x8的网络被训练以的网络被训练以学习恒等函数学习恒等函数,使用图中所示的,使用图中所示的8 8个训练样例。个训练样例。在在50005000轮训练之后,轮训练之后,3 3个隐藏单元使用图右侧的编码方式来编码个隐藏单元使用图右侧的编码方式来编码8 8个相互不同个相互不同的输入。注意,如果把编码后的值四舍五入为的输入。注意,如果把编码后的值四舍五入为0 0和和1,1,那么结果是那么结果是8 8个不同值的个不同值的标准二进制编码。标准二进制编码。1102023/1/31484.6.4隐藏层表示(隐藏层表示(3/5)权值更新次数2023/1/31494.6.4隐藏层表示(隐藏层表示(4/5)权值更新次数2023/1/31504.6.4隐藏层表示(隐藏层表示(5/5)权值更新次数2023/1/31514.6.5泛化、过度拟合和停止判据(泛化、过度拟合和停止判据(1/5)终止条件的选择:终止条件的选择:n一种选择是一种选择是继续训练继续训练直到对训练样例的误差直到对训练样例的误差E E降低至某降低至某个预先定义的阈值之下。个预先定义的阈值之下。n事实上,这并非一个好的策略,因为反向传播算法事实上,这并非一个好的策略,因为反向传播算法容容易过度拟合训练样例易过度拟合训练样例,降低对于其他未见过实例的泛,降低对于其他未见过实例的泛化精度。化精度。2023/1/31524.6.5泛化、过度拟合和停止判据(泛化、过度拟合和停止判据(2/5)2023/1/31534.6.5泛化、过度拟合和停止判据(泛化、过度拟合和停止判据(3/5)2023/1/31544.6.5泛化、过度拟合和停止判据(泛化、过度拟合和停止判据(4/5)为什么为什么过度拟合过度拟合往往是发生在迭代的后期,而不是迭代的早期呢往往是发生在迭代的后期,而不是迭代的早期呢?n设想网络的权值是被初始化为小随机值的,使用设想网络的权值是被初始化为小随机值的,使用这些几乎一样的权值这些几乎一样的权值仅能描述非常平滑的决策面。仅能描述非常平滑的决策面。n随着训练的进行,一些权值开始增长,以降低在训练数据上的误差,随着训练的进行,一些权值开始增长,以降低在训练数据上的误差,同时学习到的同时学习到的决策面的复杂度也在提高决策面的复杂度也在提高。n随着权值调整迭代次数的增加,反向传播算法获得的随着权值调整迭代次数的增加,反向传播算法获得的假设的复杂度也假设的复杂度也在增加在增加。n如果权值调整迭代次数足够多,反向传播算法经常会产生过度复杂的如果权值调整迭代次数足够多,反向传播算法经常会产生过度复杂的决策面,决策面,拟合了训练数据中的噪声和训练样例中没有代表性的特征拟合了训练数据中的噪声和训练样例中没有代表性的特征。2023/1/31554.6.5泛化、过度拟合和停止判据(泛化、过度拟合和停止判据(5/5)反向传播中的过度拟合问题的解决:反向传播中的过度拟合问题的解决:n一种方法被称为权值衰减一种方法被称为权值衰减,它在每次迭代过程中以某个小因子降低每个,它在每次迭代过程中以某个小因子降低每个权值。权值。n一个最成功的方法一个最成功的方法就是在训练数据外再为算法提供一套验证数据。算法就是在训练数据外再为算法提供一套验证数据。算法在使用训练集合驱动梯度下降搜索的同时