徐夢(mèng) 史豪斌 李繼超
摘要:PID控制是一種根據(jù)系統(tǒng)的誤差,使用比例、積分、微分計(jì)算出控制量調(diào)節(jié)系統(tǒng)誤差的控制方法,PID控制器由于不需要建立精確的系統(tǒng)數(shù)學(xué)模型而廣泛應(yīng)用于工業(yè)控制的各個(gè)領(lǐng)域。但是經(jīng)典的PID控制方法的三個(gè)參數(shù)值通常是人工賦值,而人工賦值往往依賴于經(jīng)驗(yàn),因此控制效率較低。B尸神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的泛化能力,可以逼近任意的非線性函數(shù),本文使用BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器的參數(shù)。但是經(jīng)典BP神經(jīng)網(wǎng)絡(luò)需要不斷地調(diào)節(jié)權(quán)值,因此收斂速度很慢,本文利用動(dòng)量常數(shù)加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。仿真試驗(yàn)驗(yàn)證了本文提出的使用加速B尸神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器參數(shù)的方法具有更快的收斂能力,能夠?qū)崿F(xiàn)系統(tǒng)的快速逼近功能。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);動(dòng)量常數(shù);PID控制;仿真試驗(yàn)
中圖分類號(hào):TP13 文獻(xiàn)標(biāo)識(shí)碼:A
PID控制器[1]又稱為比例一積分一微分控制器,其結(jié)構(gòu)簡(jiǎn)單,控制效果良好,是一種在航空航天控制及工業(yè)過程控制中常見的反饋回路部件,經(jīng)典的PID控制器是由比例、積分、微分三個(gè)單元的控制器組成。比例控制是PID控制器的基礎(chǔ),積分控制可消除穩(wěn)態(tài)誤差,微分控制可加快大慣性系統(tǒng)響應(yīng)速度以及減弱超調(diào)趨勢(shì)。合理地調(diào)節(jié)比例、積分、微分控制參數(shù)是PID控制器取得良好效果的基礎(chǔ),但是在實(shí)際應(yīng)用中參數(shù)的調(diào)節(jié)往往依賴經(jīng)驗(yàn),而經(jīng)驗(yàn)的獲取需要通過大量的嘗試,因此,PID控制器參數(shù)的整定成為PID性能提高的瓶頸。人工神經(jīng)網(wǎng)絡(luò)[2]一直是人工智能領(lǐng)域的研究熱點(diǎn),它從信息處理的角度對(duì)人腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行抽象,建立神經(jīng)元模型,按不同的連接方式構(gòu)成不同的網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)作為連接主義的典范,它使用廣泛互聯(lián)的結(jié)構(gòu)和有效的學(xué)習(xí)機(jī)制來模仿人類大腦的信息處理過程,不僅是人工智能研究的重要方法,也是當(dāng)今類腦智能研究的重要工具[3]。BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差反向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),因?yàn)槠渚哂泻軓?qiáng)的泛化能力,可以逼近任意的非線性函數(shù),因此,本文使用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)PID控制參數(shù)的整定,實(shí)現(xiàn)控制參數(shù)的自行調(diào)節(jié)。
PID控制器廣泛應(yīng)用于工業(yè)控制領(lǐng)域,也一直是國(guó)內(nèi)外學(xué)者的研究熱點(diǎn)。
參考文獻(xiàn)[4]將PID控制方法應(yīng)用在四旋翼無(wú)人機(jī)的飛行控制上,首先對(duì)四旋翼無(wú)人機(jī)進(jìn)行動(dòng)力學(xué)建模,并在動(dòng)力學(xué)建模的基礎(chǔ)上設(shè)計(jì)了PID控制器,但是經(jīng)典的PID控制器的增益調(diào)節(jié)需要耗費(fèi)大量的時(shí)間,因此效率不高。參考文獻(xiàn)[5]提出了一種使用BP神經(jīng)網(wǎng)絡(luò)的PID控制器參數(shù)自整定方法,通過仿真試驗(yàn)驗(yàn)證了所提出方法的效果,但是經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)容易陷人局部最小值,收斂速度較慢。參考文獻(xiàn)[6]將Smith補(bǔ)償控制原理與BP神經(jīng)網(wǎng)絡(luò)在線自整定PID控制器結(jié)合,可以改善經(jīng)典BP神經(jīng)網(wǎng)絡(luò)(BPNN)的不足,但是在實(shí)際生產(chǎn)實(shí)踐中,這種方法仍然存在收斂速度慢等問題。針對(duì)經(jīng)典BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、學(xué)習(xí)效率不高的問題,本文在BP神經(jīng)網(wǎng)絡(luò)反向傳播過程中引入動(dòng)量常數(shù),動(dòng)量常數(shù)使得在垂直向下的方向上具有加速下降的趨勢(shì),當(dāng)學(xué)習(xí)曲面產(chǎn)生峰和谷時(shí),才減緩這種趨勢(shì),使用動(dòng)量常數(shù)可以使得神經(jīng)網(wǎng)絡(luò)的訓(xùn)練產(chǎn)生穩(wěn)定的效果[8]。
1 神經(jīng)網(wǎng)絡(luò)加速算法
1.1 BP神經(jīng)網(wǎng)絡(luò)
經(jīng)典BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層、輸出層三部分組成,每一層可以為一層或是多層,BP神經(jīng)網(wǎng)絡(luò)中權(quán)值的調(diào)整采用的是反向傳播算法[7],圖1展示了BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。反向傳播算法由兩部分組成:信息的正向傳播與誤差的反向傳播。在信息的正向傳播過程中,輸入信息從輸入層到隱含層逐層傳遞直到輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后反向傳播,通過BP神經(jīng)網(wǎng)絡(luò)將誤差信號(hào)沿原來的連接通路反向傳遞回來更新各層神經(jīng)元的權(quán)值直至達(dá)到期望值。
為提高BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,本文使用一種在反向傳播過程中加人動(dòng)量常數(shù)[8]的BP神經(jīng)網(wǎng)絡(luò)加速算法。在學(xué)習(xí)率為常數(shù)情況下,使用雙曲線正切函數(shù)表示S型激活函數(shù),并且在隱含層到輸出層之間加人動(dòng)量常數(shù)來加速訓(xùn)練[9]在神經(jīng)網(wǎng)絡(luò)的反向傳播算法中包含動(dòng)量常數(shù)會(huì)對(duì)訓(xùn)練產(chǎn)生穩(wěn)定的效果,通過與經(jīng)典BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行分類試驗(yàn)對(duì)比,證明了本文提出方法具有更快的收斂速度與學(xué)習(xí)能力[10,11]。
1.2 BP神經(jīng)網(wǎng)絡(luò)加速算法
圖1展示了BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),在BP神經(jīng)網(wǎng)絡(luò)中,輸出層的輸入等于隱含層的輸出,其余各層中,設(shè)某一層中任一神經(jīng)元j的輸入為netj,輸出為yj,與這一層相鄰的低一層的神經(jīng)元i的輸出yj則計(jì)算輸出為:式中:a=1.716,b=0.667,θj為神經(jīng)元j的閾值。設(shè)定輸出層的第k個(gè)神經(jīng)元的實(shí)際輸出是yk,輸入為netk,當(dāng)與輸出層相鄰的隱含層中第j個(gè)神經(jīng)元的輸出為yj,則yk和netk分別為:
BP神經(jīng)網(wǎng)絡(luò)的權(quán)值通過反向傳播的方式進(jìn)行更新,在權(quán)值的第t次迭代過程中,對(duì)于一個(gè)輸入模式xpt,若輸出層中第k個(gè)神經(jīng)元的期望輸出為Opkt,實(shí)際輸出為ypkt,則輸出層的輸出方差為:
若有N個(gè)輸入樣本,則神經(jīng)網(wǎng)絡(luò)系統(tǒng)的方差為:
因?yàn)檫B接權(quán)值ωkjt的修正應(yīng)該使得方差Ept最小,因此ωkjt應(yīng)該沿著Ept的梯度方向變化,當(dāng)輸入xpt時(shí),ωkjt的修正量成正比,可以表示為:式中:k為學(xué)習(xí)率,0<}刀<1為動(dòng)量常數(shù),在本文中,動(dòng)量常數(shù)取值為0.95。因此,可以得到:
對(duì)于與輸出層相鄰的隱含層中神經(jīng)元j和比該隱含層更低的神經(jīng)元i,權(quán)值ωji的修正量為:
其中:
因此:
所以可以得到隱含層連接權(quán)值的修正量為:
2 加速BP神經(jīng)網(wǎng)絡(luò)的PID參數(shù)調(diào)節(jié)模型
圖2展示了使用加速BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID參數(shù)的基本結(jié)構(gòu),加速BP神經(jīng)網(wǎng)絡(luò)采用三層結(jié)構(gòu):輸入層、隱含層、輸出層。輸入層與輸出層神經(jīng)元的個(gè)數(shù)為3,隱含層神經(jīng)元的個(gè)數(shù)為m,使用i表示輸入層的神經(jīng)元節(jié)點(diǎn),使用j表示隱含層的神經(jīng)元節(jié)點(diǎn),使用p表示輸出層的神經(jīng)元節(jié)點(diǎn)。加速BP神經(jīng)網(wǎng)絡(luò)的輸入層輸入的是系統(tǒng)的狀態(tài)量,即系統(tǒng)在某一時(shí)刻的輸入量、輸出量、輸入與輸出的差,BP神經(jīng)網(wǎng)絡(luò)的輸出為PID控制的參數(shù)Kp,Ki,Kd。
BP神經(jīng)網(wǎng)絡(luò)的輸入層輸出為:Oi(1)=x(i),i=1,2,3,隱含層輸入為:
隱含層輸出為:式中,ωji(2)為輸入層到隱含層的權(quán)值,f(x)為雙曲線正切激活函數(shù),上標(biāo)(1)、(2)、(3)分別代表輸入層、隱含層、輸出層,使用雙曲線正切函數(shù)作為激活函數(shù),神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率會(huì)加快,激活函數(shù)為:式中,a與b都是常數(shù),兩者的取值為a=1.716,b=0.667。隱含層的輸出作為輸出層的輸入,輸出層的輸入為:輸出層的三個(gè)輸出為:
輸出層的三個(gè)輸出為:
輸出層輸出的是PID控制器的三個(gè)參數(shù),可以表示為:
BP神經(jīng)網(wǎng)絡(luò)的方向傳播過程使用梯度下降的方法更新權(quán)值,如1.2節(jié)所述,在反向傳播過程中引入動(dòng)量常數(shù),隱含層到輸出層的權(quán)值更新公式如式(17)所示:式中e(k)= r(k)-y(k)。本文使用u(k),y(k)的相對(duì)變化量估計(jì),如式(18)所示:
PID控制器的輸出為:
權(quán)值更新公式可以表示為:
3 試驗(yàn)分析
3.1 加速BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器的實(shí)現(xiàn)步驟
使用加速BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器的具體實(shí)現(xiàn)步驟如下:
(1)初始化神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)、隱含層節(jié)點(diǎn),給出各個(gè)層的權(quán)值初始值、初始化學(xué)習(xí)率、迭代次數(shù)等。
(2)通過實(shí)時(shí)采樣得到rin(k),y(k),并計(jì)算兩者的誤差error(k)=rin(k)-y(k)。
(3)計(jì)算加速BP神經(jīng)網(wǎng)絡(luò)的輸出,神經(jīng)網(wǎng)絡(luò)的輸出就是PID控制器的三個(gè)增益值。
(4)神經(jīng)網(wǎng)絡(luò)通過反向傳播算法更新權(quán)值,神經(jīng)網(wǎng)絡(luò)不同的輸出使得PID控制器參數(shù)不斷調(diào)整。
(5)如果達(dá)到迭代次數(shù)則停止迭代。
3.2 加速B戶神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID參數(shù)對(duì)比試驗(yàn)
試驗(yàn)對(duì)比了加速BP神經(jīng)網(wǎng)絡(luò)與經(jīng)典BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制參數(shù)的效果,首先設(shè)置試驗(yàn)參數(shù),設(shè)置神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率為0.3,動(dòng)量常數(shù)為0.25,神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)為4,隱含層神經(jīng)元的個(gè)數(shù)為5,輸出層神經(jīng)元個(gè)數(shù)為3。圖3~圖8分別為使用經(jīng)典BP神經(jīng)網(wǎng)絡(luò)與加速BP神經(jīng)網(wǎng)絡(luò)(JBPNN)進(jìn)行系統(tǒng)逼近的試驗(yàn)結(jié)果,系統(tǒng)的輸入為:rin(x)=1,系統(tǒng)的輸出為:
圖6~圖8分別為使用經(jīng)典BP神經(jīng)網(wǎng)絡(luò)與加速BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器的輸入輸出變化曲線與PID控制器的三個(gè)參數(shù)的輸出變化曲線。圖5與圖8分別展示了使用經(jīng)典BP神經(jīng)網(wǎng)絡(luò)與加速BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器的輸入與輸出曲線圖,由于PID控制是一種基于誤差的閉環(huán)反饋控制,當(dāng)輸出等于輸入時(shí),完成系統(tǒng)逼近的功能。圖3展示了使用經(jīng)典BP神經(jīng)網(wǎng)絡(luò)與加速BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)率為0.3時(shí)的誤差收斂曲線,誤差通過系統(tǒng)的輸入與輸出做差得到,試驗(yàn)結(jié)果表明了使用加速BP神經(jīng)網(wǎng)絡(luò)的收斂速度高于經(jīng)典BP神經(jīng)網(wǎng)絡(luò)。為了進(jìn)一步說明試驗(yàn)效果,本文分別設(shè)置學(xué)習(xí)率從0.05到0.35之間,觀察經(jīng)典 BP神經(jīng)網(wǎng)絡(luò)與加速BP神經(jīng)網(wǎng)絡(luò)的誤差收斂時(shí)間隨學(xué)習(xí)率變化曲線,如圖4所示,加速BP神經(jīng)網(wǎng)絡(luò)的收斂時(shí)間總是少于經(jīng)典BP神經(jīng)網(wǎng)絡(luò),因此,加速BP神經(jīng)網(wǎng)絡(luò)收斂效果優(yōu)于經(jīng)典BP神經(jīng)網(wǎng)絡(luò)。
4 結(jié)論
本文對(duì)PID控制方法進(jìn)行了研究,通過分析,可以得出以下結(jié)論:
(1)針對(duì)經(jīng)典的PID控制器固定增益、收斂速度慢的問題,設(shè)計(jì)了一種使用BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)控制器增益的智能控制方法,通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)可以自適應(yīng)地調(diào)節(jié)控制器的增益。
(2)針對(duì)經(jīng)典BP神經(jīng)網(wǎng)絡(luò)的不足,使用了一種改進(jìn)BP神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PHD控制器參數(shù),該改進(jìn)BP神經(jīng)網(wǎng)絡(luò)在反向傳播過程中加人動(dòng)量常數(shù),并使用雙曲正切函數(shù)作為激活函數(shù)。本文最后設(shè)計(jì)了使用神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)PID控制器參數(shù)的試驗(yàn),試驗(yàn)結(jié)果表明了改進(jìn)BP神經(jīng)網(wǎng)絡(luò)具有比經(jīng)典BP神經(jīng)網(wǎng)絡(luò)更快的收斂速度,能夠更快地實(shí)現(xiàn)系統(tǒng)逼近的效果,這也驗(yàn)證了本文所提出方法的有效性。
參考文獻(xiàn)
[1]Bouabdallah S,Noth A,Siegwart R.PID VS LQ controltechniques applied to an indoor micro quadrotor[C]//IEEE/RSJInternational Conference on Intelligent Robots and Systems,2014.
[2]Afram A,Janabi-Sharifi F,F(xiàn)ung A S,et al.Artificial NeuralNetwork(ANN)based Model Predictive Control(MPC)and optimization of HVAC systems:A state of the art reviewand case study of a residential HVAC system[J].Energy&Buildings,2017,141:96-113.
[3]焦李成,楊淑媛,劉芳,等.神經(jīng)網(wǎng)絡(luò)七十年:回顧與展望[J].計(jì)算機(jī)學(xué)報(bào),2016,39(8):1697-1716.
[4]李俊,李運(yùn)堂.四旋翼飛行器的動(dòng)力學(xué)建模及PID控制叨.遼寧工程技術(shù)大學(xué)學(xué)報(bào),2012,31(1):114-117.
[5]廖芳芳,肖建.基于BP神經(jīng)網(wǎng)絡(luò)PID參數(shù)自整定的研究叨,系統(tǒng)仿真學(xué)報(bào),2005,17(7):1711-1713.
[6]季春光,王朋,李士勇,等.基于神經(jīng)網(wǎng)絡(luò)的時(shí)變大滯后系統(tǒng)的Smith預(yù)估控制[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2003,35(3):303-306.
[7]Khadse C B,Chaudhari M A,Borghate V B.Conjugate gradientback-propagation based artificial neural network for real timepower quality assessment[J].International Journal of ElectricalPower&Energy Systems,2016,82:197-206.
[8]Rumelhart D E,Hinton G E,Williams R J.Learningrepresentations by back-propagating errors[J].Readings inCognitive Science,1986,323(6088):399-421.
[9]Guyon I,Albrecht P,Cun Y L,et al.Design of a neuralnetwork character recognizer for a touch terminal[J].PatternRecognition,1991,24(2):105-119.
[10]Watrous R.Learning algorithms for connectionist networks:Applied gradient methods of nonlinear optimization[R].Proc.ICNN-87,1988:619-628.
[11] Jacobs RA.Increased rates of convergence through learning rateadaptation[M].University of Massachusetts,1987.