发明名称 一种基于归一化最小均方自适应滤波的自适应学率小波神经网络控制方法
摘要 本发明涉及小波神经网络优化技术领域,特别涉及一种基于归一化最小均方自适应滤波的自适应学率小波神经网络控制方法。本发明包括:建立控制系统模型;将小波网络的所有权值按层进行单位化;小波神经元权值优化;求解误差信号和训练代价;采用阶梯函数对活化函数的导函数分段处理;制定拟合导函数的模糊规则;确定隶属函数;确定每个模糊规则在导函数值中所占的比重;输出模糊系统、线性化显示活化函数;确定各神经元的诱导局部域及神经元输出;求解各个局部梯度函数;输出层自适应调整学率;确定输出层学率的范围;隐层的学率调节;训练神经元突触权值;输出跟踪控制信号;完成闭环反馈控制。本发明能够加快收敛速度,减小计算复杂度。
申请公布号 CN103971163A 申请公布日期 2014.08.06
申请号 CN201410195894.4 申请日期 2014.05.09
申请人 哈尔滨工程大学 发明人 袁赣南;杜雪;张瑶;夏庚磊;吴迪;李旺;贾韧锋;常帅
分类号 G06N3/08(2006.01)I 主分类号 G06N3/08(2006.01)I
代理机构 代理人
主权项 一种基于归一化最小均方自适应滤波的自适应学习率小波神经网络控制方法,其特征在于,包括如下步骤:(1)建立控制系统模型:采用小波网络对增强型PID控制器进行参数整定,令小波网络为MIMO的多层反馈网结构,各神经元函数为活化函数,神经网络的状态空间为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>W</mi><mi>k</mi></msub><mo>=</mo><msub><mi>W</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>&phi;</mi><mi>k</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>k</mi></msub><mo>=</mo><mi>&psi;</mi><mrow><mo>(</mo><msub><mi>W</mi><mi>k</mi></msub><mo>,</mo><msub><mi>U</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000502963860000011.GIF" wi="331" he="154" /></maths>其中W<sub>k</sub>为权值空间,U<sub>k</sub>为网络输入,Z<sub>k</sub>为网络输出,φ<sub>k</sub>为权值更新函数,ψ(W<sub>k</sub>,U<sub>k</sub>)为参数化的非线性函数,小波网络的权值空间为W<sub>k</sub>,将权值空间中的每个权值生成[‑1,1]区间上均匀分布的随机数;(2)取[‑1,1]区间上均匀分布的随机数为权值初始值,并将小波网络的所有权值按层进行单位化;(3)小波神经元权值优化:以小波函数为激励函数的神经元为中心,将前后两个网络层中的权值分别与小波函数类型、神经元个数进行关联,设第J层中的激励函数为小波函数,I、K分别为J层前后的两层,W<sub>LM</sub>、W<sub>MN</sub>为单位化后三层间的两个权值矩阵,则将小波函数类型和神经元个数与其关联的表达式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>W</mi><mi>IJ</mi></msub><mo>=</mo><msub><mi>K</mi><mi>j</mi></msub><mo>&CenterDot;</mo><msub><mi>W</mi><mi>IJ</mi></msub><mroot><mi>I</mi><mi>J</mi></mroot></mrow>]]></math><img file="FDA0000502963860000014.GIF" wi="299" he="69" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>W</mi><mi>JK</mi></msub><mo>=</mo><msub><mi>K</mi><mi>J</mi></msub><mo>&CenterDot;</mo><msub><mi>W</mi><mi>JK</mi></msub><mroot><mi>J</mi><mi>K</mi></mroot><mo>,</mo></mrow>]]></math><img file="FDA0000502963860000015.GIF" wi="352" he="86" /></maths>其中K<sub>J</sub>为常值;(4)引入训练样本集{x(n),norm(n)}:依次输入向量x(1),x(2)……x(n),记录网络输出z(1),z(2)……z(n),求解误差信号e(n)和训练代价ε(n):e(n)=norm(n)‑z(n)<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>&epsiv;</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>e</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000502963860000012.GIF" wi="272" he="112" /></maths>(5)采用阶梯函数对活化函数的导函数分段处理:将函数分为M段,对活化函数进行拟合,活化函数的每段的斜率对应导数的函数值;(6)制定拟合导函数的模糊规则:T‑S模型的输入变量:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>x</mi><mo>=</mo><mo>[</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>]</mo><mo>&DoubleRightArrow;</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>2</mn></msub><mo>=</mo><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>b</mi><mi>m</mi></msup></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000502963860000013.GIF" wi="518" he="152" /></maths>输出量为导函数值k(n),其模糊规则形式为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msup><mi>R</mi><mi>i</mi></msup><mo>:</mo><mi>if</mi><msub><mi>x</mi><mn>1</mn></msub><mi>is</mi><msubsup><mi>A</mi><mn>1</mn><mi>i</mi></msubsup><mi>and</mi><msub><mi>x</mi><mn>2</mn></msub><mi>is</mi><msubsup><mi>A</mi><mn>2</mn><mi>i</mi></msubsup><mo>,</mo><mi>then</mi><msub><mi>k</mi><mi>i</mi></msub><mo>=</mo><msub><mi>p</mi><mi>i</mi></msub><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><msub><mi>q</mi><mi>i</mi></msub><msub><mi>x</mi><mn>2</mn></msub><mo>+</mo><msub><mi>r</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>c</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000502963860000021.GIF" wi="1108" he="82" /></maths>其中<img file="FDA0000502963860000022.GIF" wi="53" he="68" />和<img file="FDA0000502963860000023.GIF" wi="56" he="68" />表示第i条规则中的模糊集合,b<sup>m</sup>代表第m段(m=1,2,...,M)的左边界,p<sub>i</sub>、q<sub>i</sub>和r<sub>i</sub>是模糊集合的常数;(7)确定隶属函数:采用高斯型函数作为隶属函数,各输入变量x<sub>j</sub>的隶属度为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>&mu;</mi><msubsup><mi>A</mi><mi>j</mi><mi>i</mi></msubsup></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msubsup><mi>c</mi><mi>j</mi><mi>i</mi></msubsup></mrow><msubsup><mi>&sigma;</mi><mi>j</mi><mi>i</mi></msubsup></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></mtd><mtd><mi>j</mi><mo>=</mo><mn>1,2,3</mn><mo>;</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>M</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000502963860000024.GIF" wi="985" he="173" /></maths>式中<img file="FDA0000502963860000025.GIF" wi="44" he="64" />和<img file="FDA0000502963860000026.GIF" wi="58" he="67" />分别为隶属度函数的中心和宽度;(8)确定每个模糊规则在导函数值中所占的比重:每条模糊规则对于输入量x=[x<sub>1</sub>,x<sub>2</sub>]的适用度μ<sub>i</sub>及其激活度<img file="FDA00005029638600000213.GIF" wi="42" he="52" />为:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>i</mi></msub><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></munderover><msub><mi>&mu;</mi><msubsup><mi>A</mi><mi>j</mi><mi>i</mi></msubsup></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000502963860000027.GIF" wi="290" he="127" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mover><mi>&mu;</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><mfrac><msub><mi>&mu;</mi><mi>i</mi></msub><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>c</mi></munderover><msub><mi>&mu;</mi><mi>i</mi></msub></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000502963860000028.GIF" wi="219" he="182" /></maths>(9)输出T‑S模糊系统、线性化显示活化函数:活化函数的线性形式:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>s</mi><mrow><mo>(</mo><mi>v</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>a</mi><mo>,</mo></mtd><mtd><mi>v</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>></mo><msub><mi>&theta;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>k</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>v</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><mi>d</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msub><mi>&theta;</mi><mn>2</mn></msub><mo>&lt;</mo><mi>v</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>b</mi><mo>,</mo></mtd><mtd><mi>v</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000502963860000029.GIF" wi="813" he="230" /></maths>s(x)为线性形式的活化函数,a和b分别为函数的左右边界,θ<sub>1</sub>和θ<sub>2</sub>分别为边界的阈值,k(n)和d(n)为线性区域系数,λ为常值系数;(10)确定各神经元的诱导局部域及神经元输出:诱导局部域与神经元j的输出信号分别为:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>v</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>I</mi></munderover><msub><mi>w</mi><mi>ij</mi></msub><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>X</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><msub><mi>W</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005029638600000210.GIF" wi="602" he="105" /></maths><img file="FDA00005029638600000211.GIF" wi="301" he="95" />其中v<sub>j</sub>(n)为诱导局部域,w<sub>ij</sub>为权值,x<sub>i</sub>(n)为上层神经元输出,W<sub>ij</sub>和X<sub>i</sub>(n)分别为w<sub>ij</sub>和x<sub>i</sub>(n)构成的向量,I为上层神经元总数,<img file="FDA00005029638600000212.GIF" wi="102" he="72" />为j层的活化函数;(11)求解各个局部梯度函数δ<sub>j</sub>(n),局部梯度δ<sub>j</sub>(n)为:<img file="FDA0000502963860000031.GIF" wi="932" he="204" />步骤(9)的活化函数线性化后,函数δ<sub>jL</sub>(n)的线性化表示为:<img file="FDA0000502963860000032.GIF" wi="914" he="194" />(12)输出层自适应调整学习率:自适应学习率为:<maths num="0012" id="cmaths0012"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>&mu;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo></mo><msub><mrow><mo>.</mo><mo>.</mo><mo>.</mo><mi>x</mi></mrow><mi>J</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>k</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>=</mo><mn>1</mn><mo>/</mo><mo>[</mo><msubsup><mi>k</mi><mi>k</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>x</mi><mn>2</mn><mn>2</mn></msubsup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><mo></mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msubsup><mi>x</mi><mi>j</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn></msubsup><mo>]</mo><mo>,</mo></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000502963860000033.GIF" wi="976" he="173" /></maths>其中k<sub>k</sub>(n)=s′<sub>k</sub>(v<sub>k</sub>(n))=常数c<sub>k</sub>,σ<sub>v</sub>(0<σ<sub>v</sub><1);(13)确定输出层学习率的范围:阈值:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>&mu;</mi><mi>max</mi></msub></mtd><mtd><msub><mi>&mu;</mi><mi>k</mi></msub><mo>></mo><msub><mi>&mu;</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><msub><mrow><mo>,</mo><mi>x</mi></mrow><mn>2</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>x</mi><mi>J</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>k</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd><mtd><msub><mi>&mu;</mi><mi>min</mi></msub><mo>&lt;</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>&lt;</mo><msub><mi>&mu;</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&mu;</mi><mi>min</mi></msub></mtd><mtd><msub><mi>&mu;</mi><mi>k</mi></msub><mo>&lt;</mo><msub><mi>&mu;</mi><mi>min</mi></msub></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000502963860000034.GIF" wi="1078" he="229" /></maths>(14)隐层的学习率调节:对隐层的每个神经元均采用相同的学习率:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>k</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&mu;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000502963860000035.GIF" wi="433" he="119" /></maths>其中μ<sub>j</sub>表示隐层第j个神经元的学习率,K为输出层神经元个数;(15)训练神经元突触权值:引入步骤(12)和步骤(14)的自适应学习率,局部梯度采用非线性的δ(n):w(n+1)=w(n)+Δw(n)Δw(n)=μ(n)δ(n)x(n);(16)循环次数加1,返回步骤(10),直至满足停止准则,输出跟踪控制信号;(17)将控制信号输入执行机构并与系统进行计算融合,输出被控参数值,与预期量进行比较,完成闭环反馈控制。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室