盧 萍 金朝永
(廣東工業大學應用數學學院,廣東 廣州 510520)
基于PID神經網絡的研究和改進
盧 萍 金朝永
(廣東工業大學應用數學學院,廣東 廣州 510520)
針對PID神經元網絡(PIDNN)將靜態神經元擴充到動態神經元的特性,通過分析PIDNN控制算法存在的局限性,對變量系統的激勵函數提出了改進方案,擴大了PID神經網絡控制的適用范圍。Matlab仿真測試表明,改進后的PIDNN系統具有良好的穩態性,試驗驗證了算法的有效性。
PID控制 神經網絡 激勵函數 誤差 仿真
隨著控制理論和技術的不斷發展,各類控制方法不斷涌現。由于PID控制器具有結構簡單、魯棒性強、易于實現等優點,在很多方面都有廣泛的應用。對具有不確定性和非線性的被控對象,傳統的PID控制往往得不到滿意的結果。為克服傳統控制方法和一般神經元網絡的缺點,將神經網絡與傳統的PID控制相結合,提出一種本質性的動態網絡——PID神經元網絡[1]。該方法利用梯度下降法使誤差函數達到最小,存在收斂速度慢和易陷入局部極小這兩個問題,在很大程度上具有一定的局限性。本文針對該情況,對多變量系統即單輸出PIDNN(single-output PID neural network,SPIDNN)的激勵函數進行修正,改進了算法。
SPIDNN采用的是三層網絡結構,其基本形式為2×3×1的結構,如圖1所示。
圖1中,SPIDNN網絡共有六個神經元,包括輸入層、隱含層和輸出層三層。每個輸入層有兩個神經元,一個神經元接收目標值和給定值,另一個接收被控變量值。輸入層神經元的輸出經過連接權值,進入隱含層進行綜合處理。隱含層的三個神經元為比例元、積分元和微分元,分別對輸入信號進行比例、積分和微分運算。隱含層的輸出再通過連接權值,進入輸出層。輸入層的神經元采用比例神經元,它完成整個網絡控制規律的綜合和輸出。SPIDNN可以完成單變量的單輸入-單輸出系統的控制任務[2]。

圖1 SPIDNN的結構圖Fig.1 The structure of SPIDNN
SPIDNN網絡采用誤差反向傳播算法的神經元網絡,從運行過程中的信息流來看,SPIDNN屬于前饋型神經網絡。該網絡僅通過許多具有簡單處理能力的神經元的復合作用使網絡具有復雜的非線性映射能力,且沒有反饋。SPIDNN的算法由前向算法和誤差反傳算法兩個部分組成。
SPIDNN的前向算法根據網絡的兩個輸入值,按網絡當前權重值以及各層狀態函數和輸出函數形成網絡的輸出。
1.1.1 輸入層
在任意采樣時刻k,將輸入系統被調量的給定值r(k)和實際值y(k)分別賦值給輸入層的輸入v,輸出層神經元的狀態u等于v,通過閾值函數確定輸入層的輸出x'i。
1.1.2 隱含層
隱含層是神經元網絡中影響最大的層次。它存在比例元、積分元和微分元三個神經元,各自的輸入均值v'j為輸入層至隱含層的加權總和,即:

式中:wij(i=1,2;j=1,2,3)為輸入層至隱含層的連接權值。它們的輸入-輸出函數分別為歸一化的單位比例、積分和微分函數。比例元的狀態函數為:

神經網絡的比例元、積分元和微分元在隱含層與在輸入層的輸出方式都是通過閾值函數進行的。
1.1.3 輸出層
神經元的輸出為:

而SPIDNN的輸出值與輸出層神經元的輸出值相同,即 v(k)=x″(k)。
根據梯度法調節SPIDNN的權重,按附加動量法

SPIDNN由前向算法和反向傳播算法兩部分組成,而反傳算法的權值調節分別在隱含層至輸出層、輸入層至隱含層中進行。因此,下面將分別就隱含層至輸出層、輸入層至隱含層的反向傳播算法進行說明。
1.2.1 隱含層至輸出層

