余縝 李軍
(南京理工大學自動化學院 南京210094)
隨著經濟和科技水平的發展,對于海洋的探索開發越來越多[1],比如海洋運輸、海底采礦、海上風力發電以及旅游觀光等。船舶在海上航行或作業的過程中,不可避免地會受到風浪的擾動影響,導致船舶產生橫搖、縱搖、艏搖、橫蕩、縱蕩以及垂蕩六個自由度上的運動。船舶六自由度運動給海上作業帶來諸多不便和危險,比如,艦載武器的精確瞄準、直升機在船舶甲板的起降、船舶之間的貨物運輸以及航海攝影。如果能獲得船舶運動狀態,并進行短期預測,可以提升艦載設備的操作精確度,降低事故發生幾率。
現在常用的方法是時間序列法,它的思想是利用過去一段時間內某事件時間的特征來預測未來一段時間內該事件的特征,自回歸模型(Autore?gressive Model,AR模型)是構建時間序列的常用模型[3],時間序列法的優點是不需要知道任何先驗信息和船舶航態的狀態方程,僅利用船舶本身的歷史運動狀態數據尋求規律,就可以進行船舶運動姿態的預測。
基于AR模型的預測屬于線性預測的方法,然而,船舶的六自由度運動是一個復雜的非線性過程,使用線性預測法會有某些偏差。對于這個問題,NAR神經網絡模型是一個更好的解決方案。
本文從船舶運動姿態的時間序列入手,分析了傳統的AR模型預測法,再對船舶運動姿態建立了NAR神經網絡模型,對船舶運動姿態進行預測。利用實際采集的船舶運動姿態數據對NAR神經網絡模型進行訓練,將訓練結果用于預測仿真,使用同一批數據,分別利用AR模型和NAR神經網絡模型進行預測,并將實驗結果進行對比。
船舶的六自由度運動姿態可以看成是無數個具有不同波長,波幅與隨機初始相位的余弦信號的疊加的運動過程,它的時間序列中包含著一些相關性信息。根據統計學知識,可以通過線性模型對船舶的運動規律進行擬合,從而達到預測未來狀態的目的。
AR模型是時間序列分析法中針對平穩序列常用的一種線性模型,它的思想是通過對變量自身的歷史數據的相關性進行研究,將這種關系進行量化處理,從而預測未來狀態。AR模型的定義為

基于AR模型的預測算法如圖1所示,主要包括模型參數估計,模型定階和預測三部分內容。

圖1 基于AR模型預測算法流程圖
AR模型是一種典型的線性時間序列模型,但是在實際的高變化應用下,時間序列的線性模型難以建立,或者預測精度不高[5],因此,應該針對時間序列建立非線性模型。
人工神經網絡(Artificial Neural Network,ANN)是一種由受生物神經系統啟發的數學模型表示的神經網絡,它是一種智能系統,可以識別時間序列模式和非線性特征,因此它已經被廣泛應用到動態非線性時間序列建模[6]。
神經網絡由若干神經元組成,這些神經元可以構成神經網絡的不同層次,一般分為輸入層、隱含層和輸出層。神經元相互作用使神經網絡具有強大的功能,神經網絡理論的基礎之一就是三層神經網絡可以逼近任意函數,所以理論上,只要數據量足夠大,神經元足夠多,就可以通過調整神經元權值和閾值學到任意的東西[7]。
NAR神經網絡是一種基于具有反饋連接的線性自回歸模型的循環動態網絡[8],它常用于時間序列的多步預測,其結構如圖2所示。NAR神經網絡可由式表示,使用t時刻之前的d個值預測y(t)的值。f(·)是事先未知的,通過訓練神經網絡,調整各條鏈路的權重和偏差值來得到近似的f(·)。

圖2 NAR神經網絡結構示意圖

神經網絡的訓練過程實際上就是不斷調整未知參數使得代價函數達到最小值,通常選擇均方誤差函數MSE作為代價函數,如式(3)所示:


傳統的用來更新參數的反向傳播類型算法有最速下降法和高斯-牛頓法。
最速下降法[9]沿著梯度的反方向,按照一定的步長大小進行參數更新,使代價函數達到最小值,如式(5)所示:

