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