隱含層至輸出層的權值迭代公式:調節網絡權值,設學習步長為η,各層權值的迭代方程經過n步訓練和學習后,各層權值的迭代方程為:

SPIDNN隱含層至輸出層的連接權值算法修改為:

根據偏導數的鏈式法則,有:
式中:j=1,2,3。
1.2.2 輸入層至隱含層

對式(12)的微分進行變形,可得:

SPIDNN輸入層至隱含層的連接權值算法修改為:

由SPIDNN控制系統的結構和算法可知,SPIDNN控制系統的算法不依賴于被控對象參數,而是根據控制效果進行在線自主學習,調整網絡連接權值,實現對被控對象的控制。
SPIDNN存在無PID先驗知識的控制系統,此時的初始權值只能隨機取數;該網絡的訓練起點和收斂起始方向也都是隨機的,陷入局部極小值的概率增大,容易使收斂速度變慢[3]。因此,對于無PID控制先驗知識的系統初值必須加以改進。
根據權值的迭代公式可知,在前提是保證收斂的情況下,權值的調整幅度越大,梯度的變化也相應變大,學習速度變快。由權值迭代公式可知,激勵函數的導數與權值變化成正比例關系,同時,激勵函數頻繁使用,對整個網絡的學習都起著重要的影響作用。
理論上,任意階導數不為常數的函數都可以作為激勵函數,當函數的導數趨于0時,輸出值和期望值就很接近。因此,選用S型函數是比較合理的。若輸出值和期望值相差較大,則有必要對算法進行一定的修正,否則函數將誤差信號反傳下去的難度增大,會導致誤差函數的下降速度變慢,甚至還會出現誤差函數不能下降的情況。此時,網絡進入假飽和狀態[4]。在飽和區中,激勵函數的導數值很小,所以在每次學習中只能對權值作很小的修正,輸出單元在一段時間內會在平坦區(局部極小值點或者是在鞍點)工作,使網絡的均方根誤差保持不變或變化很小。
激勵函數在一定意義上可以決定誤差函數的性質特征。任意階導數不為常數的函數都可作為激勵函數。但研究發現,很多常用的函數使網絡陷入局部極小值的可能性較大,這無疑是需要改進的。
對于一般的神經網絡算法,通常選用Sigmoid函數。大致的原因有兩個:一是它與生物神經元的反應非常相似;二是導數比較簡單。通常SPIDNN輸出部分的激勵函數是以閾值函數作為激勵函數,也有以雙曲正切函數tanh(x)作為激勵函數的[5],但這兩種函數都有一定的缺陷性。閾值函數如下:

閾值函數將被控對象的輸出限制在[-1,1],當狀態u(k)連續幾次都大于1(或者都小于-1)時,輸出v均為1(或者為-1),反傳算法中的權值2](k)≈2](k-1)。此時,易造成網絡收斂速度減慢,甚至引起運算停止。雙曲正切函數形式如下:

基于上述分析,應選擇合適的激勵函數并進行一些必要的參數調整。如果在網絡的學習中,考慮誤差的均衡性,使激勵函數的導函數值可以隨誤差的變化而作相應的調整,可有效地避免麻痹現象的產生,加快網絡的收斂速度[6-7]。
根據文獻[7],在原有的函數的基礎上,對λx進行修正,并對激勵函數進行改進[8]。具體調整如下:


對于上述改進的激勵函數,數據的輸入輸出被限定在某個固定的范圍內,基于初始權值的選取是任意的,激勵函數對網絡的影響也是不定的。為了更直接地避免落入飽和區,可對輸入輸出的參數進行數據的歸一化[9],避免激勵函數陷入飽和區間上。
通過函數變化t(x)=0.8f(x)+0.1,將區間歸一化為[0.1,0.9]。改進的激勵函數可定義如下:

設被控對象的數學模型為:

