基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID控制器
摘 要:本文提出了一種分層調(diào)整學(xué)習(xí)速率的改進(jìn)方法,并設(shè)計(jì)了以改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)參數(shù)為基礎(chǔ)的自整定PID控制器,在MATLAB中對(duì)其進(jìn)行仿真實(shí)驗(yàn)。
關(guān)鍵詞:BP;神經(jīng)網(wǎng)絡(luò);PID控制器
1 分層調(diào)整學(xué)習(xí)速率的改進(jìn)BP算法
BP算法本質(zhì)上是梯度下降法。若要改進(jìn)BP算法,首先要熟悉了解梯度下降法的原理。
設(shè)函數(shù)f(x)具有一階連續(xù)導(dǎo)數(shù),假設(shè)在x=x*處取得函數(shù)極小值,用xk代表在第k次接近極小值點(diǎn),則在第k+1次接近極小值點(diǎn)為xk+1=xk+λpk,對(duì)函數(shù)f(x)在xk+1處進(jìn)行泰勒級(jí)數(shù)展開:
f(xk+1)=f(xk+λpk)=f(xk)+λ?犖f(xk)Tpk+o(λ)(1-1)
上式中?犖f(xk)為函數(shù)f(x)在xk處的梯度,當(dāng)λ取得非常小的值時(shí),o(λ)為λ的高階無窮小。如果有
?犖f(xk)Tpk<0 (1-2)
能推出
f(xk+λpk)
這就表明在第k+1次迭代時(shí)的函數(shù)值小于第k次迭代的函數(shù)值。為了使?犖f(xk)Tpk取得最小值,對(duì)其求模變化:
?犖f(xk)Tpk=||?犖f(xk)||・||pk||・cosθ (1-4)
上式中,θ為向量?犖f(xk)與pk的夾角。
假設(shè)||pk||為固定值,當(dāng)θ=0時(shí),即向量?犖f(xk)與pk同向,則cosθ=1,?犖f(xk)Tpk取得最大值;反之,當(dāng)θ=180時(shí),即向量?犖f(xk)與pk反向,則cosθ=-1,?犖f(xk)Tpk<0,所以向量pk的正方向就是梯度的負(fù)方向。沿其負(fù)梯度方向進(jìn)行搜索能夠使f(x)函數(shù)值減小的速率加快,能夠快速地找到極小點(diǎn)。
根據(jù)式(1-1)可知,λ作為梯度?犖f(xk)與向量pk的系數(shù),稱為步長,同時(shí)影響著網(wǎng)絡(luò)在負(fù)梯度方向上的搜索能力。選取最佳步長的計(jì)算公式如下:
λk=(1-5)
把求得最佳步長代入式(1-3)得
f(xk-λkpk)
我們在最佳步長的計(jì)算中能夠發(fā)現(xiàn),公式(1-5)的計(jì)算增加了網(wǎng)絡(luò)計(jì)算量,可以通過使用學(xué)習(xí)速率η替代步長來降低計(jì)算量。在文章中我們提出了一種分層調(diào)整學(xué)習(xí)速率的方法,它能夠同時(shí)調(diào)整輸入層與隱含層及隱含層與輸出層之間的網(wǎng)絡(luò)連接權(quán)值的學(xué)習(xí)速率。
設(shè)定網(wǎng)絡(luò)的學(xué)習(xí)速率η為一個(gè)較小的值,當(dāng)滿足f(xk-λkpk)
η?坩2η (1-7)
當(dāng)滿足f(xk-λkpk)>f(xk)條件時(shí),則學(xué)習(xí)速率的改變趨勢為:
η?坩0.5η (1-8)
2 以改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)參數(shù)為基礎(chǔ)的自整定PID控制器
相比較其他而言,BP神經(jīng)網(wǎng)絡(luò)主要優(yōu)勝點(diǎn)在于能夠?qū)⒕W(wǎng)絡(luò)連接權(quán)值不斷代入計(jì)算來修正誤差,使之可以不斷接近適應(yīng)度函數(shù)。學(xué)習(xí)算法的實(shí)現(xiàn)難度比較小,所以在構(gòu)建PID控制器時(shí),用BP網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)建是比較常見的。以BP算法為基礎(chǔ)的.神經(jīng)網(wǎng)絡(luò)能夠通過自學(xué)及自適應(yīng)能力找到一組最優(yōu)PID參數(shù),使系統(tǒng)的性能達(dá)到最優(yōu)。
、俪R(guī)的PID控制器:閉環(huán)控制被控對(duì)象,在線整定KP、KI、KD參數(shù);
、贐P神經(jīng)網(wǎng)絡(luò):BP神經(jīng)網(wǎng)絡(luò)通過自學(xué)習(xí)和自適應(yīng)能力不斷更新整定網(wǎng)絡(luò)的連接權(quán)值,通過不斷整定使輸出值極限接近目標(biāo)值。當(dāng)輸出值為KP、KI、KD時(shí),系統(tǒng)的性能為最佳。
假定BP神經(jīng)網(wǎng)絡(luò)優(yōu)化PID控制器是一個(gè)由三層網(wǎng)絡(luò)構(gòu)成的,且其輸入層節(jié)點(diǎn)有M個(gè),隱含層節(jié)點(diǎn)Q個(gè)、輸出層節(jié)點(diǎn)3個(gè)。
輸出節(jié)電輸出對(duì)應(yīng)KP、KI、KD可調(diào)參數(shù)值,隱含層的激發(fā)函數(shù)可以取Sigmoid函數(shù),可正可負(fù)。然而輸出層的激發(fā)函數(shù)為非負(fù)。
BP神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)的輸出為
公式中,g′(x)=g(x)・(1-g(x)),f′(x)=(1-f2(x))/2。
以改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的PID控制器算法:
一是對(duì)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行明確,在明確了網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí)也就明確了輸出層及隱含層的節(jié)點(diǎn)個(gè)數(shù)。并對(duì)各層的(0)初始化,k=1;
二是為計(jì)算e(k)=r(k)-y(k),可以通過樣本采集得到的r(k)及y(k)代入計(jì)算;
三是在將r(i),y(i),u(i-1),e(i)(i=k,k-1,...,k-p)輸入到神經(jīng)網(wǎng)絡(luò)之前進(jìn)行統(tǒng)一化處理;
四是通過式(2-2)和(2-3)將各層神經(jīng)元的輸入輸出計(jì)算出來,輸出層輸出的數(shù)據(jù)就是PID控制器的KP(k)、K1(k)、KD(k);
五是PID的控制輸出u(k)可以由式u(t)=KP[e(t)]得到;
六是當(dāng)所有網(wǎng)絡(luò)權(quán)值刷新一次之后,若誤差e(k+1)滿足e(k+1)<
e(k),那么按照式(1-7)對(duì)其學(xué)習(xí)速率增大,當(dāng)誤差不再變化時(shí),此時(shí)記錄連接權(quán)值。若誤差e(k+1)滿足e(k+1)>e(k),那么按照式(1-8)對(duì)其學(xué)習(xí)速率減小,當(dāng)誤差減小時(shí),記錄連接權(quán)值
七是將k賦值為k+1,返回第二步。
3 改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID仿真
將被控對(duì)象假定為:
網(wǎng)絡(luò)結(jié)構(gòu)采用4-5-3結(jié)構(gòu),輸入信號(hào)為γ(k)=1.0,此信號(hào)是階躍信號(hào)。網(wǎng)絡(luò)結(jié)構(gòu)中的4代表輸入層有四個(gè)輸入,為給定輸入r(k)、
e(k)=r(k)-y(k)、y(k)和1。網(wǎng)絡(luò)結(jié)構(gòu)中的3代表輸出層有三個(gè)參數(shù),為KP、KI、KD。η=0.01,加權(quán)系數(shù)初值在[-1,1]區(qū)間內(nèi)隨機(jī)賦值。經(jīng)過仿真得到的曲線圖如圖1和圖2所示。
圖1 單位階躍響應(yīng)曲線圖
圖2 誤差變化曲線
被控對(duì)象是二階的,所以階躍響應(yīng)曲線以正弦的方式衰減,并在系統(tǒng)穩(wěn)定水平線上下振蕩。從圖1和圖2可以看出,剛啟動(dòng)時(shí)系統(tǒng)振蕩幅度較大,誤差也比較大,系統(tǒng)在0.2s左右時(shí)振蕩幅度變小,誤差也迅速變小,在0.3s之后系統(tǒng)達(dá)到穩(wěn)定運(yùn)行,誤差幾近于0。由圖可知在單位階躍響應(yīng)中改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)相較BP神經(jīng)網(wǎng)絡(luò)而言,超調(diào)量小,收斂速度快。
4 總結(jié)
提出了一種分層調(diào)整學(xué)習(xí)速率的BP神經(jīng)網(wǎng)絡(luò)改進(jìn)方法,并把改進(jìn)的方法與傳統(tǒng)的PID結(jié)合。并基于MATLAB平臺(tái)建立了模型進(jìn)行仿真驗(yàn)證,仿真結(jié)果驗(yàn)證了改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID具有更快的響應(yīng)速度、更高的精度,且穩(wěn)定性更強(qiáng)。
參考文獻(xiàn):
[1]李楠.基于神經(jīng)網(wǎng)絡(luò)直流無刷電機(jī)控制策略的研究[D].蘭州理工大學(xué),2005.
[2]黃家圣.人工神經(jīng)網(wǎng)絡(luò)在無刷直流電動(dòng)機(jī)中的應(yīng)用研究[D].上海海事大學(xué),2005.
[3]王國玲,李振宇,范自道.無刷直流電機(jī)自適應(yīng)模糊PID控制系統(tǒng)[J].機(jī)電工程技術(shù),2013(2):30~33.
[4]焦竹青,屈百達(dá),徐保國.基于BP神經(jīng)網(wǎng)絡(luò)PID控制的BLDCM調(diào)速系統(tǒng)[J].微計(jì)算機(jī)信息,2007(2):112~114.
[5]彭韜,魚振民.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID的無刷直流電動(dòng)機(jī)速度控制的研究[J].微電機(jī),2005,38(4):17~20.
【基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID控制器】相關(guān)文章:
1.基于改進(jìn)BP的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制
2.探討B(tài)P神經(jīng)網(wǎng)絡(luò)的圖像Hash算法
3.基于BP神經(jīng)網(wǎng)絡(luò)的工程項(xiàng)目投標(biāo)報(bào)價(jià)風(fēng)險(xiǎn)加價(jià)預(yù)測研論文
4.基于自編碼神經(jīng)網(wǎng)絡(luò)建立的搜索信息模型
5.淺論BP神經(jīng)網(wǎng)絡(luò)模型在中小企業(yè)融資征信評(píng)估中的應(yīng)用
7.探析基于人工神經(jīng)網(wǎng)絡(luò)的圖書館服務(wù)質(zhì)量評(píng)價(jià)
8.BP神經(jīng)網(wǎng)絡(luò)的電力企業(yè)信息化水平評(píng)價(jià)指標(biāo)體系工學(xué)論文