第五章神经网络原理与控制v2课件.ppt

上传人(卖家):晟晟文业 文档编号:4524709 上传时间:2022-12-16 格式:PPT 页数:265 大小:3.57MB
下载 相关 举报
第五章神经网络原理与控制v2课件.ppt_第1页
第1页 / 共265页
第五章神经网络原理与控制v2课件.ppt_第2页
第2页 / 共265页
第五章神经网络原理与控制v2课件.ppt_第3页
第3页 / 共265页
第五章神经网络原理与控制v2课件.ppt_第4页
第4页 / 共265页
第五章神经网络原理与控制v2课件.ppt_第5页
第5页 / 共265页
点击查看更多>>
资源描述

1、第五章 神经网络原理5.1 神经网络的基本概念5.2 前向神经网络及主要算法5.3 反馈网络5.4 神经网络控制2022-11-21神经系统 的复杂性2022-11-212022-11-212022-11-212022-11-212022-11-212022-11-212022-11-215.1 神经网络的基本概念5.1.1 生物神经元2022-11-215.1.1 生物神经元n人的大脑由人的大脑由1012个神经元构成,神经元互个神经元构成,神经元互相连接成神经网络相连接成神经网络n神经元组成:细胞体为主体n神经元功能:刺激、兴奋、传导、效应n形状图n突触传递信息特点2022-11-21形状图

2、2022-11-215.1.2 人工神经元模型BNN 信息传递过程 为 MISO 系统,信号为脉冲,当脉冲到达突触前膜时,前膜释放化学物质,结果在突触后产生突触后电位,其大小与脉冲密度有关(时间总合效应)。各通道都对电位产生影响(空间总合效应)2022-11-21 BNN 脉冲,ANN 模拟电压nANN等效模拟电压近似BNN脉冲密度,仅有空间累加无时间累加(可认为时间累加已隐含于等效模拟电压之中)nANN中未考虑时延、不应期及疲劳等 可建立更为精确的模型,但一般NN研究无此必要(方法论)2022-11-21人工神经元模型 BNN 信息传递过程 为 MISO 系统,信号为脉冲,当脉冲到达突触前膜

3、时,前膜释放化学物质,结果在突触后产生突触后电位,其大小与脉冲密度有关(时间总合效应)。各通道都对电位产生影响(空间总合效应)。2022-11-21 单个神经元特性单个神经元特性 神经元的神经元的膜电位膜电位与时间关系如下与时间关系如下spike2022-11-21实际神经元记录:膜电位膜电位Recording from a real neuron:membrane potential2022-11-21神经元模型(1)n神经元是人工神经网络的基本处理单元,它一般是一个多输入/单输出的非线性元件。神经元输出除受输入信号的影响之外,同时也受到神经元内部其他因素的影响,所以在人工神经元的建模中,常

4、常还加有一个额外输入信号,称为偏差(bias),有时也称为阈值或门限值。2022-11-21神经元模型(2)n。2022-11-21抽象可得数学表达式:i 加权值(weights)阀值(threshold)(s)作用函数(activated transfer function)1(11)niiiSx()(12)ys2022-11-21作用函数的基本作用n1、控制输入对输出的激活作用;n2、对输入、输出进行函数转换;n3、将可能无限域的输入变换成指定的有限范围内的输出。2022-11-21几种常用的作用函数 1、阀值型(硬限制型)2、线性型 3、S型函数(Sigmoid)4、辐射基函数2022-

