人工神经网络讲稿ch47357.pptx
第第4章章BP网络网络 主要内容:主要内容:BP网络的构成网络的构成隐藏层权的调整分析隐藏层权的调整分析Delta规那么理论推导规那么理论推导算法的收敛速度及其改进讨论算法的收敛速度及其改进讨论BP网络中的几个重要问题网络中的几个重要问题重点:重点:BP算法算法难点:难点:Delta规那么的理论推导规那么的理论推导3/8/20231第一页,共四十四页。4.1概述概述 1、BP算法的出现算法的出现非循环多级网络的训练算法非循环多级网络的训练算法UCSDPDP小小组组的的Rumelhart、Hinton和和Williams1986年年独独立立地地给出了给出了BP算法清楚而简单的描述算法清楚而简单的描述1982年,年,Paker就完成了相似的工作就完成了相似的工作1974年,年,Werbos已提出了该方法已提出了该方法2、弱弱点点:训训练练速速度度非非常常慢慢、局局部部极极小小点点的的逃逃离离问问题题、算算法不一定收敛法不一定收敛3、优点:、优点:广泛的适应性和有效性。广泛的适应性和有效性。3/8/20232第二页,共四十四页。4.2根本根本BP算法算法4.2.1网络的构成网络的构成 神经元的网络输入:神经元的网络输入:neti=x1w1i+x2w2i+xnwni神经元的输出:神经元的输出:3/8/20233第三页,共四十四页。输出函数分析输出函数分析0.5f(net)0.25o011(0,0.5)net(0,0)o应应该该将将netnet的的值值尽尽量量控控制制在在收收敛敛比比较较快快的的范范围围内内可可以以用用其其它它的的函函数数作作为为激激活活函函数数,只只要要该该函函数数是处处可导的是处处可导的3/8/20234第四页,共四十四页。网络的拓扑结构网络的拓扑结构x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnW(1)W(2)W(3)W(L)3/8/20235第五页,共四十四页。网络的拓扑结构网络的拓扑结构 1.BP网的结构网的结构2.2.输输入入向向量量、输输出出向向量量的的维维数数、网网络络隐隐藏藏层层的层数和各个隐藏层神经元的个数的决定的层数和各个隐藏层神经元的个数的决定3.3.实实验验:增增加加隐隐藏藏层层的的层层数数和和隐隐藏藏层层神神经经元元个个数数不不一一定定总总能能够够提提高高网网络络精精度度和和表表达达能能力力4.4.BPBP网一般都选用二级网络网一般都选用二级网络3/8/20236第六页,共四十四页。网络的拓扑结构网络的拓扑结构x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnWV3/8/20237第七页,共四十四页。4.2.2训练过程概述训练过程概述 样本:样本:(输入向量,理想输出向量输入向量,理想输出向量)权初始化:权初始化:“小随机数与饱和状态;小随机数与饱和状态;“不不同保证网络可以学。同保证网络可以学。1、向前传播阶段:、向前传播阶段:1从样本集中取一个样本从样本集中取一个样本(Xp,Yp),将,将Xp输入网络;输入网络;2计算相应的实际输出计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L)3/8/20238第八页,共四十四页。4.2.2训练过程概述训练过程概述 2 2、向后传播阶段、向后传播阶段误差传播阶段:误差传播阶段:1 1计计算算实实际际输输出出OpOp与与相相应应的的理理想想输输出出YpYp的的差;差;2 2按极小化误差的方式调整权矩阵。按极小化误差的方式调整权矩阵。3 3网络关于第网络关于第p p个样本的误差测度:个样本的误差测度:4网络关于整个样本集的误差测度:网络关于整个样本集的误差测度:3/8/20239第九页,共四十四页。4.2.3误差传播分析误差传播分析 1、输出层权的调整、输出层权的调整wpq=wpq+wpqwpq=qop=fn(netq)(yq-oq)op=oq(1-oq)(yq-oq)op wpqANpANq第第L-1层层第第L层层wpq3/8/202310第十页,共四十四页。2 2、隐藏层权的调整、隐藏层权的调整 ANpANqANhvhppk-11kwp1wpqqkwpmmk第第k-2层层第第k层层第第k-1层层3/8/202311第十一页,共四十四页。2 2、隐藏层权的调整、隐藏层权的调整pk-1的值和的值和1k,2k,mk有关有关不妨认为不妨认为pk-1通过权通过权wp1对对1k做出奉献,做出奉献,通过权通过权wp2对对2k做出奉献,做出奉献,通过权通过权wpm对对mk做出奉献。做出奉献。pk-1=fk-1(netp)(wp11k+wp22k+wpmmk)3/8/202312第十二页,共四十四页。2 2、隐藏层权的调整、隐藏层权的调整vhp=vhp+vhpvhp=pk-1ohk-2=fk-1(netp)(wp11k+wp22k+wpmmk)ohk-2=opk-1(1-opk-1)(wp11k+wp22k+wpmmk)ohk-2ANpANqANhvhppk-11kwp1wpmqkwpqmk第第k-2层层第第k层层第第k-1层层3/8/202313第十三页,共四十四页。4.2.4根本的根本的BP算法算法样本集:样本集:S=(X1,Y1),(X2,Y2),(Xs,Ys)根本思想根本思想:逐一地根据样本集中的样本逐一地根据样本集中的样本(Xk,Yk)计算出实计算出实际输出际输出Ok和误差测度和误差测度E1,对,对W(1),W(2),W(L)各做一次调整,重复这个循环,直各做一次调整,重复这个循环,直到到Epdo 4.1 E=0;3/8/202315第十五页,共四十四页。算法算法4-1根本根本BP算法算法4.2对对S中的每一个样本中的每一个样本Xp,Yp:4.2.1计算出计算出Xp对应的实际输出对应的实际输出Op;4.2.2计算出计算出Ep;4.2.3E=E+Ep;4.2.4根据相应式子调整根据相应式子调整W(L);4.2.5k=L-1;4.2.6whilek0do4.2.6.1根据相应式子调整根据相应式子调整W(k);4.2.6.2k=k-14.3E=E/2.03/8/202316第十六页,共四十四页。4.3算法的改进算法的改进1、BP网网络络接接受受样样本本的的顺顺序序对对训训练练结结果果有有较较大大影响。它更影响。它更“偏爱较后出现的样本偏爱较后出现的样本2、给给集集中中的的样样本本安安排排一一个个适适当当的的顺顺序序,是是非非常常困难的。困难的。3、样样本本顺顺序序影影响响结结果果的的原原因因:“分分别别、“依依次次4、用用(X1,Y1),X2,Y2,Xs,Ys的的“总效果修改总效果修改W(1),W(2),W(L)。w(k)ij=pw(k)ij3/8/202317第十七页,共四十四页。算法算法4-2 4-2 消除样本顺序影响的消除样本顺序影响的BP算法算法 1fork=1toLdo1.1初始化初始化W(k);2初始化精度控制参数初始化精度控制参数;3E=+1;4whileEdo4.1E=0;4.2对所有的对所有的i,j,k:w(k)ij=0;3/8/202318第十八页,共四十四页。4.3对对S中的每一个样本中的每一个样本Xp,Yp:4.3.1计算出计算出Xp对应的实际输出对应的实际输出Op;4.3.2计算出计算出Ep;4.3.3E=E+Ep;4.3.4对所有对所有i,j根据相应式子计算根据相应式子计算pw(L)ij;4.3.5对所有对所有i,j:w(L)ij=w(L)ij+pw(L)ij;4.3.6k=L-1;4.3.7whilek0do4.3.7.1对所有对所有i,j根据相应式子计算根据相应式子计算pw(k)ij;4.3.7.2对所有对所有i,j:w(k)ij=w(k)ij+pw(k)ij;4.3.7.3k=k-14.4对所有对所有i,j,k:w(k)ij=w(k)ij+w(k)ij;4.5E=E/2.03/8/202319第十九页,共四十四页。算法算法4-2分析分析 较好地解决了因样本的顺序引起的精度问较好地解决了因样本的顺序引起的精度问题和训练的抖动问题题和训练的抖动问题 收敛速度:比较慢收敛速度:比较慢偏移量:给每一个神经元增加一个偏移量偏移量:给每一个神经元增加一个偏移量来加快收敛速度来加快收敛速度 冲量:联接权的本次修改要考虑上次修改冲量:联接权的本次修改要考虑上次修改的影响,以减少抖动问题的影响,以减少抖动问题 3/8/202320第二十页,共四十四页。算法算法4-2分析分析冲量设置冲量设置Rumelhart等人等人1986年年wij=joi+wijwij为上一次的修改量,为上一次的修改量,为冲量系数,一般可为冲量系数,一般可取到取到0.9 Sejnowski与与Rosenberg,1987年年wij=(1-)joi+wij)wij也是上一次的修改量,也是上一次的修改量,在在0和和1之间取值之间取值 3/8/202321第二十一页,共四十四页。4.4算法的实现算法的实现 主要数据结构主要数据结构WH,m输出层的权矩阵;输出层的权矩阵;Vn,H输入隐藏层的权矩阵;输入隐藏层的权矩阵;om输出层各联接权的修改量组成的向量;输出层各联接权的修改量组成的向量;hH隐藏层各联接权的修改量组成的向量;隐藏层各联接权的修改量组成的向量;O1隐藏层的输出向量;隐藏层的输出向量;O2输出层的输出向量;输出层的输出向量;(X,Y)一个样本。一个样本。3/8/202322第二十二页,共四十四页。算法的主要实现步骤算法的主要实现步骤 1 1用不同的小伪随机数初始化用不同的小伪随机数初始化W,V;2 2初始化精度控制参数初始化精度控制参数;学习率;学习率;3 3循环控制参数循环控制参数E=+1;循环最大次数;循环最大次数M;循环次数控制参数循环次数控制参数N=0;4whileE&N0,此时,此时wij0取取E0wij3/8/202330第三十页,共四十四页。而其中的而其中的所以,所以,最速下降法,要求最速下降法,要求E的极小点的极小点3/8/202331第三十一页,共四十四页。令令所以所以wij=joi为学习率为学习率最速下降法,要求最速下降法,要求E的极小点的极小点3/8/202332第三十二页,共四十四页。ANj为输出层神经元为输出层神经元 oj=f(netj)容易得到容易得到 从而从而3/8/202333第三十三页,共四十四页。ANj为输出层神经元为输出层神经元3/8/202334第三十四页,共四十四页。所以,所以,故,当故,当ANjANj为输出层的神经元时,它对应的联接为输出层的神经元时,它对应的联接权权wijwij应该按照以下公式进行调整:应该按照以下公式进行调整:ANj为输出层神经元为输出层神经元3/8/202335第三十五页,共四十四页。ANj为隐藏层神经元为隐藏层神经元 函数3/8/202336第三十六页,共四十四页。ANj为隐藏层神经元为隐藏层神经元netk=oio2o1oHhnetk是是oj下一级的神下一级的神经元的网络输入经元的网络输入oj3/8/202337第三十七页,共四十四页。ANj为隐藏层神经元为隐藏层神经元3/8/202338第三十八页,共四十四页。ANj为隐藏层神经元为隐藏层神经元3/8/202339第三十九页,共四十四页。ANj为隐藏层神经元为隐藏层神经元3/8/202340第四十页,共四十四页。4.6 几个问题的讨论几个问题的讨论 收敛速度问题收敛速度问题 局部极小点问题局部极小点问题 逃逃离离/避避开开局局部部极极小小点点:修修改改W、V的的初初值值并不是总有效。并不是总有效。逃离逃离统计方法;统计方法;Wasserman,1986将将Cauchy训练与训练与BP算法结合起来,可以在保证训算法结合起来,可以在保证训练速度不被降低的情况下,找到全局极小点。练速度不被降低的情况下,找到全局极小点。3/8/202341第四十一页,共四十四页。4.6 几个问题的讨论几个问题的讨论 网络瘫痪问题网络瘫痪问题 在训练中,权可能变得很大,这会使神经元的在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从而又使得其激活函数的网络输入变得很大,从而又使得其激活函数的导函数在此点上的取值很小。根据相应式子,导函数在此点上的取值很小。根据相应式子,此时的训练步长会变得非常小,进而将导致训此时的训练步长会变得非常小,进而将导致训练速度降得非常低,最终导致网络停止收敛练速度降得非常低,最终导致网络停止收敛 稳定性问题稳定性问题 用修改量的综合实施权的修改用修改量的综合实施权的修改连续变化的环境,它将变成无效的连续变化的环境,它将变成无效的 3/8/202342第四十二页,共四十四页。4.6几个问题的讨论几个问题的讨论 步长问题步长问题 BP网络的收敛是基于无穷小的权修改量网络的收敛是基于无穷小的权修改量步长太小,收敛就非常慢步长太小,收敛就非常慢步长太大,可能会导致网络的瘫痪和不稳定步长太大,可能会导致网络的瘫痪和不稳定自适应步长,使得权修改量能随着网络的训练自适应步长,使得权修改量能随着网络的训练而不断变化。而不断变化。1988年,年,Wasserman 3/8/202343第四十三页,共四十四页。内容总结第4章 BP网络。样本:(输入向量,理想输出向量)。2、向后传播阶段误差传播阶段:。vhp=vhp+vhp。算法4-1 根本BP算法。算法4-2 消除样本顺序影响的BP算法。偏移量:给每一个神经元增加一个偏移量来加快收敛速度。算法4-2 分析冲量设置。WH,m输出层的权矩阵。Vn,H输入隐藏层的权矩阵。O1隐藏层的输出向量。(X,Y)一个样本。4.1 N=N+1。43第四十四页,共四十四页。