鄒彥艷 孫 晶 邵克勇 李征璐
(東北石油大學電氣信息工程學院,黑龍江 大慶 163318)
在實際工業生產現場中有很多復雜的控制系統,它們通常具有大慣性、非線性及時間延遲等特性,很難通過精確的數學模型來表示系統的受控對象,而模糊控制具有不依靠模型及適應能力強等特點,因此可將其應用到有復雜控制系統的實際生產中。
隨著模糊控制越來越廣泛的應用,一些學者開始通過采用多種算法(如神經網絡等)與模糊控制相結合[1],來得到適用性更強的新控制算法。張秀玲等提出了一種優化自適應模糊神經網絡算法,并應用在污水處理系統中,提高了系統的穩定性,使模糊神經網絡具有更高的魯棒性[2]。趙繼印等提出一種基于誤差自動調節修正因子的自適應學習速率法,從而提高網絡的收斂速度[3]。徐春梅等提出的權矩陣學習速率自適應調整算法,可以取得更好的控制跟蹤效果[4]。房振勇等通過調節動量因子實現學習速率的自調節,提高了學習的平穩性[5]。王玲芝和王忠民將BP網絡的節點實際輸出與期望輸出的平均絕對值誤差及其誤差變化率作為自變量,并尋求學習速率與兩個自變量的函數關系,對學習速率進行了動態調整,使系統具有更快的收斂速度[6]。徐雅斌和杜鵬將模糊推理方法引入到BP算法中,實現了自適應調節學習速率[7]。
在此,筆者將帶有動量因子的自適應學習速率的新型BP算法應用到模糊神經網絡控制器中,給出了一種基于自適應學習速率的模糊神經網絡控制器,利用新型BP算法來訓練模糊控制中的隸屬度函數和模糊規則,采用模糊推理的方法來自適應調節學習速率,使系統具有良好的控制效果。
考慮如圖1所示的模糊神經網絡[8],該網絡為五層結構,其輸入為誤差e和誤差變化ec,輸出為u。

圖1 模糊神經網絡結構
設系統的理想輸出為yd,實際輸出為y,則性能指標J的計算式為[9]:

通常,模糊神經網絡控制器中學習速率是常數,在學習過程中很難確定一個最佳學習速率,同時在修正權值、中心值和寬度值時,僅按當前時刻的負梯度方向修正,而不考慮以前時刻的梯度方向,會導致在學習過程中出現振蕩和收斂速度慢的問題。
通常,初始權值、隸屬度函數的中心值和寬度值會取常數或賦一個較小的隨機數,但這種初始化方法會導致網絡收斂速度較慢,甚至只能收斂到局部極值上。因此,筆者采用均勻分布隨機數產生權值、中心值和寬度值,使初始權值隨機產生并均勻分布。
在標準的BP算法中,設η是學習速率,模糊神經網絡控制器中的可調參數權值ωij、中心值mij和寬度值σij的計算式分別為:
在此,引入動量因子β(0≤β<1),采用上一次在學習過程中的校正量來影響本次的校正量,以加快收斂速度,即:
通過選擇合適的β值,可避免每一步修正值過大出現的振蕩現象或因BP陷入局部最小值和修正值過小的問題。
由可調參數知,學習速率通常是設定的常數,但在整個過程中,無法找到一個最合適的學習速率來滿足該算法對學習速度的要求。為此,通常采用自適應調節學習速率的方法[10],即根據實際情況和網絡誤差來自適應調節:
其中,Et為t時刻的誤差,Et+1為(t+1)時刻的誤差。可見,若誤差變化修正方向正確,即總誤差減小,則學習速率增大;反之,則學習速率減小。α通常取0.01~0.03,雖然采用這種方法對于縮短學習時間、提高收斂速度有一定的效果,但α仍然是一個常數,學習速率依然是一個不變量。因此,對于學習速率的問題仍然需要研究,筆者采用模糊神經網絡自調整學習速率的方法,以提高系統的收斂性。
將誤差E總和誤差變化ΔE看作模糊程度,從而引入模糊推理的概念,按照E總→0和ΔE→0的程度來更新學習速率。具體步驟如下:
a. 模糊化。求出y、E總和ΔE,并對E總和ΔE進行模糊化處理。
b. 模糊分割。將誤差和誤差變化分別分割為5個語言變量,分別為NB、NS、ZE、PS和PB;將學習速率分割為5個語言變量,分別為ZE、PS、S、B和PB。