式中:系數 a(k)是慢時變的,a(k)=1.2(1-0.8e-0.1k)。輸入指令信號(期望輸出值為rin(k)=1.0),初始步長η=0.05,動量因子?=0.2,初始權值選區間上的隨機數,采樣周期ts=0.001 s[10],用Matlab進行程序仿真,結果如圖2~圖4所示[11-12]。

圖2為在無PID先驗知識時系統的輸出曲線和誤差曲線,圖3為根據式(18)改進后的SPIDNN學習得到的輸出曲線和誤差曲線,圖4為根據進一步改進后的SPIDNN學習得到的輸出曲線和誤差曲線。對比圖2~圖4所示曲線可知,改進的SPIDNN控制系統在經過一段時間的學習之后,在較短時間內可以達到較好的性能[13-14]。
通過分析激勵函數對網絡性能的影響,對神經網絡控制中的激勵函數進行改進,使激勵函數實現了動態性,擴大了系統控制的范圍。同時,采用數據歸一化處理,有效地消除或減少了區間變形誤差的影響,降低了誤差。但是,由于神經網絡中存在許多不確定性,在實際的工程應用中應選擇在符合實際情況的區間內對問題進行討論。在同等條件下,采用文中的三種情況進行仿真試驗,結果表明,改進后的SPIDNN控制系統得到了較好的收斂性,有推廣應用的價值。
[1]舒懷林.PID神經元網絡及其控制系統[M].北京:國防工業出版社,2006.
[2]崔冉,王維慶,趙春平,等.基于PID神經網絡的變槳控制系統的辨識[J].儀器儀表用戶,2008,15(6):74-75.
[3]翟堯杰,舒懷林,熊勝祖.PID神經網絡改進研究[J].機電工程技術,2010,39(8):39-41.
[4]孫娓娓,劉瓊蓀.BP神經網絡的聯合優化算法[J].計算機工程與應用,2009,45(12):50-54.
[5]李文峰,劉軍營,盛蕾.一種改進的基于神經網絡模式的PID控制研究[J].系統仿真技術,2007,3(4):217-220.
[6]肖俊芳,王耀青.一種激勵函數可調的快速BP算法[J].自動化技術與應用,2002,21(6):26-29.
[7]潘壽.BP神經網絡模型中活化函數對網絡性能的影響研究[J].安徽師范大學學報:自然科學版,1998,2(3):218-221.
[8]陸瓊瑜,童學鋒.BP算法改進的研究[J].計算機工程與設計,2007,28(3):648-650.
[9]胡伍生.神經網絡理論及其工程應用[M].北京:測繪出版社,2006.
[10]劉金琨.先進PID控制MATLAB仿真[M].2版.北京:電子工業出版社,2006.
[11]宋濱,谷麗娜.基于神經網絡的PID控制[J].青島大學學報:自然科學版,2001,6(3):90-91.
[12]王洪東,李麗,白金泉.MATLAB在控制工程中的應用[J].控制工程,2003,10(3):273-275.
[13]陳玉銀,吳剛.鍋爐液位測量改進及PI參數整定[J].石油化工自動化,2009,45(3):84-86.
[14]李明,楊成梧.PID神經網絡的改進PSO學習算法[C]∥第25屆中國控制會議論文集(中冊),黑龍江,哈爾濱,2006.
Research and Improvement Based on PID Neural Network
Due to PID neural network(PIDNN)possesses the characteristics of expanding static neuron to dynamic neuron,thus through analyzing the limitation of the PIDNN control algorithm,the improved strategy for the excitation function of variable parameters is proposed to extend the applicable range of PID neural network control.The Matlab simulation test shows that the improved PIDNN system possesses excellent stability;the effectiveness of the algorithm is verified through experiments.
PID control Neural network Excitation function Error Simulation
TP18
A
廣東省自然科學基金資助項目(編號:S2011010005029)。
修改稿收到日期:2011-09-16。
盧萍(1986-),女,現為廣東工業大學應用數學專業在讀碩士研究生;主要從事人工智能控制技術的研究。
行業信息