温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
人工
神经网络
讲稿
ch4
2023/2/24 1 第第4章章 BP网络网络 主要内容主要内容:BP网络的构成网络的构成 隐藏层权的调整分析隐藏层权的调整分析 Delta规则理论推导规则理论推导 算法的收敛速度及其改进讨论算法的收敛速度及其改进讨论 BP网络中的几个重要问题网络中的几个重要问题 重点:重点:BP算法算法 难点:难点:Delta规则的理论推导规则的理论推导 2023/2/24 2 4.1 概述概述 1、BP算法的出现算法的出现 非循环多级网络的训练算法非循环多级网络的训练算法 UCSD PDP小组的小组的Rumelhart、Hinton和和Williams1986年年独立地给出了独立地给出了BP算法清楚而简单的描述算法清楚而简单的描述 1982年年,Paker就完成了相似的工作就完成了相似的工作 1974年年,Werbos已提出了该方法已提出了该方法 2、弱点弱点:训练速度非常慢:训练速度非常慢、局部极小点的逃离问题局部极小点的逃离问题、算法不一定收敛算法不一定收敛 3、优点:优点:广泛的适应性和有效性广泛的适应性和有效性。2023/2/24 3 4.2 基本基本BP算法算法 4.2.1 网络的构成网络的构成 神经元的网络输入:神经元的网络输入:neti=x1w1i+x2w2i+xnwni 神经元的输出:神经元的输出:netenetfo11)()1()()1(1)(22ooooeenetfnetnet2023/2/24 4 输出函数分析输出函数分析 0.5 f(net)0.25 o 0 1 1(0,0.5)net(0,0)o neteo11应该将应该将net的值尽量控制在收敛比较快的范围的值尽量控制在收敛比较快的范围内内 可以用其它的函数作为激活函数可以用其它的函数作为激活函数,只要该函数只要该函数是处处可导的是处处可导的 2023/2/24 5 网络的拓扑结构网络的拓扑结构 x1 o1 输出层输出层 隐藏层隐藏层 输入层输入层 x2 o2 om xn W(1)W(2)W(3)W(L)2023/2/24 6 网络的拓扑结构网络的拓扑结构 1.BP网的结构网的结构 2.2.输入向量输入向量、输出向量的维数输出向量的维数、网络隐藏层网络隐藏层的层数和各个隐藏层神经元的个数的决定的层数和各个隐藏层神经元的个数的决定 3.3.实验:增加隐藏层的层数和隐藏层神经元实验:增加隐藏层的层数和隐藏层神经元个数不一定总能够提高网络精度和表达能个数不一定总能够提高网络精度和表达能力力 4.4.BPBP网一般都选用二级网络网一般都选用二级网络 2023/2/24 7 网络的拓扑结构网络的拓扑结构 x1 o1 输出层输出层 隐藏层隐藏层 输入层输入层 x2 o2 om xn W V 2023/2/24 8 4.2.2 训练过程概述训练过程概述 样本:样本:(输入向量,理想输出向量输入向量,理想输出向量)权初始化:权初始化:“小随机数小随机数”与饱和状态;与饱和状态;“不不同同”保证网络可以学。保证网络可以学。1 1、向前传播阶段:向前传播阶段:(1)从样本集中取一个样本从样本集中取一个样本(Xp,Yp),将将Xp输入网络;输入网络;(2)计算相应的实际输出计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L)2023/2/24 9 4.2.2 训练过程概述训练过程概述 2 2、向后传播阶段向后传播阶段误差传播阶段:误差传播阶段:(1)计算实际输出计算实际输出Op与相应的理想输出与相应的理想输出Yp的差;的差;(2)按极小化误差的方式调整权矩阵按极小化误差的方式调整权矩阵。(3)网络关于第网络关于第p p个样本的误差测度:个样本的误差测度:mjpjpjpoyE1221(4)网络关于整个样本集的误差测度:网络关于整个样本集的误差测度:ppEE2023/2/24 10 4.2.3 误差传播分析误差传播分析 1、输出层权的调整、输出层权的调整 wpq=wpq+wpq wpq=qop =fn(netq)(yq-oq)op =oq(1-oq)(yq-oq)op wpq ANp ANq 第第L-1层层 第第L层层 wpq 2023/2/24 11 2 2、隐藏层权的调整、隐藏层权的调整 ANp ANq ANh vhp pk-1 1k wp1 wpq qk wpm mk 第第k-2层层 第第k层层 第第k-1层层 2023/2/24 12 2 2、隐藏层权的调整、隐藏层权的调整 pk-1的值和的值和1k,2k,mk 有关有关 不妨认为不妨认为pk-1 通过权通过权wp1对对1k做出贡献做出贡献,通过权通过权wp2对对2k做出贡献做出贡献,通过权通过权wpm对对mk做出贡献做出贡献。pk-1=fk-1(netp)(wp11k+wp22k+wpmm k)2023/2/24 13 2 2、隐藏层权的调整、隐藏层权的调整 vhp=vhp+vhp vhp=pk-1ohk-2 =fk-1(netp)(wp11k+wp22k+wpmmk)ohk-2 =opk-1(1-opk-1)(wp11k+wp22k+wpmmk)ohk-2 ANp ANq ANh vhp pk-1 1k wp1 wpm qk wpq mk 第第k-2层层 第第k层层 第第k-1层层 2023/2/24 14 4.2.4 基本的基本的BP算法算法 样本集:样本集:S=(X1,Y1),(,(X2,Y2),),(,(Xs,Ys)基本思想基本思想:逐一地根据样本集中的样本逐一地根据样本集中的样本(Xk,Yk)计算出实际输计算出实际输出出Ok和误差测度和误差测度E1,对,对W(1),W(2),W(L)各各做一次调整,重复这个循环,直到做一次调整,重复这个循环,直到Ep do 4.1 E=0;2023/2/24 16 算法算法4-1 基本基本BP算法算法 4.2 对对S中的每一个样本中的每一个样本(Xp,Yp):4.2.1 计算出计算出Xp对应的实际输出对应的实际输出Op;4.2.2 计算出计算出Ep;4.2.3 E=E+Ep;4.2.4 根据相应式子调整根据相应式子调整W(L);4.2.5 k=L-1;4.2.6 while k0 do 4.2.6.1 根据相应式子调整根据相应式子调整W(k);4.2.6.2 k=k-1 4.3 E=E/2.0 2023/2/24 17 4.3 算法的改进算法的改进 1、BP网络接受样本的顺序对训练结果有较大网络接受样本的顺序对训练结果有较大影响影响。它更它更“偏爱偏爱”较后出现的样本较后出现的样本 2、给集中的样本安排一个适当的顺序给集中的样本安排一个适当的顺序,是非常是非常困难的困难的。3、样本顺序影响结果的原因:样本顺序影响结果的原因:“分别分别”、“依依次次”4、用用(X1,Y1),(X2,Y2),(Xs,Ys)的的“总效果总效果”修改修改W(1),W(2),W(L)。w(k)ij=p w(k)ij 2023/2/24 18 算法算法4 4-2 2 消除样本顺序影响的消除样本顺序影响的BP算法算法 1 for k=1 to L do 1.1 初始化初始化W(k);2 初始化精度控制参数初始化精度控制参数;3 E=+1;4 while E do 4.1 E=0;4.2 对所有的对所有的i,j,k:w(k)ij=0;2023/2/24 19 4.3 对对S中的每一个样本中的每一个样本(Xp,Yp):4.3.1 计算出计算出Xp对应的实际输出对应的实际输出Op;4.3.2 计算出计算出Ep;4.3.3 E=E+Ep;4.3.4 对所有对所有i,j根据相应式子计算根据相应式子计算p w(L)ij;4.3.5 对所有对所有i,j:w(L)ij=w(L)ij+p w(L)ij;4.3.6 k=L-1;4.3.7 while k0 do 4.3.7.1 对所有对所有i,j根据相应式子计算根据相应式子计算p w(k)ij;4.3.7.2 对所有对所有i,j:w(k)ij=w(k)ij+p w(k)ij;4.3.7.3 k=k-1 4.4 对所有对所有i,j,k:w(k)ij=w(k)ij+w(k)ij;4.5 E=E/2.0 2023/2/24 20 算法算法4-2 分析分析 较好地解决了因样本的顺序引起的精度问较好地解决了因样本的顺序引起的精度问题和训练的抖动问题题和训练的抖动问题 收敛速度:比较慢收敛速度:比较慢 偏移量:给每一个神经元增加一个偏移量偏移量:给每一个神经元增加一个偏移量来加快收敛速度来加快收敛速度 冲量冲量:联接权的本次修改要考虑上次修改联接权的本次修改要考虑上次修改的影响,以减少抖动问题的影响,以减少抖动问题 2023/2/24 21 算法算法4-2 分析分析冲量设置冲量设置 Rumelhart等人等人1986年年 wij=joi+wij wij为上一次的修改量,为上一次的修改量,为冲量系数,一般可为冲量系数,一般可取到取到0.9 Sejnowski与与Rosenberg,1987年年 wij=(1-)joi+wij)wij也是上一次的修改量,也是上一次的修改量,在在0和和1之间取值之间取值 2023/2/24 22 4.4 算法的实现算法的实现 主要数据结构主要数据结构 WH,m输出层的权矩阵;输出层的权矩阵;Vn,H输入输入(隐藏隐藏)层的权矩阵;层的权矩阵;om输出层各联接权的修改量组成的向量;输出层各联接权的修改量组成的向量;hH隐藏层各联接权的修改量组成的向量;隐藏层各联接权的修改量组成的向量;O1隐藏层的输出向量;隐藏层的输出向量;O2输出层的输出向量;输出层的输出向量;(X,Y)一个样本。一个样本。2023/2/24 23 算法的主要实现步骤算法的主要实现步骤 1 1用不同的小伪随机数初始化用不同的小伪随机数初始化W,V;2 2初始化精度控制参数初始化精度控制参数;学习率;学习率;3 3循环控制参数循环控制参数E=+1;循环最大次数;循环最大次数M;循环次数控制参数循环次数控制参数N=0;4while E&N0,此时,此时wij0 取取 ijwEE 0 wij 2023/2/24 31 ijjjijwnetnetEwE而其中的而其中的 kkkjjownet所以,所以,iijkkkjijjowowwnet最速下降法,要求最速下降法,要求E的极小点的极小点 2023/2/24 32 ijijkkkjjijjjijonetEwownetEwnetnetEwE令令 jjnetE所以所以 wij=joi 为学习率为学习率 最速下降法,要求最速下降法,要求E的极小点的极小点 2023/2/24 33 ANj为输出层神经元为输出层神经元 oj=f(netj)容易得到容易得到 )net(fnetojjj)net(foEnetooEnetEjjjjjjj从而从而 2023/2/24 34)()(22()21(21212jjjjjjjjmkkkjoyoyooyooyoEANj为输出层神经元为输出层神经元 2023/2/24 35 所以,所以,)net(f)oy(jjjj故,当故,当ANj为输出层的神经元时,它对应为输出层的神经元时,它对应的联接权的联接权wij应该按照下列公式进行调整:应该按照下列公式进行调整:ijjjijijijijo)oy)(net(fwowwANj为输出层神经元为输出层神经元 2023/2/24 36 ANj为隐藏层神经元为隐藏层神经元 jjjjjnetooEnetE)net(fnetojjj)net(foEjjjm1k2kk)oy(21E函数 2023/2/24 37 ANj为隐藏层神经元为隐藏层神经元 netk=hHlllkow1hH1kjkkj)onetnetE(oEjkjHlllkjkwoowoneth1oi o2 o1 oHh netk是是 oj下一级的神下一级的神经元的网络输入经元的网络输入 oj 2023/2/24 38 ANj为隐藏层神经元为隐藏层神经元 hhH1kjkkH1kjkkjwnetEonetnetEoE