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

下载本文档

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

文档简介

1、1人工神经网络(Artifical Neural Network)张凯 副教授武汉科技大学 计算机学院2第五章 BP神经网络1. 研究背景2. 学习规则3. 感知机结构4. 感知机学习规则研究背景罗斯布莱特的感知机学习规则和伯纳德和玛西娅的 LMS 算法是设计用来训练单层的类似感知器的网络的。如前面几章所述,这些单层网络的缺点是只能解线性可分的分类问题。罗斯布莱特和伯纳德均意识到这些限制并且都提出了克服此类问题的方法:多层网络。但他们未将这类算法推广到用来训练功能更强的网络。研究背景韦伯斯(Werbos)在他1974年博士的论文中第一次描述了训练多层神经网络的一个算法,论文中的算法是在一般网络

2、的情况中描述的,而将神经网络作为一个特例。论文没有在神经网络研究圈子内传播。研究背景直到20 世纪80 年代中期,反向传播算法才重新被发现并广泛地宣扬,这个算法因被包括在并行分布式处理(Parallel Distributed Processing)RuMc86一书中而得到普及,才使之成为迄今为止最著名的多层网络学习算法BP 算法,由此算法训练的神经网络,称之为BP 神经网络。研究背景David Rumelhart J. McClelland 研究背景BP 网络广泛应用于函数逼近、模式识别/分类、数据压缩等,80% -90%的人工神经网络模型是采用BP网络或它的变化形式,它也是前馈网络的核心部

3、分,体现了人工神经网络最精彩的部分。异或问题x1x2y000110110110多层网络求解异或问题输出函数:用一个简单的三层感知器就可得到解决多层网络求解异或问题x1+x2+0.5=0 x1+x2-1.5=00.7*y1-0.4y2-1=0多层网络求解异或问题BP神经元及BP网络模型BP神经元及BP网络模型 BP神经元与其他神经元类似,不同的是BP神经元的传输函数为非线性函数,最常用的函数是logsig 和tansig函数,其输出为:BP神经元及BP网络模型BP神经元及BP网络模型BP网络一般为多层神经网络。由BP神经元构成的二层网络如图所示,BP网络的信息从输入层流向输出层,因此是一种多层前

4、馈神经网络。BP神经元及BP网络模型如果多层BP 网络的输出层采用S形传输函数(如logsig),其输出值将会限制在较小的范围内(0,l);用线性传输函数则可以取任意值。BP神经元及BP网络模型前一层的输出是后一层的输入 网络的输入 网络的输出 BP神经元及BP网络模型BP网络的学习 在确定了BP网络的结构后,要通过输入和输出样本集对网络进行训练,亦即对网络的阈值和权值进行学习和修正,以使网络实现给定的输入/输出映射关系。BP网络的学习BP 网络的学习过程分为两个阶段: 第一个阶段是输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出。 第二个阶段

5、是对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响(梯度),据此对各权值和阈值进行修改。BP网络的学习 以上两个过程反复交替,直到达到收敛为止。由于误差逐层往回传递,以修正层与层间的权值和阈值,所以称该算法为误差反向专播(error back propagation)算法,这种误差反传学习算法可以推广到有若干个中间层的多层网络,因此该多层网络常称之为BP 网络。BP网络的学习 标准的BP 算法也是一种梯度下降学习算法,其权值的修正是沿着误差性能函数梯度的反方向进行的。针对标准BP 算法存在的一些不足,出现了几种基于标准BP算法的改进算法,如变梯度算法、牛顿算法等。函数逼近 直

6、到现在为止,在本书中看到的神经网络的应用多是在模式分类方面。神经网络在本质上也可被看作是函数逼近器。例如,在控制系统中,目标是要找到一个合适的反馈函数。应用举例求解函数逼近问题有21组单输入矢量和相对应的目标矢量,试设计神经网络来实现这对数组的函数关系2022/7/2223函数逼近 它能将测量到的输出映射为控制输入。 考虑图中的两层的1 -2 -1网络。 函数逼近此例中,第一层的传输函数是logsig函数第二层的是线性函数。函数逼近 注意网络的响应包括两步,每一步对第一层中的一个logsig形神经元的响应。通过调整网络的参数,每一步的曲线形状和位置都可以发生改变 , 如在下面讨论中将会见到的那