高斯-牛頓法[10]是在牛頓法的基礎上得到的,僅用來解決非線性最小二乘問題。采用牛頓法求解式中F(x)的最小值,需要計算其梯度向量和Hessian矩陣。梯度向量如式(6)所示:

其中:

是r的Jacobian矩陣,則式(6)可以寫作:


當殘差ri≈0,時,可以認為二階導數項接近于0而舍去,所以Hessian矩陣可以近似寫為

將梯度向量,近似Hessian矩陣代入牛頓法迭代公式:

即可得到高斯-牛頓法的迭代公式:

只需要計算Jacobian矩陣,而不需要計算二階導數,簡化了迭代步驟。高斯-牛頓法與牛頓法的缺點一樣,當初始值距離最小值較遠時,高斯-牛頓法并不能保證收斂,并且當近似奇異的時候,高斯-牛頓法也不能正確收斂[11]。
Levenberg-Marquardt算法[12~13]為了克服上述高斯-牛頓法的缺點,在高斯-牛頓法的基礎上,改進迭代公式,通過在Hessian矩陣中加入阻尼系數來控制每一步迭代的步長及方向,Levenberg-Mar?quardt算法的迭代公式如下:

其中,λ是阻尼系數,記,當λ>0時,有如下效果:
1)λ比較大時,對角線元素占主導地位,,迭代算法會以較小的步長接近最速下降法;
2)λ比較小時,迭代算法接近高斯-牛頓法。高斯-牛頓法在誤差最小值附近更快、更準確,適合迭代的最后階段,非常接近最優解,避免最速下降的震蕩。
因此,Levenberg-Marquardt算法的目標是盡快接近高斯-牛頓法,在每次迭代后,若性能函數減小,則減小λ,若在某次迭代中,性能函數增加,則增大λ,這樣,在算法的每次迭代中,總是降低性能函數。
Levenberg-Marquardt算法結合了最速下降法和高斯-牛頓法的優點,基于Levenberg-Marquardt算法的神經網絡訓練算法通常是訓練中等大小前饋神經網絡的最快方法。因此在本文中,使用Lev?enberg-Marquardt算法對NAR神經網絡進行訓練。
在海上航行作業過程中,船舶六自由度運動中橫搖角對船舶的穩定工作影響較大,故在本文實驗中選取船舶的橫搖角進行數值仿真,運動姿態時間序列通過在國家電投集團“電投01”風電運維船上安裝傳感器裝置采集得到。
運用NAR神經網絡模型對船舶運動姿態時間序列進行預測,本文選取時長200s的時間序列作為樣本,采樣頻率為100Hz。將樣本的前75%的數據作為訓練數據,用來訓練神經網絡,后25%的數據作為測試數據,驗證神經網絡的預測性能。AR模型預測結果如圖3所示,NAR模型的預測結果如圖4所示,兩種模型的預測誤差對比如圖5所示。

圖3 AR模型預測結果

圖4 NAR神經網絡模型預測結果

圖5 NAR神經網絡模型預測誤差
對于不同模型的預測性能,使用兩個指標來衡量,均方根誤差RMSE和決定系數R2。RMSE是MSE的平方根,可以保持指標和原始數據的量綱一致;決定系數R2用于度量因變量的變異種可由自變量解釋部分所占的比例,以此來判斷模型的解釋力。
表1 表示了兩種模型的預測性能分析結果。由表可知,NAR模型較傳統的AR模型有更好的預測精度。

表1 船舶運動姿態預測結果性能分析
本文從船舶運動姿態的時間序列分析入手,針對傳統AR模型在船舶運動姿態預測上的不足,引入NAR神經網絡模型,使用Levenberg-Marquardt算法訓練神經網絡,對船舶的橫搖運動進行預測,結果表明,NAR神經網絡模型比傳統的AR模型預測精度更高,并且能充分逼近非線性映射,同時,該方法具有通用性,可以適用于船舶其他自由度上的運動預測,在工程上具有較高的使用價值。