5、11-21(1)、阀值型(硬限制型)0*0 0*1 )*(bPWbPWbPWfA生物学背景:生物学背景:神经细胞的兴奋与抑制;单极性2022-11-210*1 0*1 )*(bPWbPWbPWfA生物学背景:神经细胞的兴奋与抑制:双极性2022-11-21(2)、线性型a)全线性 n bPWbPWfA*)*(生物学背景:神经细胞的比例作用(全方位)2022-11-21b)正线性0*n 0*0 )*(bPWbPWbPWfA生物学背景:神经细胞的线性比例作用(单方向)2022-11-21(3)、S型函数(Sigmoid)a)对数正切 y=1/(e-n+1)生物学背景:神经细胞的非线性比例作用(单向

6、)2022-11-21b)双曲正切 y=tanh(n)生物学背景:神经细胞的非线性比例作用(全方位)2022-11-21(4)辐射基函数a)高斯函数生物学背景:视觉,听觉等类神经细胞的区域性非线性用2022-11-21b)三角波函数生物学背景:视觉,听觉等类神经细胞的区域性非线性用的线性近似2022-11-215.2.2 人工神经网络的构成n基本模型n连接的几种基本形式n前向网络(feed-forward Networks)n回归网络(recurrent Networks)n互联网络(全互连与局部互连)n也可是以上几种形式的组合2022-11-21人工神经网络种类1).前向型 感知器、线性网络

7、(ADALINE),BP网络 RBF 网络,2).反馈型 Hopfield 网络3).竞争型 ART,SOFM等2022-11-21Perceptron 应用举例1。水果分类Matlab 演示 nnd3pc.m(chap 3)2022-11-21前向型神经网络基本模型 2022-11-21前向网络n结构图2022-11-21前向网络特点 1).神经元分层排列,可又多层 2).层间无连接 3).方向由入到出 多层感知器(BP)网络 (perceptron/BP即为 此)应用最为广泛2022-11-21回归网络全反馈结构图2022-11-21Inner RNN结构图2022-11-21回归网络特点

8、nOutput 与 Input相连(全反馈)特点:1.内部前向 2.输出反馈到输入 例:Fukushima网络nInner recurrent 特点:层间元互相连接2022-11-21互联网络n结构图 2022-11-21互联网络特点n每个元都与其它元相连 例:Hopfield Boltzmann机 2022-11-21Hopfield反馈神经网络结构2022-11-21反馈网络特点n系统:反馈动力学系统,有一稳定时间n作用:联想记忆,求解优化问题2022-11-21ANN与BNN的比较BNNANN单元上差别单元上差别影响因素多忽略了影响关系简单信息上差别信息上差别脉冲模拟电压规模及智能规模及

9、智能大,高小 H a 1=tansig(IW 1,1 p 1+b 1)tansig(x)=tanh(x)=(ex-e-x)/(ex+e-x)nH-O a 2=purelin(LW 2,1 a 1+b 2)输入层神经元个数nn隐含层神经元个数s1n输出层神经元个数s22022-11-21学习(训练)的基本原理采用最小二乘方法,利用梯度搜索技术,使网络的实际输出值与期望输出值的误差均均方值最小。基本的EBP算法是极小化二次性指标函数E而得到的。1mkkEE2222,1111()22sski ki ki kiiEyye2022-11-21学习(训练)n输入q组样本 p1,p2,.,pq piRnn期

10、望输出 T1,T2,.,Tq,T Rs2n网络输出a21,a22,.,a2qa2Rs2n p1t1,p2t2,pQtQ,Fx E e2=E ta2=均方误差Fx EeTe=Et aTt a=向量情况Fx tk ak Ttk ak eTk ek =2022-11-21BP算法流程(学习算法)由两部分组成:信息的正向传播和误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层的神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通道反传回来修改各层神经元的权值直到达到期望目标。2

11、022-11-21学习过程设输入为P,输入神经元有r个,隐含层内有s1个神经元,作用函数为f1,输出层内有s2个神经元,对应的作用函数为f2,输出为A,目标为T。2022-11-21学习(训练)2n解决方法 误差最小n实质为一个优化问题n思路1:梯度法(gradient)n找出误差与加权系数的关系 n得到加权系数改变的规律2022-11-21梯度法原理(1)1.对无约束极值问题min()nf XXR设:F(X)二次可微,具有极小点X*,()()()()()()()()()()()()(1)()()()()()()()()lim0()0()()kkkkkkTkkTkkkkkkkXXPfXfXPf

