人工神经网络5BP神经网络课件-_第1页
人工神经网络5BP神经网络课件-_第2页
人工神经网络5BP神经网络课件-_第3页
人工神经网络5BP神经网络课件-_第4页
人工神经网络5BP神经网络课件-_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1人工神经网络

(ArtificalNeuralNetwork)张凯副教授武汉科技大学计算机学院1人工神经网络

(ArtificalNeuralNetw12第五章BP神经网络1.研究背景2.学习规则3.感知机结构4.感知机学习规则2第五章BP神经网络1.研究背景2.学习规则3.感2研究背景罗斯布莱特的感知机学习规则和伯纳德和玛西娅的LMS算法是设计用来训练单层的类似感知器的网络的。如前面几章所述,这些单层网络的缺点是只能解线性可分的分类问题。罗斯布莱特和伯纳德均意识到这些限制并且都提出了克服此类问题的方法:多层网络。但他们未将这类算法推广到用来训练功能更强的网络。研究背景罗斯布莱特的感知机学习规则和伯纳德和玛西娅的LMS3研究背景韦伯斯(Werbos)在他1974年博士的论文中第一次描述了训练多层神经网络的一个算法,论文中的算法是在一般网络的情况中描述的,而将神经网络作为一个特例。论文没有在神经网络研究圈子内传播。研究背景韦伯斯(Werbos)在他1974年博士的论文中第一4研究背景直到20世纪80年代中期,反向传播算法才重新被发现并广泛地宣扬,这个算法因被包括在《并行分布式处理》(ParallelDistributedProcessing)[RuMc86]一书中而得到普及,才使之成为迄今为止最著名的多层网络学习算法—BP算法,由此算法训练的神经网络,称之为BP神经网络。研究背景直到20世纪80年代中期,反向传播算法才重新被发5研究背景DavidRumelhartJ.McClelland研究背景DavidRumelhartJ.McClell6研究背景BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,80%-90%的人工神经网络模型是采用BP网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络最精彩的部分。研究背景BP网络广泛应用于函数逼近、模式识别/分类、数据压7异或问题x1x2y000110110110多层网络求解异或问题异或问题x1x2y000110110110多层网络求解异或问8输出函数:用一个简单的三层感知器就可得到解决多层网络求解异或问题输出函数:用一个简单的三层感知器就可得到解决多层网络求解异或9x1+x2+0.5=0x1+x2-1.5=00.7*y1-0.4y2-1=0多层网络求解异或问题x1+x2+0.5=0x1+x2-1.5=00.7*y1-010BP神经元及BP网络模型BP神经元及BP网络模型11BP神经元及BP网络模型BP神经元与其他神经元类似,不同的是BP神经元的传输函数为非线性函数,最常用的函数是logsig和tansig函数,其输出为:BP神经元及BP网络模型BP神经元与其他神经12BP神经元及BP网络模型BP神经元及BP网络模型13BP神经元及BP网络模型BP网络一般为多层神经网络。由BP神经元构成的二层网络如图所示,BP网络的信息从输入层流向输出层,因此是一种多层前馈神经网络。BP神经元及BP网络模型BP网络一般为多层神经网络。由BP神14BP神经元及BP网络模型如果多层BP网络的输出层采用S形传输函数(如logsig),其输出值将会限制在较小的范围内(0,l);用线性传输函数则可以取任意值。BP神经元及BP网络模型如果多层BP网络的输出层采用S形传15BP神经元及BP网络模型BP神经元及BP网络模型16前一层的输出是后一层的输入网络的输入网络的输出BP神经元及BP网络模型前一层的输出是后一层的输入网络的输入网络的输出BP神经17BP网络的学习在确定了BP网络的结构后,要通过输入和输出样本集对网络进行训练,亦即对网络的阈值和权值进行学习和修正,以使网络实现给定的输入/输出映射关系。BP网络的学习在确定了BP网络的结构后,要通18BP网络的学习BP网络的学习过程分为两个阶段:第一个阶段是输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出。第二个阶段是对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响(梯度),据此对各权值和阈值进行修改。BP网络的学习BP网络的学习过程分为两个阶段:19BP网络的学习以上两个过程反复交替,直到达到收敛为止。由于误差逐层往回传递,以修正层与层间的权值和阈值,所以称该算法为误差反向专播(errorbackpropagation)算法,这种误差反传学习算法可以推广到有若干个中间层的多层网络,因此该多层网络常称之为BP网络。BP网络的学习以上两个过程反复交替,直到达到收敛为20BP网络的学习标准的BP算法也是一种梯度下降学习算法,其权值的修正是沿着误差性能函数梯度的反方向进行的。针对标准BP算法存在的一些不足,出现了几种基于标准BP算法的改进算法,如变梯度算法、牛顿算法等。BP网络的学习标准的BP算法也是一种梯度下21函数逼近直到现在为止,在本书中看到的神经网络的应用多是在模式分类方面。神经网络在本质上也可被看作是函数逼近器。例如,在控制系统中,目标是要找到一个合适的反馈函数。函数逼近直到现在为止,在本书中看到的神经网络22应用举例求解函数逼近问题有21组单输入矢量和相对应的目标矢量,试设计神经网络来实现这对数组的函数关系2022/12/1723应用举例求解函数逼近问题2022/12/162323函数逼近它能将测量到的输出映射为控制输入。考虑图中的两层的1-2-1网络。

函数逼近它能将测量到的输出映射为控制输入。24函数逼近此例中,第一层的传输函数是logsig函数第二层的是线性函数。函数逼近此例中,第一层的传输函数是logsig函数25函数逼近

注意网络的响应包括两步,每一步对第一层中的一个logsig形神经元的响应。通过调整网络的参数,每一步的曲线形状和位置都可以发生改变,

如在下面讨论中将会见到的那样。函数逼近注意网络的响应包括两步,每一步对第一26函数逼近目标矢量相对于输入矢量的图形初始网络的输出曲线2022/12/1727函数逼近目标矢量相对于输入矢量的图形27函数逼近2022/12/1728训练1000次训练2000次函数逼近2022/12/1628训练1000次28函数逼近2022/12/1729训练3000次训练5000次函数逼近2022/12/1629训练3000次29函数逼近从这个例子中,可以看到多层网络的灵活性。看起来,只要在隐层中有足够数量的神经元,我们可以用这样的网络来逼近几乎任何一个函数。事实上,研究已表明两层网络在其隐层中使用S形传输函数,在输出层中使用线性传输函数,就几乎可以以任意精度逼近任何感兴趣的函数,只要隐层中有足够的单元可用(

[Host89])。函数逼近从这个例子中,可以看到多层网络的灵活30函数逼近我们已经有了对多层感知机网络在模式识别和函数逼近中的能力一些概念,下一步是要设计一个算法来训练这样的网络。函数逼近我们已经有了对多层感知机网络在模式识31反向传播算法反向传播算法32反向传播算法

如前所述,多层网络中某一层的输出成为下一层的输入。描述此操作的等式为:

这里,M是网络的层数。第一层的神经元从外部接收输入:

它是等式的起点。最后一层神经元的输出是网络的输出:

反向传播算法如前所述,多层网络中某一层的输出33多层网络的BP算法是LMS算法的推广。两个算法均使用相同的性能指数:均方误差。算法的输入是一个网络正确行为的样本集合:这里是网络的输入,是对应的目标输出。每输入一个样本,便将网络输出与目标输出相比较。算法将调整网络参数以使均方误差最小化:性能指数多层网络的BP算法是LMS算法的推广。两个算法均使用相同34近似误差的最速下降法为,这里是学习速度。性能指数这里,x是网络权值和偏置值的向量。若网络有多个输出,则上式的一种形式为:这里,均方误差的期望值被第k次迭代时的均方误差所代替。近似误差的最速下降法为,这里是学习速度。性能指数35敏感性的反向传播现在还需要计算敏感性,正是这个过程给出了反向传播这个词,因为它描述了第m层的敏感性通过第m+1层的敏感性来计算的递推关系。敏感性的反向传播现在还需要计算敏感性,正是这36误差不是隐层中的权值的显式函数

偏导数不易求得链法则误差不是隐层中的权值的显式函数

偏导数不易求得链法则37链法则计算隐层偏导数设有一个函数f,它是变量n的显示函数。函数n是w的显示函数。现在球f关于第三个变量w的导数。若链法则链法则计算隐层偏导数设有一个函数f,它是变量n的显示函数。38梯度计算梯度计算39梯度计算敏感性梯度梯度计算敏感性梯度40最速下降最速下降41Jacobian矩阵Jacobian矩阵42Jacobian矩阵Jacobian矩阵43Jacobian矩阵Jacobian矩阵44反向传播(敏感性)现在我们可以看到反向传播算法得名的原因了。敏感性从最后一层通过网络被反向传播到第一层:反向传播(敏感性)现在我们可以看到反向传播算法得名的原因了45初始化(最后一层)初始化(最后一层)46第一步,通过网络将输入向前传播BP算法总结第一步,通过网络将输入向前传播BP算法总结47下一步,通过网络将敏感性反向传播BP算法总结下一步,通过网络将敏感性反向传播BP算法总结48最后,使用最速下降法更新权值和偏置值BP算法总结最后,使用最速下降法更新权值和偏置值BP算法总结49BP算法总结BP算法总结501-2-1Network+-taep例子:函数逼近1-2-1+-taep例子:函数逼近51网络1-2-1Networkap网络1-2-1ap52初始条件

下一步定义网络要解决的问题。假定我们用此网络来逼近函数

训练集可以通过计算函数在几个p值上的函数值来得到。初始条件下一步定义网络要解决的问题。假定我53初始条件

在开始BP算法前,需要选择网络权值和偏置值的初始值。通常选择较小的随机值。下一章将讨论为什么要这样做。现在,选择的值

网络对这些初始值的响应如图所示,图中还包括要逼近的正弦函数的曲线。初始条件在开始BP算法前,需要选择网络权值和偏54初始条件初始条件55现在可以开始执行算法了。对初始输入,我们选择p=1:第一层的输出为前向传播现在可以开始执行算法了。对初始输入,我们选择56第二层的输出为误差将为

前向传播第二层的输出为前向传播57算法的下一阶段是反向传播敏感性值。在开始反向传播前需要先求传输函数的导数和。对第一层:反向传播算法的下一阶段是反向传播敏感性值。在开始反向传播前需要先求传58对第二层:

下面可以执行反向传播了。起始点在第二层。

反向传播对第二层:反向传播59第一层的敏感性由计算第二层的敏感性反向传播得到:

反向传播第一层的敏感性由计算第二层的敏感性反向传播得到:反向传播60

算法的最后阶段是更新权值。为简单起见,学习速度设为。权的修正算法的最后阶段是更新权值。为简单起见,学习速度61权的修正权的修正62

这就完成了BP算法的第一次迭代。下一步可以选择另一个输入,执行算法的第二次迭代过程。迭代过程一直进行下去,直到网络响应和目标函数之差达到某一可接受的水平。权的修正这就完成了BP算法的第一次迭代。下一步可以选择另一63接着讨论与反向传播法的实际实现相关的一些问题,包括网络结构的选择、网络收敛性和一般化的问题。1.网络结构的选择如本章前面所述,多层网络可用来逼近几乎任一个函数,只要在隐层中有足够的神经元。然而,通常并不能说,多少层或多少神经元就可以得到足够的性能。本节中我们通过一些例子来考察这个问题。反向传播应用接着讨论与反向传播法的实际实现相关的一些问题64第一个例子:假定要逼近如下的函数:

其中i取值1、2、4和8。随i的增加,函数变得更为复杂,在的区间内将有更多的正弦波周期。当i增加时,很难用隐层中神经元数目固定的神经网络来逼近g(p)。网络结构的选择第一个例子:假定要逼近如下的函数:网络结构的选择65

对这个例子,我们使用一个1-3-1网络,第一层的传输函数为“logsig”形,第二层的传输函数是线性函数。根据前面的函数逼近例子,这种两层网络的响应是三个“logsig”形函数之和(或多个logsig形函数之和,只要隐层中有同样多的神经元).

显然,对这个网络能实现的函数有多么复杂有一个限制。图6-18是网络经训练来逼近g(p)

(对i=1,2,4,8)后的响应曲线。最终的网络响应用图中画出的曲线来表示。网络结构的选择对这个例子,我们使用一个1-3-1网络,第66网络结构的选择1-3-1Networki=1i=2i=4i=8由于网络的能力受隐层中神经元数目的限制,尽管BP算法可以获得使均方误差最小化的网络参数,网络的响应却不能精确逼近所期望的函数。i=1i=2i=4i=8网络结构的选择1-3-1Networki=1i=67网络结构的选择

可以看到,对i=4,这个1-3-1网络达到了它的最大能力。当i>4时,网络不能生成g(p)精确的逼近曲线。从图右下方的图中可以看致1-3-1网络试图逼近i=8时的函数g(p)。网络的响应和g(p)之间的均方误差达到了最小化,但网络响应曲线只能与函数的一小部分相匹配。网络结构的选择可以看到,对i=4,这个168网络结构的选择

下一个例子中将从一个稍有些不同的角度来解决此问题。这次我们选择函数g(p)

,然后使用越来越大的网络直到能精确地逼近函数为止。g(p)采用

网络结构的选择下一个例子中将从一个稍有些不69网络结构的选择1-5-11-2-11-3-11-4-1网络的能力受隐层中神经元数目的限制。若要逼近有大量拐点的函数,隐层中就要有大量的神经元。通常不知道多少层或多少神经元就能得到足够的性能。网络结构的选择1-5-11-2-11-3-11-4-1网络70BP网络的局限性在人工神经网络的应用中,绝大部分的神经网络模型采用了BP网络及其变化形式,但这并不说明BP网络是尽善尽美的,其各种算法依然存在一定的局限性。BP网络的局限性主要有以下几个方面:BP网络的局限性在人工神经网络的应用中,绝大部分的神经网络模71BP网络的局限性(1)学习率与稳定性的矛盾梯度算法进行稳定学习要求的学习率较小,所以通常学习过程的收敛速度很慢。附加动量法通常比简单的梯度算法快,因为在保证稳定学习的同时,它可以采用很高的学习率,但对于许多实际应用,仍然太慢。以上两种方法往往只适用于希望增加训练次数的情况。如果有足够的存储空间,则对于中、小规模的神经网络通常可采用Levenberg—Marquardt算法;如果存储空间有问题,则可采用其他多种快速算法,例如对于大规模神经网络采用trainscg或trainrp更合适。BP网络的局限性(1)学习率与稳定性的矛盾72BP网络的局限性(2)学习率的选择缺乏有效的方法对于非线性网络,选择学习率也是一个比较困难的事情。对于线性网络,我们知道,学习率选择的太大,容易导致学习不稳定;反之学习率选择的太小,则可能导致无法忍受过长的学习时间。不同于线性网络,我们还没有找到一种简单易行的方法,选择学习率的问题。对于快速训练算法,其默认参数值通常留有裕量。BP网络的局限性(2)学习率的选择缺乏有效的方法73BP网络的局限性(3)训练过程可能陷于局部最小从理论上说,多层BP网络可以实现任意可实现的线性和非线性函数的映射,克服了感知器和线性神经网络的局限性。但在实际应用中,BP网络往往在训练过程中,也可能找不到某个具体问题的解,比如在训练过程中陷人局部最小的情况。当BP网络在训练过程中陷人误差性能函数的局部最小时,可通过改变其初始值,并经多次训练,以获得全局最小。BP网络的局限性(3)训练过程可能陷于局部最小74BP网络的局限性(4)没有确定隐层神经元数的有效方法如何确定多层神经网络隐层的神经元数也是一个很重要的问题,太少的隐层神经元会导致网络“欠适配”,太多的隐层神经元又会导致“过适配”。BP网络的局限性(4)没有确定隐层神经元数的有效方法7576ThankYou!76ThankYou!7677人工神经网络

(ArtificalNeuralNetwork)张凯副教授武汉科技大学计算机学院1人工神经网络

(ArtificalNeuralNetw7778第五章BP神经网络1.研究背景2.学习规则3.感知机结构4.感知机学习规则2第五章BP神经网络1.研究背景2.学习规则3.感78研究背景罗斯布莱特的感知机学习规则和伯纳德和玛西娅的LMS算法是设计用来训练单层的类似感知器的网络的。如前面几章所述,这些单层网络的缺点是只能解线性可分的分类问题。罗斯布莱特和伯纳德均意识到这些限制并且都提出了克服此类问题的方法:多层网络。但他们未将这类算法推广到用来训练功能更强的网络。研究背景罗斯布莱特的感知机学习规则和伯纳德和玛西娅的LMS79研究背景韦伯斯(Werbos)在他1974年博士的论文中第一次描述了训练多层神经网络的一个算法,论文中的算法是在一般网络的情况中描述的,而将神经网络作为一个特例。论文没有在神经网络研究圈子内传播。研究背景韦伯斯(Werbos)在他1974年博士的论文中第一80研究背景直到20世纪80年代中期,反向传播算法才重新被发现并广泛地宣扬,这个算法因被包括在《并行分布式处理》(ParallelDistributedProcessing)[RuMc86]一书中而得到普及,才使之成为迄今为止最著名的多层网络学习算法—BP算法,由此算法训练的神经网络,称之为BP神经网络。研究背景直到20世纪80年代中期,反向传播算法才重新被发81研究背景DavidRumelhartJ.McClelland研究背景DavidRumelhartJ.McClell82研究背景BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,80%-90%的人工神经网络模型是采用BP网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络最精彩的部分。研究背景BP网络广泛应用于函数逼近、模式识别/分类、数据压83异或问题x1x2y000110110110多层网络求解异或问题异或问题x1x2y000110110110多层网络求解异或问84输出函数:用一个简单的三层感知器就可得到解决多层网络求解异或问题输出函数:用一个简单的三层感知器就可得到解决多层网络求解异或85x1+x2+0.5=0x1+x2-1.5=00.7*y1-0.4y2-1=0多层网络求解异或问题x1+x2+0.5=0x1+x2-1.5=00.7*y1-086BP神经元及BP网络模型BP神经元及BP网络模型87BP神经元及BP网络模型BP神经元与其他神经元类似,不同的是BP神经元的传输函数为非线性函数,最常用的函数是logsig和tansig函数,其输出为:BP神经元及BP网络模型BP神经元与其他神经88BP神经元及BP网络模型BP神经元及BP网络模型89BP神经元及BP网络模型BP网络一般为多层神经网络。由BP神经元构成的二层网络如图所示,BP网络的信息从输入层流向输出层,因此是一种多层前馈神经网络。BP神经元及BP网络模型BP网络一般为多层神经网络。由BP神90BP神经元及BP网络模型如果多层BP网络的输出层采用S形传输函数(如logsig),其输出值将会限制在较小的范围内(0,l);用线性传输函数则可以取任意值。BP神经元及BP网络模型如果多层BP网络的输出层采用S形传91BP神经元及BP网络模型BP神经元及BP网络模型92前一层的输出是后一层的输入网络的输入网络的输出BP神经元及BP网络模型前一层的输出是后一层的输入网络的输入网络的输出BP神经93BP网络的学习在确定了BP网络的结构后,要通过输入和输出样本集对网络进行训练,亦即对网络的阈值和权值进行学习和修正,以使网络实现给定的输入/输出映射关系。BP网络的学习在确定了BP网络的结构后,要通94BP网络的学习BP网络的学习过程分为两个阶段:第一个阶段是输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出。第二个阶段是对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响(梯度),据此对各权值和阈值进行修改。BP网络的学习BP网络的学习过程分为两个阶段:95BP网络的学习以上两个过程反复交替,直到达到收敛为止。由于误差逐层往回传递,以修正层与层间的权值和阈值,所以称该算法为误差反向专播(errorbackpropagation)算法,这种误差反传学习算法可以推广到有若干个中间层的多层网络,因此该多层网络常称之为BP网络。BP网络的学习以上两个过程反复交替,直到达到收敛为96BP网络的学习标准的BP算法也是一种梯度下降学习算法,其权值的修正是沿着误差性能函数梯度的反方向进行的。针对标准BP算法存在的一些不足,出现了几种基于标准BP算法的改进算法,如变梯度算法、牛顿算法等。BP网络的学习标准的BP算法也是一种梯度下97函数逼近直到现在为止,在本书中看到的神经网络的应用多是在模式分类方面。神经网络在本质上也可被看作是函数逼近器。例如,在控制系统中,目标是要找到一个合适的反馈函数。函数逼近直到现在为止,在本书中看到的神经网络98应用举例求解函数逼近问题有21组单输入矢量和相对应的目标矢量,试设计神经网络来实现这对数组的函数关系2022/12/1799应用举例求解函数逼近问题2022/12/162399函数逼近它能将测量到的输出映射为控制输入。考虑图中的两层的1-2-1网络。

函数逼近它能将测量到的输出映射为控制输入。100函数逼近此例中,第一层的传输函数是logsig函数第二层的是线性函数。函数逼近此例中,第一层的传输函数是logsig函数101函数逼近

注意网络的响应包括两步,每一步对第一层中的一个logsig形神经元的响应。通过调整网络的参数,每一步的曲线形状和位置都可以发生改变,

如在下面讨论中将会见到的那样。函数逼近注意网络的响应包括两步,每一步对第一102函数逼近目标矢量相对于输入矢量的图形初始网络的输出曲线2022/12/17103函数逼近目标矢量相对于输入矢量的图形103函数逼近2022/12/17104训练1000次训练2000次函数逼近2022/12/1628训练1000次104函数逼近2022/12/17105训练3000次训练5000次函数逼近2022/12/1629训练3000次105函数逼近从这个例子中,可以看到多层网络的灵活性。看起来,只要在隐层中有足够数量的神经元,我们可以用这样的网络来逼近几乎任何一个函数。事实上,研究已表明两层网络在其隐层中使用S形传输函数,在输出层中使用线性传输函数,就几乎可以以任意精度逼近任何感兴趣的函数,只要隐层中有足够的单元可用(

[Host89])。函数逼近从这个例子中,可以看到多层网络的灵活106函数逼近我们已经有了对多层感知机网络在模式识别和函数逼近中的能力一些概念,下一步是要设计一个算法来训练这样的网络。函数逼近我们已经有了对多层感知机网络在模式识107反向传播算法反向传播算法108反向传播算法

如前所述,多层网络中某一层的输出成为下一层的输入。描述此操作的等式为:

这里,M是网络的层数。第一层的神经元从外部接收输入:

它是等式的起点。最后一层神经元的输出是网络的输出:

反向传播算法如前所述,多层网络中某一层的输出109多层网络的BP算法是LMS算法的推广。两个算法均使用相同的性能指数:均方误差。算法的输入是一个网络正确行为的样本集合:这里是网络的输入,是对应的目标输出。每输入一个样本,便将网络输出与目标输出相比较。算法将调整网络参数以使均方误差最小化:性能指数多层网络的BP算法是LMS算法的推广。两个算法均使用相同110近似误差的最速下降法为,这里是学习速度。性能指数这里,x是网络权值和偏置值的向量。若网络有多个输出,则上式的一种形式为:这里,均方误差的期望值被第k次迭代时的均方误差所代替。近似误差的最速下降法为,这里是学习速度。性能指数111敏感性的反向传播现在还需要计算敏感性,正是这个过程给出了反向传播这个词,因为它描述了第m层的敏感性通过第m+1层的敏感性来计算的递推关系。敏感性的反向传播现在还需要计算敏感性,正是这112误差不是隐层中的权值的显式函数

偏导数不易求得链法则误差不是隐层中的权值的显式函数

偏导数不易求得链法则113链法则计算隐层偏导数设有一个函数f,它是变量n的显示函数。函数n是w的显示函数。现在球f关于第三个变量w的导数。若链法则链法则计算隐层偏导数设有一个函数f,它是变量n的显示函数。114梯度计算梯度计算115梯度计算敏感性梯度梯度计算敏感性梯度116最速下降最速下降117Jacobian矩阵Jacobian矩阵118Jacobian矩阵Jacobian矩阵119Jacobian矩阵Jacobian矩阵120反向传播(敏感性)现在我们可以看到反向传播算法得名的原因了。敏感性从最后一层通过网络被反向传播到第一层:反向传播(敏感性)现在我们可以看到反向传播算法得名的原因了121初始化(最后一层)初始化(最后一层)122第一步,通过网络将输入向前传播BP算法总结第一步,通过网络将输入向前传播BP算法总结123下一步,通过网络将敏感性反向传播BP算法总结下一步,通过网络将敏感性反向传播BP算法总结124最后,使用最速下降法更新权值和偏置值BP算法总结最后,使用最速下降法更新权值和偏置值BP算法总结125BP算法总结BP算法总结1261-2-1Network+-taep例子:函数逼近1-2-1+-taep例子:函数逼近127网络1-2-1Networkap网络1-2-1ap128初始条件

下一步定义网络要解决的问题。假定我们用此网络来逼近函数

训练集可以通过计算函数在几个p值上的函数值来得到。初始条件下一步定义网络要解决的问题。假定我129初始条件

在开始BP算法前,需要选择网络权值和偏置值的初始值。通常选择较小的随机值。下一章将讨论为什么要这样做。现在,选择的值

网络对这些初始值的响应如图所示,图中还包括要逼近的正弦函数的曲线。初始条件在开始BP算法前,需要选择网络权值和偏130初始条件初始条件131现在可以开始执行算法了。对初始输入,我们选择p=1:第一层的输出为前向传播现在可以开始执行算法了。对初始输入,我们选择132第二层的输出为误差将为

前向传播第二层的输出为前向传播133算法的下一阶段是反向传播敏感性值。在开始反向传播前需要先求传输函数的导数和。对第一层:反向传播算法的下一阶段是反向传播敏感性值。在开始反向传播前需要先求传134对第二层:

下面可以执行反向传播了。起始点在第二层。

反向传播对第二层:反向传播135第一层的敏感性由计算第二层的敏感性反向传播得到:

反向传播第一层的敏感性由计算第二层的敏感性反向传播得到:反向传播136

算法的最后阶段是更新权值。为简单起见,学习速度设为。权的修正算法的最后阶段是更新权值。为简单起见,学习速度137权的修正权的修正138

这就完成了BP算法的第一次迭代。下一步可以选择另一个输入,执行算法的第二次迭代过程。迭代过程一直进行下去,直到网络响应和目标函数之差达到某一可接受的水平。权的修正这就完成了BP算法的第一次迭代。下一步可以选择另一139接着讨论与反向传播法的实际实现相关的一些问题,包括网络结构的选择、网络收敛性和一般化的问题。1.网络结构的选择如本章前面所述,多层网络可用来逼近几乎任一个函数,只要在隐层中有足够的神经元。然而,通常并不能说,多少层或多少神经元就可以得到足够的性能。本节中我们通过一些例子来考察这个问题。反向传播应用接着讨论与反向传播法的实际实现相关的一些问题140第一个例子:假定要逼近如下的函数:

其中i取值1、2、4和8。随i的增加,函数变得更为复杂,在的区间内将有更多的正弦波周期。当i增加时,很难用隐层中神经元数目固定的神经网络来逼近g(p)。网络结构的选择第一个例子:假定要逼近如下的函数:网络结构的选择141

对这个例子,我们使用一个1-3-1网络,第一层的传输函数为“logsig”形,第二层的传输函数是线性函数。根据前面的函数逼近例子,这种两层网络的响应是三个“logsig”形函数之和(或多个logsig形函数之和,只要隐层中有同样多的神经元).

显然,对这个网络能实现的函数有多么复杂有一个限制。图6-18是网络经训练来逼近g(p)

(对i=1,2,4,8)后的响应曲线。最终的网络响应用图中画出的曲线来表示。网络结构的选择对这个例子,我们使用一个1-3-1网络,第142网络结构的选择1-3-1Networki=1i=2i=4i=8由于网络的能力受隐层中神经元数目的限制,尽管BP算法可以获得使均方误差最小化的网络参数,网络的响应却不能精确逼近所期望的函数。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论