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