12、XfXPoofXPfXPfXXXP可 保 证11/21/202284梯度法原理(2)()()()()()()()()cos()kTkkkkkfXPfXPPfX可以使函数值下降最快2022-11-21最速下降法,要求最速下降法,要求E的极小点的极小点 ijijwEwwijijwEE0,此时,此时wij0取取ijwEE0wij2022-11-21学习训练算法(思路)mkkEE1wi jmk1+wi jmk Fwi jm-=bimk1+bimk Fbim-=近似最陡下降法2022-11-21链式法则f n wdwd-f n dnd-n wdwd-=f n n cos=ne2w=f n w e2wco

13、s=f n w dwd-f n dnd-n w dwd-n sin 2e2we2wsin 2e2w=例应用于梯度计算Fwi jm-Fnim-nimwi jm-=Fbim-Fnim-nimbim-=2022-11-211)信息的正向传递隐含层中的第i个神经元的输出为:111(11),1,2,1riijjijafwpbis输出层第k个神经元的输出为:1122(212),1,2,2skkiikiafwabks定义误差函数为:2211(,)(2)2skkkE W Bta2022-11-21学习训练算法 正向传播I-H H-O 2.计算误差 ek=tk-a2k111111(1)niijjijiiNetw

14、pbafNet11221222(2)SkkiikikkNetwabafNet2022-11-21寻找加权系数改变与误差的关系考虑一个样本输入到网络的情况,此时误差平方和为1。输出层权系数的调整(误差与输出层关系直接)221212111 E(W,B)(2)212(212)2SkkkSSkkiikkitatfwab22222kkikikkiEENetwwNetw net2k2022-11-21定义:因为:式中:11222222212kkkkkSkkiikiaEEN etaN etN etwab (2)222(2)2(2)122kkkkkkkkEtaaafNetfNetNetNet 2=12kiki

15、Netaw2022-11-2122222 (2)2211kkikikkikikkiNetEEwwNetwtafaa2(2)22 1kkkkbtaf 小结:11/21/2022隐含层权系数的修正ANiANkANjw1ij1i21w2k1w2ki2kw2km2m输入层输入层输出层输出层隐含层隐含层2022-11-21隐含层权系数的修正111ijiiEapaNet 1(1)1ijiEfNetpa 1ijp 111111iijjijiijiEENetEwpwNetwNet 误差e与w1无显函数关系,采用链式法则找关系111111(1)niijjijiiNetw pbafNet11221222(2)Sk

16、kiikikkNetwabafNet11/21/202295 不能直接计算,需通过其他量间接计算1iEa212111212121 2121 22SkkikiSSkiikikiSkkikEENetaNetaEwaNetaw 2212211 E(W,B)(2)212(2)2SkkkSkkktatfNet11221222(2)SkkiikikkNetwabafNet2022-11-2196隐含层权值修正小结:212111(1)221 11(1)22 SijijikkijkSiikkikwpfNetwpfNetw11*11iiib 2022-11-21总结输出节点k隐含节点j统一形式22122kiki

17、kkkwata211111(11)22 ijijSiiikkikwpaaw10,1,2immmijjwamap 2022-11-21BP算法解释输出层误差 ej(j=1s2)隐含层误差 ei(i=1n1)ei与ej的关系?ei可以认为是由ej加权组合形成的。由于作用函数的存在,ej的等效作用为 j i=ejf()212sikkikew2022-11-21 初始化 加输入和期望输出计算隐层和输出层的输出迭代次数加1调节输出层和隐层的连接权值2(1)2()1(1)21()11kikikiijijijwtwtwttapw 改变训练样板训练样终止?迭代终止?BP算法的基本流程NoNoyy2022-11

18、-21n导数nlogsigmatlab 函数:dA_dN=dlogsig(N,A)ntansignmatlab 函数:dA_dN=dtansig(N,A)1()1()()(1()xf xefxf xf x2()()1()xxxxeefxeefxfx2022-11-21小结n感知器网络 分类nBP网络分类与函数逼近 反向传播学习算法,调整权值。讲解1)示例2)MATLAB 实现2022-11-21示例:函数逼近 1-2-1Network+-taexgx 1/x=2022-11-211 1.021.0,12 0.5,12 0,0.5WWVVbbb,2022-11-21修正公式:1.前向计算2.权值