7、样。函数逼近目标矢量相对于输入矢量的图形 初始网络的输出曲线 2022/7/2227函数逼近2022/7/2228训练1000次 训练2000次函数逼近2022/7/2229训练3000次 训练5000次函数逼近 从这个例子中,可以看到多层网络的灵活性。看起来,只要在隐层中有足够数量的神经元,我们可以用这样的网络来逼近几乎任何一个函数。 事实上,研究已表明两层网络在其隐层中使用S形传输函数,在输出层中使用线性传输函数,就几乎可以以任意精度逼近任何感兴趣的函数,只要隐层中有足够的单元可用( Host89)。函数逼近 我们已经有了对多层感知机网络在模式识别和函数逼近中的能力一些概念,下一步是要设计

8、一个算法来训练这样的网络。反向传播算法反向传播算法 如前所述,多层网络中某一层的输出成为下一层的输入。描述此操作的等式为: 这里,M是网络的层数。第一层的神经元从外部接收输入: 它是等式的起点。最后一层神经元的输出是网络的输出: 多层网络的BP算法是 LMS 算法的推广。两个算法均使用相同的性能指数:均方误差。算法的输入是一个网络正确行为的样本集合:这里是网络的输入,是对应的目标输出。每输入一个样本,便将网络输出与目标输出相比较。算法将调整网络参数以使均方误差最小化:性能指数 近似误差的最速下降法为,这里 是学习速度。性能指数 这里,x是网络权值和偏置值的向量。若网络有多个输出,则上式的一种形

9、式为:这里,均方误差的期望值被第k次迭代时的均方误差所代替。敏感性的反向传播 现在还需要计算敏感性,正是这个过程给出了反向传播这个词,因为它描述了第m层的敏感性通过第m+1层的敏感性来计算的递推关系。误差不是隐层中的权值的显式函数偏导数不易求得链法则链法则计算隐层偏导数设有一个函数 f,它是变量n的显示函数。函数n是w的显示函数。现在球 f 关于第三个变量w的导数。若链法则梯度计算梯度计算敏感性梯度最速下降Jacobian矩阵Jacobian矩阵Jacobian矩阵反向传播(敏感性) 现在我们可以看到反向传播算法得名的原因了。敏感性从最后一层通过网络被反向传播到第一层:初始化(最后一层) 第一

10、步,通过网络将输入向前传播BP算法总结下一步,通过网络将敏感性反向传播BP算法总结最后,使用最速下降法更新权值和偏置值BP算法总结BP算法总结1-2-1Network+-taep例子: 函数逼近 网络1-2-1Networkap初始条件 下一步定义网络要解决的问题。假定我们用此网络来逼近函数 训练集可以通过计算函数在几个 p值上的函数值来得到。初始条件 在开始BP算法前,需要选择网络权值和偏置值的初始值。通常选择较小的随机值。下一章将讨论为什么要这样做。现在,选择的值 网络对这些初始值的响应如图所示,图中还包括要逼近的正弦函数的曲线。初始条件 现在可以开始执行算法了。对初始输入,我们选择p=1

11、 :第一层的输出为前向传播 第二层的输出为误差将为 前向传播 算法的下一阶段是反向传播敏感性值。在开始反向传播前需要先求传输函数的导数 和 。对第一层:反向传播 对第二层: 下面可以执行反向传播了。起始点在第二层。 反向传播 第一层的敏感性由计算第二层的敏感性反向传播得到: 反向传播 算法的最后阶段是更新权值。为简单起见,学习速度设为 。权的修正 权的修正 这就完成了BP算法的第一次迭代。下一步可以选择另一个输入,执行算法的第二次迭代过程。迭代过程一直进行下去,直到网络响应和目标函数之差达到某一可接受的水平。权的修正 接着讨论与反向传播法的实际实现相关的一些问题,包括网络结构的选择、网络收敛性

