鄒彥艷 孫 晶 邵克勇 李征璐
(東北石油大學(xué)電氣信息工程學(xué)院,黑龍江 大慶 163318)
在實(shí)際工業(yè)生產(chǎn)現(xiàn)場(chǎng)中有很多復(fù)雜的控制系統(tǒng),它們通常具有大慣性、非線性及時(shí)間延遲等特性,很難通過精確的數(shù)學(xué)模型來表示系統(tǒng)的受控對(duì)象,而模糊控制具有不依靠模型及適應(yīng)能力強(qiáng)等特點(diǎn),因此可將其應(yīng)用到有復(fù)雜控制系統(tǒng)的實(shí)際生產(chǎn)中。
隨著模糊控制越來越廣泛的應(yīng)用,一些學(xué)者開始通過采用多種算法(如神經(jīng)網(wǎng)絡(luò)等)與模糊控制相結(jié)合[1],來得到適用性更強(qiáng)的新控制算法。張秀玲等提出了一種優(yōu)化自適應(yīng)模糊神經(jīng)網(wǎng)絡(luò)算法,并應(yīng)用在污水處理系統(tǒng)中,提高了系統(tǒng)的穩(wěn)定性,使模糊神經(jīng)網(wǎng)絡(luò)具有更高的魯棒性[2]。趙繼印等提出一種基于誤差自動(dòng)調(diào)節(jié)修正因子的自適應(yīng)學(xué)習(xí)速率法,從而提高網(wǎng)絡(luò)的收斂速度[3]。徐春梅等提出的權(quán)矩陣學(xué)習(xí)速率自適應(yīng)調(diào)整算法,可以取得更好的控制跟蹤效果[4]。房振勇等通過調(diào)節(jié)動(dòng)量因子實(shí)現(xiàn)學(xué)習(xí)速率的自調(diào)節(jié),提高了學(xué)習(xí)的平穩(wěn)性[5]。王玲芝和王忠民將BP網(wǎng)絡(luò)的節(jié)點(diǎn)實(shí)際輸出與期望輸出的平均絕對(duì)值誤差及其誤差變化率作為自變量,并尋求學(xué)習(xí)速率與兩個(gè)自變量的函數(shù)關(guān)系,對(duì)學(xué)習(xí)速率進(jìn)行了動(dòng)態(tài)調(diào)整,使系統(tǒng)具有更快的收斂速度[6]。徐雅斌和杜鵬將模糊推理方法引入到BP算法中,實(shí)現(xiàn)了自適應(yīng)調(diào)節(jié)學(xué)習(xí)速率[7]。
在此,筆者將帶有動(dòng)量因子的自適應(yīng)學(xué)習(xí)速率的新型BP算法應(yīng)用到模糊神經(jīng)網(wǎng)絡(luò)控制器中,給出了一種基于自適應(yīng)學(xué)習(xí)速率的模糊神經(jīng)網(wǎng)絡(luò)控制器,利用新型BP算法來訓(xùn)練模糊控制中的隸屬度函數(shù)和模糊規(guī)則,采用模糊推理的方法來自適應(yīng)調(diào)節(jié)學(xué)習(xí)速率,使系統(tǒng)具有良好的控制效果。
考慮如圖1所示的模糊神經(jīng)網(wǎng)絡(luò)[8],該網(wǎng)絡(luò)為五層結(jié)構(gòu),其輸入為誤差e和誤差變化ec,輸出為u。
圖1 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
設(shè)系統(tǒng)的理想輸出為yd,實(shí)際輸出為y,則性能指標(biāo)J的計(jì)算式為[9]:
通常,模糊神經(jīng)網(wǎng)絡(luò)控制器中學(xué)習(xí)速率是常數(shù),在學(xué)習(xí)過程中很難確定一個(gè)最佳學(xué)習(xí)速率,同時(shí)在修正權(quán)值、中心值和寬度值時(shí),僅按當(dāng)前時(shí)刻的負(fù)梯度方向修正,而不考慮以前時(shí)刻的梯度方向,會(huì)導(dǎo)致在學(xué)習(xí)過程中出現(xiàn)振蕩和收斂速度慢的問題。
通常,初始權(quán)值、隸屬度函數(shù)的中心值和寬度值會(huì)取常數(shù)或賦一個(gè)較小的隨機(jī)數(shù),但這種初始化方法會(huì)導(dǎo)致網(wǎng)絡(luò)收斂速度較慢,甚至只能收斂到局部極值上。因此,筆者采用均勻分布隨機(jī)數(shù)產(chǎn)生權(quán)值、中心值和寬度值,使初始權(quán)值隨機(jī)產(chǎn)生并均勻分布。
在標(biāo)準(zhǔn)的BP算法中,設(shè)η是學(xué)習(xí)速率,模糊神經(jīng)網(wǎng)絡(luò)控制器中的可調(diào)參數(shù)權(quán)值ωij、中心值mij和寬度值σij的計(jì)算式分別為:
在此,引入動(dòng)量因子β(0≤β<1),采用上一次在學(xué)習(xí)過程中的校正量來影響本次的校正量,以加快收斂速度,即:
通過選擇合適的β值,可避免每一步修正值過大出現(xiàn)的振蕩現(xiàn)象或因BP陷入局部最小值和修正值過小的問題。
由可調(diào)參數(shù)知,學(xué)習(xí)速率通常是設(shè)定的常數(shù),但在整個(gè)過程中,無法找到一個(gè)最合適的學(xué)習(xí)速率來滿足該算法對(duì)學(xué)習(xí)速度的要求。為此,通常采用自適應(yīng)調(diào)節(jié)學(xué)習(xí)速率的方法[10],即根據(jù)實(shí)際情況和網(wǎng)絡(luò)誤差來自適應(yīng)調(diào)節(jié):
其中,Et為t時(shí)刻的誤差,Et+1為(t+1)時(shí)刻的誤差??梢?,若誤差變化修正方向正確,即總誤差減小,則學(xué)習(xí)速率增大;反之,則學(xué)習(xí)速率減小。α通常取0.01~0.03,雖然采用這種方法對(duì)于縮短學(xué)習(xí)時(shí)間、提高收斂速度有一定的效果,但α仍然是一個(gè)常數(shù),學(xué)習(xí)速率依然是一個(gè)不變量。因此,對(duì)于學(xué)習(xí)速率的問題仍然需要研究,筆者采用模糊神經(jīng)網(wǎng)絡(luò)自調(diào)整學(xué)習(xí)速率的方法,以提高系統(tǒng)的收斂性。
將誤差E總和誤差變化ΔE看作模糊程度,從而引入模糊推理的概念,按照E總→0和ΔE→0的程度來更新學(xué)習(xí)速率。具體步驟如下:
a. 模糊化。求出y、E總和ΔE,并對(duì)E總和ΔE進(jìn)行模糊化處理。
b. 模糊分割。將誤差和誤差變化分別分割為5個(gè)語(yǔ)言變量,分別為NB、NS、ZE、PS和PB;將學(xué)習(xí)速率分割為5個(gè)語(yǔ)言變量,分別為ZE、PS、S、B和PB。
e. 清晰化。采用加權(quán)平均法,使清晰化后的η用于BP算法中的誤差反傳。
表1 學(xué)習(xí)速率η的模糊控制規(guī)則
因此,采用模糊推理的方法來自調(diào)整學(xué)習(xí)速率,使學(xué)習(xí)速率在學(xué)習(xí)過程中適時(shí)地改變,從而提高控制系統(tǒng)的收斂速度。
考慮如下線性系統(tǒng):
(1)
e=yd-y
(2)
(3)
控制器的輸出ui為:
ω——權(quán)值;
φ——第三層的輸出。
因此可以得到:
(4)
φ=[φ1…φNrφ1x1…φNrx1…φ1xNi…φNrxNi]T
取Ni=2,Nr=7。
理想控制器的輸出u*為:
(5)
將式(5)代入式(1)得:
(6)
將式(1)和式(6)作差,并將式(2)、(3)代入其中,得到系統(tǒng)的誤差方程為:
(7)
將式(4)、(5)代入式(7)可得:
證明P是對(duì)稱正定矩陣,它滿足ATP+PA=-Q,其中Q是可選的對(duì)稱正定矩陣。
又:
式中O(t)——模糊神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出;
W——m、σ、ω的統(tǒng)稱。
定義:
考慮如下二階控制系統(tǒng):
采樣時(shí)間T=1ms,產(chǎn)生49條規(guī)則,階躍輸入信號(hào)r=1.0、β=0.75,經(jīng)過500次迭代,初始權(quán)值取[0,1]上的均勻隨機(jī)數(shù),初始中心值是[1.0,1.6]上的均勻隨機(jī)數(shù),初始寬度值是[2.0,2.6]上的均勻隨機(jī)數(shù)。
對(duì)于同一受控對(duì)象,運(yùn)用Matlab進(jìn)行仿真,對(duì)比并分析本方法、模糊控制和常規(guī)模糊神經(jīng)網(wǎng)絡(luò)控制方法的仿真實(shí)驗(yàn)結(jié)果(圖2、3)。采用本文方法得到的學(xué)習(xí)速率變化曲線如圖4所示。
圖2 系統(tǒng)的輸出對(duì)比
圖3 系統(tǒng)的誤差對(duì)比
圖4 學(xué)習(xí)速率變化曲線
實(shí)驗(yàn)對(duì)比結(jié)果見表2。
表2 實(shí)驗(yàn)對(duì)比結(jié)果
表3 學(xué)習(xí)速率滿足系統(tǒng)收斂性的最大值
綜上所述,本文方法調(diào)整時(shí)間短、響應(yīng)速度快、精確度高,能達(dá)到較好的控制水平和控制效果。
筆者提出了一種新型的BP算法,將帶有動(dòng)量因子的自適應(yīng)學(xué)習(xí)速率的BP算法引入模糊神經(jīng)網(wǎng)絡(luò)控制器中。利用模糊推理方法,實(shí)現(xiàn)了學(xué)習(xí)速率的自適應(yīng)調(diào)節(jié),選擇合適的動(dòng)量因子可加快學(xué)習(xí)過程中的收斂速度,并通過Lyapunov定理證明了系統(tǒng)的穩(wěn)定性。仿真結(jié)果表明,筆者提出的方法可以提高系統(tǒng)的控制性能,使系統(tǒng)達(dá)到較好的控制水平。
[1] 高潤(rùn)泉,楊志成,王宏,等.模糊神經(jīng)網(wǎng)絡(luò)控制在二階液位控制中的應(yīng)用[J].化工自動(dòng)化及儀表,2008,35(2):75~77.
[2] 張秀玲,鄭翠翠,黃興格,等.基于參數(shù)優(yōu)化的自適應(yīng)模糊神經(jīng)網(wǎng)絡(luò)控制在污水處理中的應(yīng)用[J].化工自動(dòng)化及儀表,2009,36(3):12~14.
[3] 趙繼印,李建坡,鄭蕊蕊.自適應(yīng)學(xué)習(xí)速率法在變壓器故障診斷中的應(yīng)用[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2008,26(4):415~420.
[4] 徐春梅,爾聯(lián)潔,劉金琨.動(dòng)態(tài)模糊神經(jīng)網(wǎng)絡(luò)及其快速自調(diào)整學(xué)習(xí)算法[J].控制與決策,2005,20(2):226~229.
[5] 房振勇,游文虎,馮汝鵬.改進(jìn)BP算法在模糊神經(jīng)網(wǎng)絡(luò)中的應(yīng)用[J].北京航空航天大學(xué)學(xué)報(bào),2007,33(11):1321~1324.
[6] 王玲芝,王忠民.動(dòng)態(tài)調(diào)整學(xué)習(xí)速率的BP改進(jìn)算法[J].計(jì)算機(jī)應(yīng)用,2009,29(7):1894~1896.
[7] 徐雅斌,杜鵬.基于隸屬度函數(shù)的BP人工神經(jīng)網(wǎng)絡(luò)改進(jìn)算法[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào)(自然科學(xué)版),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īng)網(wǎng)絡(luò)控制在汽溫系統(tǒng)中的應(yīng)用[J].控制工程,2010,17(3):293~296.
[10] 李義寶,張學(xué)勇,馬建國(guó),等.基于BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)算法研究[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,28(6):668~671.