,,,
(華南理工大學 交通學院,廣州 510640)
為了減少船舶在風浪中的搖擺和升沉運動對某些海上作業和設備的影響,需在其上構建一個具有波浪運動補償功能的穩定平臺系統。該系統中采用預報控制的策略,即先對波浪運動補償穩定平臺控制點的垂向位移進行短時預報,然后將預報值轉化為控制信號輸入到補償執行機構,對平臺的波浪運動進行補償。
時間序列分析與預報理論中,線性自回歸(AR)模型和線性自回歸滑動平均(ARMA)模型應用在非線性系統預測中取得的效果不是很理想。動態回歸神經網絡提供了一種極具潛力的選擇,它能夠更生動、更直接地反映系統的動態特性,代表了神經網絡建模、辨識與控制的發展方向[1-2]。Elman網絡是一種典型的動態神經元網絡,它是在前饋網絡基本結構的基礎上,通過存儲內部狀態使其具備映射動態特征的功能,從而使系統具有適應時變特性的能力。波浪補償平臺垂向位移預測模型一般為非線性函數,并且具有動態特性,因此采用Elman神經網絡對波浪補償平臺垂直位移預報進行建模和分析。
Elman網絡由四層組成,分別為輸入層、隱層、承接層和輸出層,見圖1。承接層神經元的數目與隱層神經元數目相同。網絡的主要特點是隱層輸出通過承接層單元延遲、存儲、自聯到隱層輸入,從而使網絡對歷史狀態數據具有敏感性。同時,由于網絡內部增加了反饋連接,使網絡具有處理動態信息的能力,有利于動態過程建模。
圖1 Elman神經網絡的結
結合圖1,Elman神經網絡的數學模型可描述為:
Hj(t)=g(Vj(t))
式中:p、q、r——輸入層、隱層和輸出層神經元的個數,承接層神經元的數目與隱層神經元數目相同;
Ii(t)——Elman網絡的第i個輸入;
Vj(t)——第j個隱層神經元的輸入和;
Hj(t)——第j個隱層神經元的輸出;
Ok(t)——輸出層第k個神經元的輸出;
wkj——隱層與輸出層神經元的連接權;
wja——承接層到隱層神經元反饋連接權;
wji——輸入層與隱層神經元之間的連接權;
Hja(t-1)——隱層神經元的一步延遲輸出;
經典反向傳播算法在實際應用中存在兩個主要問題:收斂速度慢和目標函數存在局部極小點。因此采用學習訓練算法即自適應學習速率動量梯度下降反向傳播算法對反向傳播算法進行改進[3],來克服上述缺點。該算法結合了動量梯度下降算法和自適應學習速率梯度下降算法,可以提高Elman網絡的訓練速度和穩定性,并且可以有效地避免出現局部極小點。
1.3.1 動量梯度下降法
動量梯度下降法可以降低網絡對誤差曲面局部細節的敏感性,有效地抑制出現局部極小的問題。此外,對權值更新時,由于考慮相繼時刻的梯度方向,提高了學習穩定性和收斂速度。其網絡學習算法為:
η——學習率,η>0;
α——動量因子,0≤α≤1。
所加入的動量項實質上相當于阻尼項,減小了學習過程的振蕩趨勢,改善了收斂性。
1.3.2 自適應學習率梯度下降法
學習率對整個訓練過程有很大的影響。學習率選得太小,則收斂太慢;而如果學習率選得太大,則有可能修正過頭,導致振蕩甚至發散。如果在訓練過程中合理地改變學習率,就會避免以上缺陷。
自適應調整學習率的改進算法有利于縮短學習時間,其學習算法為:
η(t)=2λη(t-1)
如果連續兩次迭代梯度方向相同,表明下降太慢,這時學習率加倍;如果連續兩次迭代梯度方向相反,表明下降過頭,這時學習率減半。
從上述分析歸納出,自適應學習速率動量梯度下降學習算法為:
模型試驗在華南理工大學交通學院港口與航道實驗室中進行,港池長32 m,寬18 m,高1 m,蓄水深度為0.8 m。港池一端裝有造波機,另一端鋪有1∶7的消浪斜坡,可消除90%的反射波。試驗采用規則波進行模擬,取波浪周期為1.4 s,波高0.06 m,數據采集間隔時間為50 ms。試驗中穩定平臺模型的運動(橫搖,縱搖和垂蕩)是通過測量布置在模型的不同位置的4個傳感器的垂直位移,經A/D變換及計算機采集,進一步轉換計算得到。
數據的預處理主要是指對時間序列數據進行相應處理得到合乎平穩性,正態性,零均值要求的時序性數據。同時,數據預處理還包括野點的剔除和數據平滑問題[4]。
剔除野點。由于實驗環境、測量設備以及傳輸設備精度的影響,所采集的數據可靠性難以得到保證,存在遺漏數據和數據錯誤的可能性,應想辦法除去這些數據野點。通過粗略建立AR模型,求出殘差,殘差太大的數據點為野點。然后用AR算法得到的值代替野點處的值,重新建模直至數據平滑。另外還可通過加入信號低通的方法除去數據突變的點。
為了有效地利用Sigmiod函數的特性,以保證網絡神經元的非線性作用,實驗數據在輸入Elman網絡之前需要進行歸一化處理,相應地,也需要對訓練后的數據輸出進行反歸一化處理。
數據經處理后,利用Matlab中的神經網絡工具箱建立Elman網絡模型,并編制相應的語言程序。隱含層神經元采用tansig函數作為傳遞函數,輸出層神經元傳遞函數為純線性函數purelin。網絡學習算法為改進的BP算法即自適應學習速率動量梯度下降反向傳播算法其對應的訓練函數為traingdx函數。Elman網絡作為波浪補償平臺控制點垂直運動時間序列模型,輸入和輸出神經元分別為5個和1個。經過試算,當選擇隱層神經元為15個時,所建立的網絡模型具有較好的預報精度和較快的收斂速度。
網絡訓練主要參數設置如下:訓練次數為10 000;學習速率為0.01;學習速率增長和下降比例因子分別為1.05和0.70;動量常數為0.9;網絡性能目標為0.006;網絡性能函數的最小梯度為1×10-10;當訓練次數或性能目標或性能函數的最小梯度達到設置要求時,網絡訓練停止[5]。
1) 圖2和圖3給出了Elman網絡模型訓練誤差曲線。從圖中可以看出采用BP算法的Elman網絡在訓練到6 554次時,達到網絡性能目標0.006。而改進反向傳播算法的Elman網絡訓練只需訓練187即可達到性能目標,具有更快的收斂速度。
圖2 采用反向傳播算法網絡訓練誤差曲
圖3 采用改進反向傳播算法網絡訓練誤差曲
2) 以自適應學習率動量梯度下降反向傳播算法進行學習訓練的前饋網絡預測模型和Elman網絡預測模型對波浪補償平臺控制點垂向位移的預報結果見圖4、5。
圖4 前饋網絡的預測結果
圖5 Elamn網絡的預測結果
從圖中可以看出以Elman網絡和前饋網絡作為波浪補償平臺控制點未來0.2 s(波浪補償平臺控制點垂直位移短時預報要求)垂向位移預報模型都具有較好的效果。但是相對前饋型網絡預報模型而言,Elman網絡預報模型的位移預報曲線和實際位移曲線更加貼近,即預報誤差比前饋網絡預報模型的預報誤差更小。因此,采用Elman網絡模型進行預報具有一定的可行性。
[1] Elman.J L.Finding structure in time[J].Cognitive Science, 1990, 14: 179-211.
[2] Masumi.Prediction of time series by a structure learning of neural network [J].Fuzzy Sets and System, 1996, 82:167-176.
[3] 韓萬林,張幼蒂.用改進算法估算礦石品位[J].系統工程,2000,9(3):80-82.
[4] 沈 艷.神經網絡理論研究及在艦船運動預報中的應用[D].哈爾濱:哈爾濱工程大學,2005.
[5] 董長虹.Matlab神經網絡與應用[M].北京:國防工業出版社,2005.