e. 清晰化。采用加權平均法,使清晰化后的η用于BP算法中的誤差反傳。

表1 學習速率η的模糊控制規則
因此,采用模糊推理的方法來自調整學習速率,使學習速率在學習過程中適時地改變,從而提高控制系統的收斂速度。
考慮如下線性系統:
(1)

e=yd-y
(2)
(3)
控制器的輸出ui為:

ω——權值;
φ——第三層的輸出。
因此可以得到:

(4)
φ=[φ1…φNrφ1x1…φNrx1…φ1xNi…φNrxNi]T
取Ni=2,Nr=7。


理想控制器的輸出u*為:

(5)
將式(5)代入式(1)得:
(6)
將式(1)和式(6)作差,并將式(2)、(3)代入其中,得到系統的誤差方程為:
(7)
將式(4)、(5)代入式(7)可得:


證明P是對稱正定矩陣,它滿足ATP+PA=-Q,其中Q是可選的對稱正定矩陣。

又:






式中O(t)——模糊神經網絡的實際輸出;
W——m、σ、ω的統稱。
定義:





考慮如下二階控制系統:
采樣時間T=1ms,產生49條規則,階躍輸入信號r=1.0、β=0.75,經過500次迭代,初始權值取[0,1]上的均勻隨機數,初始中心值是[1.0,1.6]上的均勻隨機數,初始寬度值是[2.0,2.6]上的均勻隨機數。
對于同一受控對象,運用Matlab進行仿真,對比并分析本方法、模糊控制和常規模糊神經網絡控制方法的仿真實驗結果(圖2、3)。采用本文方法得到的學習速率變化曲線如圖4所示。

圖2 系統的輸出對比

圖3 系統的誤差對比

圖4 學習速率變化曲線
實驗對比結果見表2。

表2 實驗對比結果


表3 學習速率滿足系統收斂性的最大值
綜上所述,本文方法調整時間短、響應速度快、精確度高,能達到較好的控制水平和控制效果。
筆者提出了一種新型的BP算法,將帶有動量因子的自適應學習速率的BP算法引入模糊神經網絡控制器中。利用模糊推理方法,實現了學習速率的自適應調節,選擇合適的動量因子可加快學習過程中的收斂速度,并通過Lyapunov定理證明了系統的穩定性。仿真結果表明,筆者提出的方法可以提高系統的控制性能,使系統達到較好的控制水平。
[1] 高潤泉,楊志成,王宏,等.模糊神經網絡控制在二階液位控制中的應用[J].化工自動化及儀表,2008,35(2):75~77.
[2] 張秀玲,鄭翠翠,黃興格,等.基于參數優化的自適應模糊神經網絡控制在污水處理中的應用[J].化工自動化及儀表,2009,36(3):12~14.
[3] 趙繼印,李建坡,鄭蕊蕊.自適應學習速率法在變壓器故障診斷中的應用[J].吉林大學學報(信息科學版),2008,26(4):415~420.
[4] 徐春梅,爾聯潔,劉金琨.動態模糊神經網絡及其快速自調整學習算法[J].控制與決策,2005,20(2):226~229.
[5] 房振勇,游文虎,馮汝鵬.改進BP算法在模糊神經網絡中的應用[J].北京航空航天大學學報,2007,33(11):1321~1324.
[6] 王玲芝,王忠民.動態調整學習速率的BP改進算法[J].計算機應用,2009,29(7):1894~1896.
[7] 徐雅斌,杜鵬.基于隸屬度函數的BP人工神經網絡改進算法[J].遼寧工程技術大學學報(自然科學版),2009,28(5):795~797.
[8] Yu W,Li X O.Fuzzy Identification Using Fuzzy Neural Networks with Stable Learning Algorithms[J].IEEE Transactions on Fuzzy Systems,2004,12(3):411~420.
[9] 牛培峰,郭興華,孟凡東.模糊神經網絡控制在汽溫系統中的應用[J].控制工程,2010,17(3):293~296.
[10] 李義寶,張學勇,馬建國,等.基于BP神經網絡的改進算法研究[J].合肥工業大學學報(自然科學版),2005,28(6):668~671.