19、修正1 122,1,2(),1,2iiiiiIOsw xbizf siyv zv zb,1,2(),1,2()1,2iiiiiiiietyvezibewev fs xibev fsi 2022-11-21具体步骤(一步):前向计算(输入输出计算)y1/1=1s1=w1*x+b1=-1.0*1.0+0=-1.0;s2=w2*x+b2=1.0*1.0+0=1.0z1=logsig(s1)=logsig(-1.0)=0.7311;z2=logsig(s2)=logsig(1.0)=0.2689t=v1*z1+v2*z2+b=0.7311+0.2689+0.5=1.5误差计算 e=1-1.5=-0.5

20、1 122,1,2(),1,2iiiiiIOswxbizf siyv zv zb2022-11-21输出层权值修正(O-I)V1*e*z10.1*(-0.5)*0.7311=-0.0366,V1=V1+V1=0.5+(-0.0366)=0.4634V2*e*z20.1*(-0.5)*0.2689=-0.0134,V2=V2+V2=0.5+(-0.0134)=0.4866b=*e=0.1*(-0.5)=0.05 b=bb0.5-0.05=0.495,1,2iivezibe 2022-11-21隐含层权值修正nw1=*e*v1*f(s1)*x=*e*v1*z1*(1-z1)*x =0.1*(-0.

21、5)*0.4634*0.7311*(1-0.7311)*1=-0.0046 n w1=w1+w1=1.0+(-0.0046)=0.9954nw2=*e*v2*f(s2)*x=*e*v2*z2*(1-z2)*x =0.1*(-0.5)*0.4686*0.2689*(1-0.2689)*1=-0.0046nw2=w2+w1=(-1.0)+(-0.0046)=)=-1.0046nb1=b1+b1=0-0.0046=-0.0046;nb2=b2+b2=0-0.0046=-0.0046;(),1,2()1,2iiiiiiwev fs xibev fsi2022-11-21Matlab 例Nnd11bc.

22、m演示训练过程 nndemos(chap11 demo2)Neural NetworkDESIGNBackpropagation CalculationChapter 11p-0.270W1(1,1)-0.480b1(1)n1(1)s1(1)a1(1)-0.410W1(2,1)-0.130b1(2)n1(2)s1(2)a1(2)0.090W 2(1,1)-0.170W 2(1,2)0.480b2n2s2a2etp=t=?a1=?a2=?e=?s2=?s1=?W1=?b1=?W2=?b2=?Input:Target:Simulate:Backpropagate:Update:Last Error

23、:?.?2022-11-21示例:函数逼近(nnd11bc.m)g p 14-psin+=1-2-1Network+-taep2022-11-21网络1-2-1网络ap2022-11-21初始条件W10 0.270.41=b10 0.480.13=W20 0.09 0.17=b20 0.48=2022-11-21前向传播a0p1=a1f1W1a0b1+logsig0.270.4110.480.13+logsig0.750.54=a111e0.75+-11e0.54+-0.3210.368=a2f2W2a1b2+purelin 0.09 0.170.3210.3680.48+()0.446=et

