神经网络——BP算法

上传人:gu****n 文档编号:243414800 上传时间:2024-09-22 格式:PPT 页数:79 大小:3.99MB
返回 下载 相关 举报
神经网络——BP算法_第1页
第1页 / 共79页
神经网络——BP算法_第2页
第2页 / 共79页
神经网络——BP算法_第3页
第3页 / 共79页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章,7.2,典型神经网络,-BP,反向传播网络,BackPropagation Network,,由于其权值的调整采用反向传播(,Backpropagation,),的学习算法,因此被称为,BP,网络。,BP,网络,是一种单向传播的多层前向网络,其神经元的变换函数是,S,型函数,因此输出量为0到1之间的连续量,它可以对非线性可微分函数进行权值训练,从而实现输入到输出的任意的非线性映射。,网络中心思想是梯度下降法,通过梯度搜索技术,使网络实际输出值与期望输出值的误差均方值最小。,网络的学习过程是一种误差边向后传播边修正权系数的过程,7.2.2,BP,网络结构,BP,神经网络模型结构,输入层,隐层,输出层,输 入,输 出,BP,网络是一种多层前向神经网络,一般分三层:输入层,隐层,输出层,也可以有,2,层或更多个隐层。,层与层,之间采用全互联方式,同一层单元之间不存在相互连接。,1,)输入层单元无转换函数,直接接收信号传给下一层,所以有些书不认为输入层是一个网络层。,2,)在一般情况下,均是在隐含层采用,S,型激活函数,而输出层采用线性激活函数。,x,1,x,2,x,n,y,1,y,p,只有当希望对网络的输出进行限制,如限制在,0,和,1,之间,那么则在输出层包含,S,型激活函数,BP,网络特点,是多层网络,包括输入层、隐层和输出层,层与层之间采用全互连方式,同一层神经元之间不连接,权值通过学习算法进行调节,神经元激发函数为,S,函数,层与层的连接是单向的,信息传播是双向的,感知机网络利用输出误差只能修改最后一层的权值,而,BP,网络实现了多层学习,每一层的权值均可训练学习修改。,BP,学习规则,BP,算法属于,算法,是一种监督式的学习算法。,其主要思想为:,对于,q,个输入学习样本:,P,1,,P,2,,,P,q,,,已知与其对应的输出样本为:,T,1,,T,2,,,T,q,。,学习的目的:,是用网络的实际输出,A,1,,A,2,,,A,q,与目标矢量,T,1,,T,2,,,T,q,之间的误差来修改其权值,使,A,l,(ll,2,q),与期望的,T,l,尽可能地接近;,即:,使网络输出层的误差平方和达到最小。,BP,算法的学习过程由,正向传播,和,反向传播,组成,BP,算法是由两部分组成:信息的正向传递与误差的反向传播。,在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。,如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。,BP,网络用途,1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近个函数;,2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来;,3)分类:把输入矢量以所定义的合适方式进行分类;,4)数据压缩:减少输出矢量维数以便于传输或存储。,BP,网络的逼近,用于逼近的,BP,网络,前向传播:计算网络输出,输出层输出,隐层输出采用,S,函数,隐层输入:,BP,网络逼近仿真,Chap7_1.m,设计的网络结构为,2-6-1,;,权值,w1,w2,的初值取,-1,+1,之间的随机值,,取,初始化,加输入和期望输出,计算隐层和输出层的输出,迭代次数加,1,调节输出层和隐层的连接权值,改变训练样板,训练样终止?,迭代终止?,BP,算法的基本流程,No,No,y,y,BP,网络模式识别,一、,由于神经网络具有自学习、自组织和并行处理等特征,并具有很强的容错能力和联想能力,因此,神经网络具有模式识别能力。,在神经网络识别中,根据标准的输入输出模式对,采用神经网络学习算法,以标准的模式作为学习样本进行训练,通过学习调整神经网络的连接权值。,当训练满足要求后,得到知识库,利用神经网络并行推理算法便可对所需的输入模式进行识别。,BP,网络的训练过程,为了训练一个,BP,网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求得误差平方和。,当所训练矢量的误差平方和小于误差目标,训练则停止,否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,并重复此过程。,当网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将给出输出结果。,为了能够较好地掌握,BP,网络的训练过程,我们再用两层网络为例来叙述,BP,网络的训练步骤。,1)用小的随机数对每一层的权值,W,初始化,以保证网络不被大的加权输入饱和;,2)计算网络各层输出矢量,A1,和,A2,以及网络误差,E,3)计算各层反传的误差变化并计算各层权值的修正值以及新权值,4)再次计算权值修正后误差平方和:,5),检查误差是否小于给定误差,若是,训练结束;否则继续。,以上所有的学习规则与训练的全过程,仍然可以用函数,trainbp.m,来完成。它的使用同样只需要定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率,而调用后返回训练后权值,循环总数和最终误差:,TPdisp_freq,max_epoch err_goal 1r;,W,B,epochs,errorstrainbp(W,B,F,P,T,TP,);,基于,BP,算法的多层前馈网络用图像压缩编码,Ackley,和,Hinton,等人1985年提出了利用多层前馈神经网络的模式变换能力实现数据编码的基本思想。,其原理是,把一组输入模式通过少量的隐层节点映射到一组输出模式,并使输出模式等同于输入模式。当中间隐层的节点数比输入模式维数少时,就意味着隐层能更有效的表现输入模式,并把这种表现传给输出层。在这个过程中,输入层和隐层的变换可以看成是压缩编码的过程;而隐层和输出层的变换可以看成是解码过程。,用多层前馈网实现图像数据压缩时,只需一个隐层,如图,原图像,n,n,重建图像,n,n,输入层和输出层均含有,n*n,个,神经元,每个神经元对应于,n*n,图像分块中的一个像素。隐层神经元的数量由图像压缩比决定,如,n=16,时,取隐层神经元数为,m=8,,则可将256像素的图像块压缩为像素。,通过调整权值使训练集图像的重建误差达到最小。训练后的网络就可以用来执行图像的数据压缩任务了,此时隐层输出向量便是数据压缩结果,而输出层的输出向量便是图像重建的结果。,黑白图像的边缘检测:,分析,BP,网络结构特点:,1. BP,网络具有一层或多层隐含层,与其他网络模型除了结构不同外,主要差别表现在激活函数上。,BP,网络的设计,2. BP,网络的激活函数必须是处处可微的,所以它就不能采用二值型的阀值函数0,1或符号函数1,1,,BP,网络经常使用的是,S,型的对数或正切激活函数和线性函数。,3.,只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含,S,型激活函数,在一般情况下,均是在隐含层采用,S,型激活函数,而输出层采用线性激活函数。,4,、输入和输出是并行的模拟量;,5,、网络的输入输出关系是各层连接的权因子决定,没有固定的算法;,6,、权因子是通过学习信号调节的,这样学习越多,网络越聪明;,7,、隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响,BP,网络的设计,1 网络的层数:,理论上已经证明:具有偏差和至少一个,S,型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。,增加层数主要可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。,一般情况下,应优先考虑增加隐含层中的神经元数。,能不能仅用具有非线性激活函数的单层网络来解决问题呢?结论是:没有必要或效果不好。,2 隐含层的神经元数,网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐含层要简单得多。,在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。,3)初始权值的选取,一般取初始权值在(,-,1,1)之间的随机数。,在,MATLAB,工具箱中可采用函数,initff.m,来初始化权值阈值。,由于每次训练时都对权值进行随机初始化,,,所以每次训练得到的网络权值都是不一样的。,4 学习速率,学习速率决定每一次循环训练中所产生的权值变化量。,大的学习速率可能导致系统的不稳定。,小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。,所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在00108之间。,5 期望误差的选取,在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值。,这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定,因为较小的期望误差值是要靠增加隐含层的节点,以及训练时间来获得的。,一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络。,BP,网络的局限与不足,(1),需要较长的训练时间,因为涉及到求导的运算,需要的时间较长,(2),训练瘫痪问题,通常为了避免这种现象的发生,一是选取较小的初始权值,二是采用较小的学习速率,但这又增加了训练时间。,(3),局部极小值,BP,算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。,W,E,W,初始值不合适时,可能落入局部极小值。,7.2.11 反向传播法的改进方法,目标:为了加快训练速度,避免陷入局部极小值。,1 附加动量法,附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,其作用如同一个低通滤波器,它允许网络忽略网络上的微小变化特性。,利用附加动量的作用则有可能滑过局部极小值。,该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生新的权值变化。,附加动量法的实质是将最后一次权值变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值变化则是设置为最后一次权值的变化,而依梯度法产生的变化部分则被忽略掉了。,2 误差函数的改进,包穆(,Baum),等人于1988年提出一种误差函数为:,不会产生不能完全训练的瘫痪现象。,3 自适应学习速率,学习率,也称步长,在标准,BP,算法中定为常数,然而在实际应用中,很难确定一个从始至终都合适的最佳学习率,从误差曲面可以看出,平坦区域内,太小会使训练次数增加而希望增大,值;而在误差变化剧烈的区域,,太大会因调整量过大而跨过较宰的“坑凹”处,使训练出现振荡,反而使迭代次数增加。,为了加速收敛过程,一个较好的思路是自适应改变学习率,使其该大时增大,该小时减小。,通常调节学习速率的准则是:检查权值的修正值是否真正降低了误差函数,如果确实如此,则说明所选取的学习速率值小了,可以对其增加一个量;若不是这样,而产生了过调,那么就应该减小学习速率的值。下式给出了一种自适应学习速率的调整公式:,MATLAB,工具箱中带有自适应学习速率进行反向传播训练的函数为:,trainbpa.m,。,它可以训练直至三层网络。,使用方法为:,W,B,epochs,TEtrainbpa(W,B,F,P,T,TP,),可以将动量法和自适应学习速率结合起来以利用两方面的优点。这个技术已编入了函数,trainbpx.m,之中。这个函数的调用和其他函数一样,只是需要更多的初始参数而已:,TPdisp_freq,max_epoch error_goal,lr,1r_inc 1r_dec mom_const err_ratio;,W,B,epochs,error;,lrtrainbpx(W,B,F,P,T,TP,),本章小结,1)反向传播法可以用来训练具有可微激活函数的多层前向网络以进行函数逼近,模式分类等工作;,2)反向传播网络的结构不完全受所要解决的问题所限制。网络的输入神经元数目及输出层神经元的数目是由问题的要求所决定的,而输入和输出层之间的隐含层数以及每层的神经元数是由设计者来决定的;,3)已证明,两层,S,型线性网络,如果,S,型层有足够的神经元,则能够训练出任意输入和输出之间的有理函数关系;,4)反向传播法沿着误差表面的梯度下降,使网络误差最小,网络有可能陷入局部极小值;,5)附加动量法使反向传播减少了网络在误差表面陷入低谷的可能性并有助于减少训练时间;,6)太大的学习速率导致学习的不稳定,太小值又导致极长的训练时间。自适应学习速率通过在保证稳定训练的前提下,达到了合理的高速率,可以减少训练时间;,7)8090的实际应用都是采用反向传播网络的。改进技术可以用来使反向传播法更加容易实现并需要更少的训练时间。,1985,年,Powell,提出多变量插值的径向基函数(,Radial Basis Function, RBF),方法;,1988,年,Broomhead&Lowe,将,RBF,应用于神经网络,7.3,RBF,神经网络,RBF,网络径向基函数网络(,Radial Basis Function ,,简称,RBFNN),x,1,x,2,x,n,y,1,y,p,输 入,输 出,是一种三层前馈网络,网络特点:,)结构相对简单,)在参数(节点数,,),选择合适时,收敛速度快,三层,输入层,隐层神经元函数多采用高斯函数,输出层线性神经元函数,构成,RBF,网络的基本思想:,1,)用,RBF,作为隐单元的“基”构成隐含层空间,将输入矢量直接映射到隐空间(不通过权连接);,2,)网络输出时隐单元输出的线性加权和,(通过权连接可调参数),输入 隐层 输出,非线性 线性,(高斯核函数),c,该激活函数具有局部感受能力,只有输入落入某个范围内,才有明显输出,不象,BP,,输入在(,,,)均有输出。,隐含层节点核函数作用:,对输入信号在局部产生响应,网络输出,采用高斯基函数的优点:,1,)表示形式简单,2,)径向对称,3,)光滑性好,任意阶导数存在,4,)便于进行理论分析,学习过程分为两个阶段:,第一阶段,无教师学习(根据样本决定隐含层各节点的高斯核函数的中心向量,c,i,和标准化常数,b,i,),第二阶段,有教师学习(求权值,w,ki,),RBF,网络的学习算法:,)无教师(监督)学习修改,j,,,j,),有教师(监督)学习修改,w,j,,,j,无教师学习阶段,将训练样本集中的输入向量分为若干族,在每个数据族内找出一个径向基函数中心向量,使得该族内各样本向量距该族中心的距离最小,算法步骤:,1,)给定初始中心向量和判定停止计算的,2,)计算距离并求最小距离节点,3,)调整中心,4,)判定聚类质量,BP,全局逼近的神经网络,RBF,局部逼近的神经网络,BP,算法:在函数逼近时,采用负梯度下降法调节权值,缺点:收敛速度慢;局部极小值,RBF,算法:按时间片训练网络,局部逼近,可以以任意精度逼近任一连续函数。,BP,与,RBF,结构的区别:,隐含层,激发函数,RBF,结构:,具有单隐含层的两层前向网络,,隐含层的激发函数:,RBF,结构比较,反传(,BP,)网络的结构图,一个输入层,一个输出层,多个隐层。,j,p,p1,x,p1,x,pn,t,pk,t,pm,O,p1,O,pn,O,p2,隐层,w,j1,w,jn,输入层,隐层,输出层,信息流,pm,激发函数:,S,函数,RBF,网络有关问题,RBF,与,BP,主要不同点在非线性映射上采用了不同的作用函数,RBF,网络具有唯一最佳逼近,无局部极小,RBF,网络难点在于中心向量和标准化常数的求解,如何选择合适径向基函数,如何确定隐节点数无解决办法,由于隐节点的中心难求,影响其发展推广,RBF,学习速度快,适于在线实时控制,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!