摘要: 針對BP神經網絡在倒立擺平衡控制中自身的限制與不足,本文采用人工神經網絡改進BP算法對一級倒立擺控制,建立了實驗仿真訓練模型,仿真表明改進BP算法控制倒立擺精度高、收斂快,在非線性控制、魯棒控制等領域具有良好的應用前景。
關鍵詞: 人工神經網絡BP算法改進BP算法倒立擺小車
1.引言
倒立擺系統是時變的、非線性、多變量和自然不穩定系統,在控制過程中,它能有效地反映可鎮定性、魯棒性、隨動性和跟蹤等許多控制中的關鍵問題,是檢驗各種控制理論的理想模型。人工神經網絡BP算法,在多變量輸入情況下具有精度高、實現快、算法簡單、魯棒性好等優點,從而滿足了系統的要求[1]。
2.人工神經網絡BP算法簡介
人工神經網絡(ANN)由于具有信息的分布存儲、并行處理和自學習能力等優點,在信息處理、模式識別、智能控制等領域得到了越來越廣泛的應用。近年來,已有多種ANN模型被提出研究,80%—90%的人工神經網絡模型是采用BP網絡或其改進形式,它是前向網絡的核心部分,體現了網絡最精華的部分[2]。標準的BP網絡是根據Widrow—Hoff規則,采用梯度下降算法,主要由信息信號的正向傳播和誤差信號的反向傳播兩部分組成。
但BP網絡存在需較長的訓練時間、收斂于局部極小值等缺點,為此人們對BP算法進行了許多改進。改進主要有兩類:一類采用啟發式技術,如附加動量法、自適應學習率法;另一類是采用數字優化技術,如共軛梯度法、擬牛頓法、Levenberg—Marquardt(LM)法[3]。由于LM算法收斂速度最快,精度較高,且經過大量仿真實驗分析比較,LM效果最好,故我們采用LM法對網絡進行訓練。
LM優化方法權重和閾值更新公式[4]為:
其中J為誤差對權值微分的雅可比矩陣,e為誤差向量,μ為一個標量。依賴于μ的幅值,該方法光滑地在兩種極端情況之間變化,即牛頓法(當μ→0)和著名的最陡下降法(當μ→∞)。
3.神經網絡控制器設計
3.1訓練樣本的選取
BP神經網絡在未經任何訓練的情況下,不能作為系統控制器使用。在實際仿真過程中,我們選擇極點配置控制為BP網絡的教師進行學習,經過試探訓練,樣本數為2000時結果較為合理,此時樣本數據能夠反映系統的基本特征,可以得到預期的仿真結果。極點配置-2+5i-2-5i-5+4i-5-4i;A=[0 1 0 0;0-0.0883167 0.629317 0;0 0 0 1;0-0.235655 27.8285 0];B=[0 0.883167 0 2.35655]’;C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];D=[0 0 0 0]’;p=[-2+5i-2-5i-5+4i-5-4i]; K=acker(A,B,p)。
3.2 BP網絡結構
BP網絡設計時,增加層數主要可以進一步降低誤差,提高精度,但卻使網絡復雜化。而增加隱含層的神經元數也可提高誤差精度,且訓練效果更易觀察和調整。為了使誤差盡可能小,我們要合理選擇初始權重和偏置,如果太大就容易陷入飽和區,導致停頓,一般應選為均勻分布的小數,介于(-1,1)。
根據需要,在網絡初始化時,BP采用0.5*Rands函數初始化權值,權值初始值選在(-0.5,0.5),選取訓練目標誤差為0.0001,訓練次數上限為5000次。通過多次仿真實驗性能比較,選取[4 9 1]的單隱層神經網絡結構,隱含層、輸出層分別采用Tansig、Purelin函數,仿真實驗表明變學習率訓練算法訓練時間長,5000次還不能達到所要求的精度,且系統容易發散,控制倒立擺效果不好,采用改進的LM訓練算法對網絡進行學習訓練可以得到較好的控制效果且訓練時間短。在實際仿真過程中,BP網絡經過53次訓練即達到了訓練目標。
4.BP網絡訓練結果
圖1分別給出了倒立擺小車位移、擺角和控制力的BP算法與極點配置算法仿真曲線對比圖,仿真結果表明:相較極點配置,BP算法精度高、實現快、魯棒性好,倒立擺小車在BP算法下只需2.5s左右就可以達到所設定精度的穩定效果,且超調量很小,滿足了系統的要求。
5.結論
通過對人工神經網絡BP算法的分析,筆者進行了倒立擺小車改進BP算法的控制系統仿真實驗。仿真表明該改進BP算法收斂性好、計算量小,尤其在非線性和魯棒控制等領域具有良好的應用前景。BP神經網絡從理論上可以逼近任意非線性函數,所以它特別適合控制像倒立擺這樣的嚴重非線性、多變量系統。
參考文獻:
[1]于秀芬,段海濱,龔華軍.基于人工神經網絡BP算法的倒立擺控制研究[J].測控技術,2003,22(3):41-44.
[2]張志華,朱章森,李儒兵.幾種修正的自適應神經網絡學習算法及其應用[J].地球科學,1998,23(2):179-182.
[3]蘇高利,鄧芳萍.論基于Matlab語言的BP神經網絡的改進算法[J].科技通報,2003,19(2):130-135.
[4]Hagan M T,Menhaj M.Training feedforward networks with the Mar2quardt algorithm[J].IEEE Transactions on Neural Networks,1994,5(6):989-993.