- 相關(guān)推薦
基于改進(jìn)BP的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制
摘要:由于傳統(tǒng)BP算法存在收斂速度慢,容易陷入局部極小值等弊端,目前的BP優(yōu)化算法又使得控制過程變得復(fù)雜,繼而基于BP神經(jīng)網(wǎng)絡(luò)的模型參考自適應(yīng)控制過程也存在實(shí)時性差,收斂性慢,精度不高等不足,F(xiàn)針對改進(jìn)的BP算法和非線性系統(tǒng)的可逆性,分析設(shè)計(jì)了一種基于激勵函數(shù)自尋優(yōu)的BP網(wǎng)絡(luò)模型參考自適應(yīng)控制,并通過Matlab仿真結(jié)果表明,在滿足控制精度的情況下控制系統(tǒng)中的辨識器和控制器效果都很理想。因此,對工程應(yīng)用有很大的實(shí)際參考利用價值。
關(guān)鍵詞:BP算法;模型參考自適應(yīng)控制;激勵函數(shù);Matlab仿真;神經(jīng)網(wǎng)絡(luò)
引言
在現(xiàn)代實(shí)際工業(yè)生產(chǎn)中,被控對象存在各種不確定性和時變性,因而使得工業(yè)控制過程變得繁瑣復(fù)雜,針對線性時變系統(tǒng)或非線性系統(tǒng)的控制,人們不斷的研究其解決方法,Nare ndra等人提出了神經(jīng)網(wǎng)絡(luò)控制和模型參考自適應(yīng)控制相結(jié)合的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制(Neural Network Model Reference AdaptiveControlˉˉˉNNMRAC)方法。近來神經(jīng)網(wǎng)絡(luò)的研究已成為智能控制研究的熱點(diǎn),因其自身具有自學(xué)習(xí)的特點(diǎn),可以有效地解決不確定和復(fù)雜的非線性控制系統(tǒng)控制問題。因此將神經(jīng)網(wǎng)絡(luò)與模型參考自適應(yīng)控制相結(jié)合,組成基于神經(jīng)網(wǎng)絡(luò)的模型參考自適應(yīng)控制系統(tǒng),進(jìn)而使其在復(fù)雜非線性過程控制中具有不可替代的優(yōu)勢。目前神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制系統(tǒng)中應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)是BP神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Network)是一種多層前向型神經(jīng)網(wǎng)絡(luò)也被稱為反向傳播網(wǎng)絡(luò),在BP網(wǎng)絡(luò)中信號是前向傳播的,而誤差是反向傳播。一般三層BP網(wǎng)絡(luò)結(jié)構(gòu)就可以使其對有限個不連續(xù)點(diǎn)的函數(shù)進(jìn)行逼近,也可以逼近任意非線性映射關(guān)系。然而,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法存在很多缺點(diǎn),各種優(yōu)化改進(jìn)的BP算法也層出不窮。就目前的BP優(yōu)化算法,常常忽略算法本身存在的自適應(yīng)、自學(xué)習(xí)等特點(diǎn),改進(jìn)算法如蟻群算法和粒子群算法大都是直接對BP神經(jīng)網(wǎng)絡(luò)中的參數(shù)進(jìn)行訓(xùn)練。文中采用基于激勵函數(shù)自尋優(yōu)的方法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)系統(tǒng)的控制方法,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制方法收斂速度快、精度高,系統(tǒng)控制過程中被控對象的輸出能夠很好地跟隨參考模型的輸出,具有很好的控制效果,在實(shí)際工程中也可以得到很好的驗(yàn)證和應(yīng)用。
一、BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及其算法改進(jìn)
BP神經(jīng)網(wǎng)絡(luò)已經(jīng)被證明具有很強(qiáng)的學(xué)習(xí)能力,能夠逼近任意連續(xù)有界的非線性函數(shù)。一般的BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層、輸出層,其中隱含層可以有多個。其中隱含層和輸出層的激勵函數(shù)通常直接采用Sigmoid函數(shù),其函數(shù)表達(dá)式為:
上式中β稱為Sigmoid函數(shù)的斜率參數(shù),不同的β取值,引起曲線的彎曲程度不同,β越大,f(x)圖形越陡峭。當(dāng)斜率參數(shù)β接近無窮大時,Sigmoid函數(shù)將轉(zhuǎn)化成簡單的階躍函數(shù)。但與階躍函數(shù)不同,Sigmoid函數(shù)對應(yīng)于0~1之間的一個連續(xù)取值區(qū)域,但階躍函數(shù)只對應(yīng)0和1兩個取值。
一般的三層前饋神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
輸入向量為Xi=(Xl,X2…,Xn)T,i=1,2,…,n,n表示輸入神經(jīng)元的個數(shù),隱含層的輸出向量為yj= (Y1,y2,…,ym),j=l,2,…,m,輸出層的輸出向量為Ok= (Ol,O2….,ol),k=l,2,…,l。每層之間的權(quán)值用w表示,Wij為隱含層和輸入層之間的權(quán)值,Wjk為輸出層和隱含層之間的權(quán)值。
這里對上述BP算法的改進(jìn),也就是通過改進(jìn)激勵函數(shù)f(x),進(jìn)而優(yōu)化神經(jīng)網(wǎng)絡(luò),最終使得基于神經(jīng)網(wǎng)絡(luò)的模型參考自適應(yīng)控制在不增加復(fù)雜性及確保精度的情況下,系統(tǒng)性能進(jìn)一步得到提高改善。由于BP神經(jīng)網(wǎng)絡(luò)產(chǎn)生局部極小值的一個重要原因就是誤差函數(shù)是一個以Sigmoid函數(shù)為自變量的非線性函數(shù),而Sigmoid函數(shù)存在飽和區(qū),所以改進(jìn)和優(yōu)化激勵函數(shù)對于BP算法的應(yīng)用是至關(guān)重要的。通過實(shí)驗(yàn)發(fā)現(xiàn),在函數(shù)表達(dá)式中增加一個控制參數(shù)η,可以控制激勵函數(shù)的壓縮程度。改進(jìn)的激勵函數(shù)形式如下:
上式描述的f(x)的定義域?yàn)?-∞,+∞),值域?yàn)?0,1),函數(shù)也是單調(diào)的,滿足激勵函數(shù)的條件。
以往出現(xiàn)的改進(jìn)BP算法學(xué)習(xí)過程中,η和β的賦值都是經(jīng)驗(yàn)值,本文使得η是一個可以自適應(yīng)的參數(shù),就是通過判斷網(wǎng)絡(luò)不斷學(xué)習(xí)過后的權(quán)值能否減小網(wǎng)絡(luò)誤差來自動的調(diào)整η的值,其調(diào)整方法為:
其中,al,E為網(wǎng)絡(luò)誤差,f指迭代次數(shù)。在誤差信號反向傳播時,自適應(yīng)參數(shù)η是隨著誤差信號不斷進(jìn)行修正的。
此算法可以提高BP網(wǎng)絡(luò)的收斂速度,同時也避免了陷入局部極小值。文中使其結(jié)合模型模型參考自適應(yīng)控制明顯提高了系統(tǒng)的整體控制效果,進(jìn)一步驗(yàn)證了算法改進(jìn)的實(shí)用性,與傳統(tǒng)BP算法相比,改進(jìn)后的算法在實(shí)際運(yùn)用中更具有意義。
二、神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制系統(tǒng)結(jié)構(gòu)
典型的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2中NNC( Neural Network Controller)為神經(jīng)網(wǎng)絡(luò)控制器,NNI( Neural Network Identifier)為神經(jīng)網(wǎng)絡(luò)辨識器,r為參考輸入,u為NNC的輸出,Ym和y分別為參考模型和被控對象的輸出,ec是參考模型輸出和被控對象輸出之差,ei是被控對象輸出和辨識器輸出之差,NNC的權(quán)值修正目標(biāo)是使ec達(dá)到系統(tǒng)設(shè)定值(理想值為零),NNI的目標(biāo)也是使ei盡可能最小(理想值為零),且為NNC傳遞梯度信息。
神經(jīng)網(wǎng)絡(luò)辨識器NNI的訓(xùn)練誤差表示為 ,其中,y(k)當(dāng)前k時刻被控對象的輸出數(shù)據(jù), 為下一時刻的預(yù)測輸出數(shù)據(jù)。則辨識器的調(diào)整規(guī)則就是使誤差Ei盡可能小,Ei表示為:
神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制系統(tǒng)的控制目標(biāo)在于使被控對象的輸出y與參考模型的輸出Ym漸近的匹配,即
其中,s為一個給定的小正數(shù)。
神經(jīng)網(wǎng)絡(luò)控制器NNC的訓(xùn)練則由誤差ec=ym-y來訓(xùn)練,訓(xùn)練準(zhǔn)則如上式(8),控制系統(tǒng)中神經(jīng)網(wǎng)絡(luò)辨識器和控制器的學(xué)習(xí)算法就采用改進(jìn)后的BP算法。
在神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制系統(tǒng)的控制策略設(shè)計(jì)中,改進(jìn)的BP算法能夠在滿足系統(tǒng)控制規(guī)律符合要求的情況下,使得神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制效果更好。雖然改進(jìn)的BP算法是激勵函數(shù)自尋優(yōu)的自適應(yīng)方法,不能夠使神經(jīng)網(wǎng)絡(luò)辨識器NNI進(jìn)行離線訓(xùn)練,但是快速的BP算法仍然可以使網(wǎng)絡(luò)具有很好的實(shí)時性。首先在線訓(xùn)練辨識器,待參數(shù)訓(xùn)練好以后,再進(jìn)行控制器NNC的訓(xùn)練,最終可以保證被控對象的輸出y很好的跟蹤參考模型的輸出Y。
三、仿真實(shí)例研究
3.1 改進(jìn)的BP算法驗(yàn)證
本文采用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測控制來驗(yàn)證改進(jìn)算法的有效性。利用簡單的一組樣本訓(xùn)練集和樣本目標(biāo)集進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,再給定一組輸入樣本數(shù)據(jù),觀測輸出層輸出數(shù)據(jù)和誤差。分析樣本數(shù)據(jù)設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為3個輸入、2個輸出、隱含層的神經(jīng)元數(shù)目為8。網(wǎng)絡(luò)學(xué)習(xí)次數(shù)為100次,目標(biāo)誤差設(shè)置為0.001。
使用MATLAB軟件進(jìn)行網(wǎng)絡(luò)訓(xùn)練,傳統(tǒng)BP算法的網(wǎng)絡(luò)訓(xùn)練過程收斂情況如圖3所示,經(jīng)過56步循環(huán)達(dá)到了網(wǎng)絡(luò)誤差要求的精度。改進(jìn)的BP算法網(wǎng)絡(luò)收斂情況如圖4所示,僅需要10步就達(dá)到了誤差精度要求,其中a和b取值分別為0.9和1.5。輸出誤差和網(wǎng)絡(luò)實(shí)際輸出數(shù)據(jù)在表1中展示,直觀的看出,改進(jìn)后的BP網(wǎng)絡(luò)可以得到更有效的輸出。
根據(jù)得到的誤差收斂曲線比較看出,改進(jìn)后的BP算法所用訓(xùn)練步數(shù)少即需要的訓(xùn)練時間少,說明收斂速度明顯加快。
測試輸出結(jié)果如表1所示。
從表中可以直觀清晰看出改進(jìn)后的BP算法實(shí)際輸出誤差明顯減小,提高了算法精度。
3.2 改進(jìn)的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制仿真實(shí)例
結(jié)合參考文獻(xiàn)中提到的污水處理的例子進(jìn)行改進(jìn)算法的驗(yàn)證。污水處理系統(tǒng)結(jié)構(gòu)圖如圖5所示,
在污水處理系統(tǒng)控制結(jié)果是否達(dá)標(biāo),主要是通過需氧量(OD)、溶解氧(DO)等幾個重要參數(shù)來衡量。本例中為了提高污水處理效果,系統(tǒng)控制目標(biāo)設(shè)置為使誤差ec控制在±0.05mg/L以內(nèi),污水處理控制系統(tǒng)中采
用離散的參考模型:
ym(k)= 0.375 ym(k-1)+0.623r(k)
其中,控制輸入r(k)=2為系統(tǒng)給定的階躍信號。
污水處理系統(tǒng)的實(shí)驗(yàn)仿真中,BP網(wǎng)絡(luò)辨識器設(shè)定4個輸入變量和1個輸出變量,隱含層包含10個隱節(jié)點(diǎn),對于BP網(wǎng)絡(luò)控制器取3個輸入層節(jié)點(diǎn),隱含層的節(jié)點(diǎn)數(shù)為6。根據(jù)BP神經(jīng)網(wǎng)絡(luò)控制器和辨識器的改進(jìn)算法,采用MATLAB進(jìn)行仿真,取采樣周期ts=0.OOls,這里a取0.8,6取1.5,仿真結(jié)果如圖6所示。
在圖6 (a)中第一條線為控制輸入r,中間的第二條曲線代表參考模型的輸出Ym,最下邊的曲線代表污水被控對象的輸出y,圖6 (b)中的曲線代表誤差ec(系統(tǒng)實(shí)際輸出與參考模型輸出之差)的變化。從圖中可以分析看出,改進(jìn)后模型參考自適應(yīng)控制方法在該控制系統(tǒng)中的控制效果很好,氧的溶解濃度(DO)保持在2mg/L左右,參考輸出和實(shí)際輸出最終相吻合,誤差ec控制在±0.05mg/L以內(nèi),因此仿真結(jié)果滿足控制系統(tǒng)的控制要求。
四、結(jié)語
本文采用改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)作為模型參考自適應(yīng)控制中的辨識器和控制器,由仿真結(jié)果表明,BP算法在簡單有效的改進(jìn)后,提高了BP網(wǎng)絡(luò)的收斂速度,進(jìn)而在模型參考自適應(yīng)控制系統(tǒng)中達(dá)到良好的實(shí)時性,同時滿足了控制系統(tǒng)在線訓(xùn)練的要求。雖然本文提到的BP改進(jìn)算法對太復(fù)雜的智能控制系統(tǒng)影響不是太大,但在實(shí)際工程應(yīng)用中,只要充分結(jié)合運(yùn)用不同的改進(jìn)BP算法的方法就可以達(dá)到比以往更理想的效果。
【基于改進(jìn)BP的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制】相關(guān)文章:
混沌系統(tǒng)的模型參考模糊自適應(yīng)控制03-07
基于BP神經(jīng)網(wǎng)絡(luò)控制的懸浮式大橋阻尼器控制器設(shè)計(jì)03-07
基于BP神經(jīng)網(wǎng)絡(luò)的遙感影像分類方法研究03-07
基于VoIP自適應(yīng)回音抵消方案的設(shè)計(jì)與改進(jìn)03-07
基于自編碼神經(jīng)網(wǎng)絡(luò)建立的搜索信息模型03-11
基于OSI參考模型的測井系統(tǒng)互連設(shè)計(jì)03-07