资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十一章 神经网络的应用,11.1 BP网络结构、参数及训练方法的设计与选择,11.2 神经网络在电机非线性补偿中的设计与实现,11.1 BP网络结构、参数及训练方法的设计与选择,一般情况下,一个BP网络的设计应当考虑以下几个方面:,1)网络结构,包括网络层数、每层的节点数及其激活函数,的类型;,2)训练前初始参数的选取,包括:初始权值(初始),学习速率(自适应时)递增(减)因子的选取最大训练,次数;,3)权值的训练方法;,4)各种参数的先后调节(选取)次序;,5)训练程序的编写;,6)网络的最后选定(训练过程中不同参数情况下的性能对,比研究)。,11.1.1 BP网络的设计,1)网络结构,(1)输入输出节点,一般情况下,输入输出节点的设计是需要有关于网络实现,任务的专业方面的知识。,(2)层数,从实用的角度出发,除有特殊的要求,对于一般的应用情,况,采用具有一个隐含层的BP网络就能够达到目的。,(3)每层激活函数,隐含层中一般采用S型的激活函数输出层的激活函数可以,采用线性或S型。,2)各个初始参数的取值,设计实现模糊控制规则为的模糊神经网络控制器,此处我们,定义取整函数int(,x,)为不大于,x,的最大整数。,(1)输入/输出数据对的确定,a)网络由两个输入变量,e,(误差)和,ec,(误差的变化)构成输入向量P=e;ec,b)期望目标,输入和输出向量为:,P=-2 1 0 1 2 2 1 0 1 2 2 1 0 1 2 2 1 0 1 2 2 1 0 1 2;,-2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2;,T=-2 2 1 1 0 2 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 2;,(2)网络的结构,采用2-S1-1的网络结构:在隐含层采用S型激活函数,输出层采用线性激活函数,隐含层中神经元的个数S1待定。,表11.2 取lr=0.015时的网络训练记录,S1,误差平方和,训练次数,时间(秒),误差纪录过程,4,0.7696,10000,276.0600,平滑曲线,有向下收敛趋势,5,1.0821,10000,268.1500,500-800间有毛刺,6,0.5800,10000,267.3200,开始明显下降,但5500次后有小毛刺,7,0.0968,10000,263.9700,下降趋势明显,曲线平滑,8,0.0010,9182,261.5000,快速下降,曲线平滑,9,0.0010,7131,189.3900,平滑快速下降,10,0.0235,10000,274.1900,明显较快平滑下降曲线,11,0.1169,10000,267.6500,1800次后出现毛刺,有下降趋势,12,0.0010,4663,125.3400,很快的平滑下降,15,0.0010,1761,48.2200,下降很快,但初始误差非常大,且开始有峰,根据S1选择在能够解决问题的前提下适当加一点余量以加快误差下降速度的原则,根据表1和表2所示的具体情况,选取S1=9。,3)初始权值的选取,一般取初始权值在(-1,1)之间的随机数。威得罗等人提出一,仅需要使用在第一隐含层的初始值的选取上,后面层的初始值仍然采用随机取数。,种选定初始权值的策略:选择权值的量级为,,其方法,确定初始权值如下:,W10,B10=nwtan(S1,R);W20,B20=rands(S2,S1);,在S1=9,lr=0.015下的5次随机实验中最好的一次结果为,误差平方和(SSE)=0.00099989;,训练次数(epochs)=7131;,时间(time)=189.3900(秒)。,此时对应的初始权值为:,W10=2.2312-2.2035;1.1189-0.6776;1.5390-1.7795;,1.3675 1.3787;1.6230 1.4963;-0.9914-1.9675;,1.7568 2.3563;-1.3277 1.1191;2.9429 2.7832;,B10=-1.9254;-0.2765;2.0183;2.6543;-0.7643;1.0097;-1.7705;,-1.6106;2.5937;,W20=-1.3604 1.8750-0.7371-1.2319 1.7746 0.7099,-0.8243-0.8762 1.3169;,B20=-0.1761;,初始权值对训练结果的影响至关重要,即使是很微小的对初始权值的改变,也会带来误差纪录的剧烈变化,表现为出现毛刺,不平稳或下降趋势改变,甚至发散出现现象。,11.1.2 采用自适应学习速率与固定学习速率的比较,采用自适应学习速率的算法,重新对网络进行训练,取初始学习速率值lr=0.020;递增乘因子lr_inc=1.05;递减乘因子lr_dec=0.70;误差速率 err_ratio=1.04。得到,SSE=0.00099753;,epochs=6728;,time=178.1800(s)。,与表11.3中固定学习速率中最好的情况相比:,lr=0.0151;,SSE=0.00099982;,epochs=7083;,time=188.9400(s),,显然自适应算法的要收敛快,精度也高得多。,11.1.3改进算法的性能比较,表11.4 不同改进算法的训练结果记录,函数,算法描述,SSE,Epochs,Time(s),traingda,变学习速率的BP算法,0.00099753,6728,178.1800,traingdm,附加动量的BP算法,0.00611616,10000,197.2300,traingd,标准梯度下降法(标准BP算法),0.00589787,10000,132.0400,traincgf,Fletcher_powell共轭梯度法,0.000931746,107,4.5600,traincgp,Polak_Ribiere共轭梯度法,0.000993415,161,5.9300,traincgb,Powell_Beale共轭梯度法,0.000964970,129,4.8900,trainscg,Scaled共轭梯度法,无需进行,线性搜索,0.000989956,151,4.5500,trainbfg,BFGs拟牛顿法,0.000919438,48,2.5200,trainoss,One_Step_Secant一步割线,拟牛顿法,0.000992918,229,6.7000,trainlm,Levenberg_Marquardt法,0.000931362,28,1.6400,trainrp,弹性BP算法,0.000992987,517,7.6900,11.2.2 伺服电机神经网络仿真器的设计,图11.1 被控伺服电机的输入输出特性,图11.2 伺服电机模型的训练过程,网络的训练在误差平方和小于0.001或当循环训练次数达到所设最大值2000次时终止,网络的训练过程通过MATLAB神经网络工具箱来完成。,图11.3(a)伺服电机与它的神经网络 图11.3(b)神经网络训练过程中的,仿真器的输入输出特性曲线 误差平方和,图11.5 期望位移和从神经网络补偿器与仿真器串联后输出值的比较,11.2.4神经网络控制系统,一般的伺服电机模型含有一个线性部分和一个非线性部分。线性模型用传递函数,P*(s),表示,对非线性影响的补偿通过将干扰力矩,Tf,加在线性模型的输出力矩上来实现。,Tf=T*f,+Tl,图11.6,被控伺服电机神经网络控制系统方框图,11.2.5实验测试结果,图11.7(a)期望角位移波形 图11.7(b)三种情况的系统误差比较,图11.7 实验结果和比较,
展开阅读全文