摘 要:PID控制算法在工業(yè)控制領(lǐng)域中應(yīng)用廣泛,但在實際應(yīng)用中,其參數(shù)整定問題一直是一個尚未完全解決的難點。文章介紹了BP神經(jīng)網(wǎng)絡(luò)的基本原理,對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行構(gòu)建,在構(gòu)建過程中通過相關(guān)方法對權(quán)系數(shù)進(jìn)行有效修正,同時對PID參數(shù)進(jìn)行整定,運用matlab軟件對一個實例進(jìn)行了仿真研究,分析了BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率,隱層節(jié)點數(shù)對控制效果的影響。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);PID;控制效果
引言
PID控制因為算法簡單,魯棒性能好,可靠性高被廣泛應(yīng)用于工業(yè)過程控制中,通常需要整定3個參數(shù):比例系數(shù)、微分時間、積分時間。但由于傳統(tǒng)PID控制在實際工業(yè)控制系統(tǒng)中會出現(xiàn)類似控制過程非線性,時變性等不確定的問題,會使原來的參數(shù)難以建立精確的數(shù)學(xué)模型,從而無法保證系統(tǒng)達(dá)到理想的控制效果[1]。
而在傳統(tǒng)PID控制過程中由于部分因素影響會使得控制過程出現(xiàn)某些問題,如非線性問題,另外還可能會造成時變性不確定。這對于相關(guān)模型構(gòu)建則會帶來一定的影響,使模型精確度降低,無法滿足控制要求。因此,需要一種改進(jìn)型的PID控制器對系統(tǒng)進(jìn)行控制。神經(jīng)網(wǎng)絡(luò)具有自適應(yīng)和自學(xué)習(xí)的能力[2],通過相關(guān)手段對PID控制器進(jìn)行完善,可對其系統(tǒng)結(jié)構(gòu)等進(jìn)行優(yōu)化從而得到更好的控制效果,保證系統(tǒng)的穩(wěn)定性,相對于傳統(tǒng)的PID控制算法來說具有更好的適應(yīng)性。
1 BP神經(jīng)網(wǎng)絡(luò)PID控制
1.1 BP算法的基本原理
利用梯度最速下降法作為BP算法可對整個控制體系進(jìn)行有效優(yōu)化,一方面采取該方法可對權(quán)系數(shù)進(jìn)行修正,從而使傳播誤差得到控制。在上述條件下可讓網(wǎng)絡(luò)實際輸出值與目標(biāo)輸出值偏差控制在最小范圍內(nèi),使得控制過程得到優(yōu)化。而在正向傳播階段,需要對輸入層權(quán)值進(jìn)行控制,通過利用隱含層節(jié)點可對相關(guān)函數(shù)激活并對輸出層節(jié)點產(chǎn)生作用,最后獲取輸出值。若輸出值與目標(biāo)輸出無法匹配再對誤差變化進(jìn)行分析,通過有效反向傳播進(jìn)行反饋,同時對各個層級的神經(jīng)元權(quán)值進(jìn)行轉(zhuǎn)變,最終得到期望值[3]。
1.2 基于BP網(wǎng)絡(luò)的PID控制算法歸納
基于BP網(wǎng)絡(luò)的PID控制器控制算法歸納如下:
①先對BP網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行有效確定,確定輸入層節(jié)點數(shù)M及隱藏層節(jié)點Q,同時對各層的加權(quán)系數(shù)初值w■■(0)和w■■(0)進(jìn)行把握,另外還要確定學(xué)習(xí)速率?濁和慣性系數(shù)?琢;②采樣rin(k)和yout(k),獲取誤差error(k)=rin(k)-yout(k);③對PID控制器可調(diào)參數(shù)進(jìn)行計算(神經(jīng)元輸入值、輸出值、輸出層值);④根據(jù)相關(guān)公式對PID控制器的輸出u(k)進(jìn)行計算;⑤利用神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)對w■■(0)和w■■(0)進(jìn)行調(diào)整,從而使PID控制參數(shù)可自行調(diào)整;⑥置k=k+1,返回至第①步。
2 實例說明
設(shè)被控對象的近似數(shù)學(xué)模型為:y(k)=■+u(k-1),a0(k)是慢時變的,a0(k)=1+0.15sin(k?仔/25)。輸入信號為正弦信號r(k)=sin(2k?仔/100),將學(xué)習(xí)速率設(shè)置為0.28,慣性系數(shù)設(shè)置為0.04,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置為4-5-3型。
仿真曲線圖如圖1至圖4所示。
從上述曲線可知基于神經(jīng)網(wǎng)絡(luò)所得到的PID控制器可保持穩(wěn)定的工作狀態(tài),誤差較小,這使得超調(diào)及抖動等問題均得到了有效控制。另一方面上述PID控制器具備了理想的精度,可同步跟蹤控制信號,無論是在適應(yīng)性上還是速率上較傳統(tǒng)PID控制均表現(xiàn)了明顯的優(yōu)勢。
3 參數(shù)設(shè)定
3.1 網(wǎng)絡(luò)的層數(shù)
一般情況下會以三層網(wǎng)絡(luò)進(jìn)行構(gòu)建,其中存在一個隱藏層。利用多層結(jié)構(gòu)可在一定程度上提升精度,當(dāng)然也會造成結(jié)構(gòu)趨于復(fù)雜化,而在隱含層當(dāng)中適當(dāng)增加神經(jīng)元數(shù)目也可有效控制誤差并提升進(jìn)度,從操作性來看更為簡便。
3.2 加權(quán)系數(shù)的初值
加權(quán)系數(shù)的初值最好設(shè)置為隨機數(shù)。因為系統(tǒng)是非線性的,初始值與學(xué)習(xí)是否達(dá)到局部最小、是否能夠收斂以及訓(xùn)練時間的長短的關(guān)系很大。如果在學(xué)習(xí)開始時將所有初值設(shè)置一致,那么各個隱含層將會得到一致的加權(quán)系數(shù)調(diào)整量,并保持加權(quán)系數(shù)一致。在matlab中,分別用語句wi=0.50*rands(H,IN);wo=0.50*rands(Out,H);對輸入層到隱層,以及隱層到輸出層隨機取值。
3.3 學(xué)習(xí)速率
學(xué)習(xí)速率的選取范圍在0.01-0.8之間,本研究中將學(xué)習(xí)速率設(shè)定為0.01至0.8區(qū)間內(nèi),以此促使系統(tǒng)可維持穩(wěn)定的運行態(tài)。學(xué)習(xí)速率決定著每次循環(huán)訓(xùn)練中引起的突觸權(quán)值變化量。選擇的太大,可能會導(dǎo)致系統(tǒng)不穩(wěn)定;選擇的太小,雖然能保證網(wǎng)絡(luò)的誤差值趨于最小誤差值,但學(xué)習(xí)時間過長,收斂速度較慢。
3.4 隱層節(jié)點數(shù)
在滿足精度要求的前提下取盡可能少的隱層節(jié)點數(shù)。隱層節(jié)點數(shù)與輸入層和輸出層的節(jié)點數(shù)以及網(wǎng)絡(luò)的復(fù)雜程度有關(guān)。當(dāng)隱含層節(jié)點數(shù)取輸入層和輸出層節(jié)點數(shù)之間且靠近輸入層節(jié)點數(shù)的值時,收斂速度較快;隱層節(jié)點數(shù)太少時,學(xué)習(xí)過程不收斂;隱層節(jié)點數(shù)太多時,網(wǎng)絡(luò)映射能力增強,容易收斂到最小點,但是會使學(xué)習(xí)時間變長,網(wǎng)絡(luò)容錯性降低。
4 結(jié)束語
基于BP神經(jīng)網(wǎng)絡(luò)PID控制器必須通過試探法先確定理想的學(xué)習(xí)速率以及合適的初始權(quán)值,讓系統(tǒng)在運行過程中保持穩(wěn)定態(tài)。神經(jīng)網(wǎng)絡(luò)PID控制方法簡單,無需建立被控系統(tǒng)的數(shù)學(xué)模型,避免了人工整定PID參數(shù)的繁瑣工作。文章只是對基于BP神經(jīng)網(wǎng)絡(luò)的PID控制進(jìn)行簡單的研究,并沒有應(yīng)用到現(xiàn)實中的實際問題,如果將此類研究和現(xiàn)實中的例子結(jié)合,將會很有意義。
參考文獻(xiàn)
[1]劉強,賈鴻莉,齊晶薇.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法的教學(xué)研究[J].中國信息化,2013(2):276-277.
[2]夏紅.PID參數(shù)整定方法綜述[J].浙江科技學(xué)院學(xué)報,2003,15(4):236-240.
[3]劉玉儒,張振華,劉陵順,劉迪.一種基于BP神經(jīng)網(wǎng)絡(luò)算法PID控制器的研究及其仿真[J].電子設(shè)計工程,2012,20(12):140-142.