24、a14-psin+a214-1sin+0.4461.261=2022-11-21反向传播s110.321 0.3210010.368 0.3680.090.172.522=s10.218000.2330.2270.4290.04950.0997=522.2)261.1(1 2)261.1)(2)(2s222nfatnFs1Fn1()W2Ts21a11 a11001a21 a210.090.172.522=2022-11-21权值更新W21 W20 s2a1T0.09 0.170.1 2.5220.3210.368=0.1=W21 0.1710.0772=b21 b20 s20.480.12.5

25、220.732=W11 W10 s1a0T0.270.410.10.04950.099710.2650.420=b11 b10 s10.480.130.10.04950.09970.4750.140=2022-11-21示例3:两层XOR网络x1x2y0000111011102022-11-21输入输出关系21)()()(21212121ibxwzzfzzvbxwfvyjijijiiiiiijijiji2022-11-21加权值修改(Vi)2,1)(izezevyevEviiiiiiiiii2022-11-21加权值修改(Wij)2,12,1)(jixxzfvewzzzzyewyewEwjij

26、iiiijiiijiiijiiijiij2022-11-21具体计算步骤:见matlab程序Bpxor2_demo_step.m的执行过程:2022-11-21bpxor2_demo_step.m%BP神经网络解决异或问题%采用的一个2-2-1的网络clearclcBP_LEARNING=0.1;%学习速率为0.1wish_error=0.002;%期望误差studytimes=20000;%定义最大学习次数result=zeros(1,4);%生成一个矩阵,存放最后的输出结果P=0 0 1 1;0 1 0 1;T=0 1 1 0;%初始化神经网络隐含层的权值和域值%根据权值下标,例如weig

27、ht12表示第一个输入对隐含层第二个神经元的权值weight11=rands(1)weight21=rands(1)weight12=rands(1)weight22=rands(1)b1=rands(1)b2=rands(1)%初始化输出层的权值和域值weight1=rands(1)weight2=rands(1)b=rands(1)pause2022-11-21%开始训练网络for i=1:studytimes;real_error=0;%初始化中间变量:修改权值的变量的累加值 change_b1=0;change_b2=0;change_b=0;change_weight11=0;cha

28、nge_weight21=0;change_weight12=0;change_weight22=0;change_weight1=0;change_weight2=0;for j=1:4;%前向计算%第一个隐含层神经元的输出 hidelayer1=weight11*P(1,j)+weight21*P(2,j)+b1%经过 S 函数之后的输出 S_hidelayer1=1/(1+exp(-hidelayer1);%第二个隐含层神经元的输出 hidelayer2=weight12*P(1,j)+weight22*P(2,j)+b2%经过 S 函数之后的输出 S_hidelayer2=1/(1+e

29、xp(-hidelayer2)%输出层的输出线性输出 outlayer=weight1*S_hidelayer1+weight2*S_hidelayer2+b%计算误差 deta=T(j)-outlayer2022-11-21%计算输出层加权值 W1,W2,偏置值b的修正量 change_weight1=change_weight1+BP_LEARNING*S_hidelayer1*deta change_weight2=change_weight2+BP_LEARNING*S_hidelayer2*deta change_b=change_b+BP_LEARNING*deta%计算隐含层第一

30、个神经元权值的deta1 deta1=S_hidelayer1*(1-S_hidelayer1)*weight1*deta%计算隐含层第二个神经元权值的deta2 deta2=S_hidelayer2*(1-S_hidelayer2)*weight2*deta%计算输出层加权值 W11,W21,W12,W22,偏置值b1,b2的修正量%偏置值b1,b2修正量的累加 change_b1=change_b1+BP_LEARNING*deta1 change_b2=change_b2+BP_LEARNING*deta2%权值 W11,W21,W12,W22修正量的累加 change_weight11

31、=change_weight11+BP_LEARNING*P(1,j)*deta1 change_weight21=change_weight21+BP_LEARNING*P(2,j)*deta1 change_weight12=change_weight12+BP_LEARNING*P(1,j)*deta2 change_weight22=change_weight22+BP_LEARNING*P(2,j)*deta2%判断误差 real_error=real_error+(T(j)-outlayer)*(T(j)-outlayer)end2022-11-21%开始调整权值 b1=b1+ch

32、ange_b1 b2=b2+change_b2 b=b+change_b weight11=weight11+change_weight11 weight21=weight21+change_weight21 weight12=weight12+change_weight12 weight22=weight22+change_weight22 weight1=weight1+change_weight1 weight2=weight2+change_weight2 if real_error wish_error break;end;end;2022-11-21%输出最后结果for j=1:4

33、;hidelayer1=weight11*P(1,j)+weight21*P(2,j)+b1;%第一个隐含层神经元的输出 S_hidelayer1=1/(1+exp(-hidelayer1);%经过 S 函数之后的输出 hidelayer2=weight12*P(1,j)+weight22*P(2,j)+b2;%第二个隐含层神经元的输出 S_hidelayer2=1/(1+exp(-hidelayer2);%经过 S 函数之后的输出 outlayer=weight1*S_hidelayer1+weight2*S_hidelayer2+b;%输出层的输出 result(j)=outlayer;e

34、nd;clcreal_error,i,result2022-11-21用MATLAB求解BP网络训练问题第一步:建立一个网络 net=newff(-2 2,5 1,tansig purelin,traingd);第二步 计算输出:y1=sim(net,P);2022-11-21绘图:plot(P,T,*);训练:net,tr=train(net,P,T);训练函数有很多种,如:traingd,traingdm,traingdx,trainlm在训练之前要对网络进行初始化,并设置好训练参数。初始化:net.iw1,1=W10;net.b1=B10;net.lw2,1=W20;net.b2=B20

35、;2022-11-21参数设置:net.trainParam.epochs=100;%最大训练次数net.trainParam.goal=0.01;%训练所要达到的精度 net.trainParam.show=10;%在训练过程中显示的频率 net.trainParam.lr=0.1;%学习速率2022-11-21例题函数逼近 例例5.2.3 应用两层BP网络来完成函数逼近的任务,其中隐含的神经元个数选为5个。网络结构如图2.4.1所示。图:2.4.12022-11-21解 首先定义输入样本和目标矢量 P=-1:.1:1;T=-.9602-.5770.0729.3771.6405.6600.4

36、609.1336 -.2013 -.4344 -.5000 -.3930 -.1647 .0988.3072 .3960 .3449 .1816 -.0312 -.2189 -.3201;上述数据的图形如图2.4.2所示。图:2.4.22022-11-21利用函数newff建立一个bp神经元网络 net=newff(minmax(P),5 1,tansig purelin,traingd,learngd,sse);然后利用函数train对网络进行训练 net.trainParam.show=10;net.trainParam.epochs=8000;net.trainParam.goal=0.

37、02;net.trainParam.lr=0.01;net,tr=train(net,P,T);2022-11-21 图2.4.3至图2.4.6给出了网络输出值随训练次数的增加而变化的过程。图2.4.7给出了454次训练后的最终网络结果,以及网络的误差纪录。同时还可以用函数sim来计算网络的输出 a1=sim(net,P)下面给出本例的MATLAB程序 2022-11-21 图2.4.3 训练100次的结果 图2.4.4 训练200次的结果 图2.4.5 训练300次的结果 图2.4.6 训练400次的结果 2022-11-21 2.4.7 训练结束后的网络输出与误差结果2022-11-21%

38、Example 3.13%clf;figure(gcf)setfsize(500,200);echo on%NEWFF 建立一个BP网络%TRAIN 对BP网络进行训练%SIM 对BP网络进行仿真pauseP=-1:.1:1;T=-.9602-.5770-.0729 .3771 .6405 .6600 .4609.1336-.2013-.4344-.5000-.3930-.1647 .0988.3072 .3960 .3449 .1816-.0312-.2189-.3201;plot(P,T,+);title(Training Vectors);xlabel(Input Vector P);y

39、label(Target Vector T);pausenet=newff(minmax(P),5 1,tansig purelin,traingd,learngd,sse);echo offk=pickic;if k=2 net.iw1,1=3.5000;3.5000;3.5000;3.5000;3.5000;2022-11-21 net.b1=-2.8562;1.0774;-0.5880;1.4083;2.8722;net.lw2,1=0.2622-0.2375-0.4525 0.2361-0.1718;net.b2=0.1326;endnet.iw1,1net.b1net.lw2,1net.b2pauseecho on me=8000;net.trainParam.show=10;net.trainParam.goal=0.02;net.trainParam.lr=0.01;A=sim(net,P);sse=sumsqr(T-A);for i=1:me/100 if ssetraingdm/a/x-trainlm2022-11-21

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第五章神经网络原理与控制v2课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|