12、和一般化的问题。1.网络结构的选择 如本章前面所述,多层网络可用来逼近几乎任一个函数,只要在隐层中有足够的神经元。然而,通常并不能说,多少层或多少神经元就可以得到足够的性能。本节中我们通过一些例子来考察这个问题。反向传播应用第一个例子:假定要逼近如下的函数: 其中 i 取值1、2、4 和8 。随 i 的增加,函数变得更为复杂,在 的区间内将有更多的正弦波周期。当 i 增加时,很难用隐层中神经元数目固定的神经网络来逼近g(p) 。网络结构的选择 对这个例子,我们使用一个1-3-1 网络,第一层的传输函数为 “logsig”形,第二层的传输函数是线性函数。根据前面的函数逼近例子,这种两层网络的响应

13、是三个 “logsig”形函数之和(或多个logsig形函数之和,只要隐层中有同样多的神经元). 显然,对这个网络能实现的函数有多么复杂有一个限制。图618是网络经训练来逼近g(p)(对 i = 1,2,4,8)后的响应曲线。最终的网络响应用图中画出的曲线来表示。网络结构的选择 网络结构的选择 1-3-1 Networki = 1i = 2i = 4i = 8由于网络的能力受隐层中神经元数目的限制,尽管BP算法可以获得使均方误差最小化的网络参数,网络的响应却不能精确逼近所期望的函数。 i=1i=2i=4i=8网络结构的选择 可以看到,对 i=4,这个1-3-1网络达到了它的最大能力。当 i4

14、时,网络不能生成g(p)精确的逼近曲线。从图右下方的图中可以看致1-3-1网络试图逼近i=8时的函数g(p) 。 网络的响应和g(p)之间的均方误差达到了最小化,但网络响应曲线只能与函数的一小部分相匹配。 网络结构的选择 下一个例子中将从一个稍有些不同的角度来解决此问题。这次我们选择函数g(p) ,然后使用越来越大的网络直到能精确地逼近函数为止。 g(p) 采用 网络结构的选择 1-5-11-2-11-3-11-4-1网络的能力受隐层中神经元数目的限制。若要逼近有大量拐点的函数,隐层中就要有大量的神经元。通常不知道多少层或多少神经元就能得到足够的性能。 BP网络的局限性在人工神经网络的应用中,

15、绝大部分的神经网络模型采用了BP网络及其变化形式,但这并不说明BP网络是尽善尽美的,其各种算法依然存在一定的局限性。BP 网络的局限性主要有以下几个方面:BP网络的局限性(1) 学习率与稳定性的矛盾 梯度算法进行稳定学习要求的学习率较小,所以通常学习过程的收敛速度很慢。附加动量法通常比简单的梯度算法快,因为在保证稳定学习的同时,它可以采用很高的学习率,但对于许多实际应用,仍然太慢。以上两种方法往往只适用于希望增加训练次数的情况。如果有足够的存储空间,则对于中、小规模的神经网络通常可采用LevenbergMarquardt 算法;如果存储空间有问题,则可采用其他多种快速算法,例如对于大规模神经网络采用trainscg 或trainrp 更合适。BP网络的局限性(2) 学习率的选择缺乏有效的方法 对于非线性网络,选择学习率也是一个比较困难的事情。对于线性网络,我们知道,学习率选择的太大,容易导致学习不稳定;反之学习率选择的太小,则可能导致无法忍受过长的学习时间。不同于线性网络,我们还没有找到一种简单易行的方法,选择学习率的问题。对于快速训练算法,其默认参数值通常留有裕量。BP网络的局限性(3) 训练过程可能陷于局部最小 从理论上说,多层BP网络可以实现

温馨提示

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

评论

0/150

提交评论