王文標, 董貴平, 汪思源, 田志遠, 杜佳璐
(大連海事大學船舶電氣工程學院, 大連 116026)
隨著云監(jiān)控技術以及傳感器技術的不斷進步,船舶的物理信息、運動信息及航跡行為信息等大量信息被存儲,這些信息被廣泛應用在船舶異常行為檢測、提高船舶監(jiān)控效率及預防航行事故。對船舶航跡進行預測研究,預測船舶在未來時刻的航速與航跡等行為信息,對加強海上交通監(jiān)管和預防海上航行事故發(fā)生具有重要意義。
目前,傳統(tǒng)的船舶航行行為預測方法有:卡爾曼濾波算法[1-3]、灰色模型[4]、支持向量機[5]、馬爾科夫模型[6]等,其中支持向量機在有限樣本情況下能得出較高的預測精度但在大數據量問題中的表現欠佳;其他方法都需要建立船舶運動學方程,而多變的海況條件一定程度上加大了模型的復雜度,影響模型的預測精度。隨著神經網絡的不斷發(fā)展,更多的學者傾向于使用神經網絡預測船舶航行行為[7-10]。但是,上述算法均采用單一全互連神經網絡預測模型,隨著船舶預測問題難度的增加,高維輸入和大數據量等復雜問題影響著神經網絡的最終結構,過大或較小的網絡結構都會影響網絡的預測精度。
為使神經網絡結構更加簡潔并進一步提升船舶航跡預測精度,現引入腦功能分區(qū)模塊化設計理念(分而治之)搭建神經網絡船舶航跡航速預測模型,首先,使用歸一化互信息與專家知識將船舶航行行為預測任務分解為航速與航跡兩個獨立的子任務;其次,將子任務傳輸到Elman子網絡與PSO-RBF子網絡中學習;最后,將學習結果集成,從而完成船舶航跡航速的預測。
如圖1所示,模塊化神經網絡旨在模擬人腦功能分區(qū)的模塊化架構,由多個子網絡組成,各子網絡分別學習總任務中的相應獨立子任務,旨在模擬大腦“分而治之”的方法來提高神經網絡處理復雜任務的綜合性能[11-14]。
圖1 模塊化神經網絡系統(tǒng)結構圖Fig.1 Structure diagram of modular neural network system
1.1.1 任務分解
將一個難以學習的任務分解成多個容易學習的子任務是實現 “分而治之” 的前提,文中運用歸一化互信息分析所獲取的船舶數據中待選輸入變量與預測變量間的非線性關系,計算出與預測變量相關性較大的輸入變量;然后, 基于專家知識刪除掉與預測變量無關或相關性較低的輸入變量, 最終確定輸入變量的選取,完成任務的分解。
1.1.2 子網絡
子網絡的學習能力詮釋了整個神經網絡的性能,子網絡對子任務的學習就相當于整個神經網絡對任務進行訓練的過程。在實際應用中,子網絡的建模精度和建模速度是受到重點關注的兩大優(yōu)化目標。
1.1.3 輸出整合
MNN采用組合學習模式,分為子網絡學習與集成模塊學習。其輸出模塊對各子網絡的集成公式為
(1)
(2)
互信息能夠驗證變量間是否存在關系以及關系的強弱的一種信息度量方式。設X={x1,x2,…,xk},則X的熵為
(3)
式(3)中:p(xk)為xk的概率密度。對于兩個變量(X,Y),聯合熵公式為
(4)
式(4)中:p(xk,yl)為xk和yl的聯合概率密度函數?;バ畔⒂渺嘏c聯合熵的關系可表示為
I(X,Y)=H(X)+H(Y)-H(X,Y)
(5)
原始樣本數據間數量級差別較大易引起預測誤差,對數據的原始樣本進行歸一化處理是模型預測的前提。歸一化互信息(normalized mutual information,NMI)是將互信息縮放到[0,1],不但抵消了不同量綱和取值范圍的影響,還保留了原始樣本間存在的關系。其公式為
NMI(X,Y)=2I(X,Y)/[H(X)+H(Y)]
(6)
子網絡選用對歷史狀態(tài)數據敏感的Elman神經網絡訓練和預測船舶航跡。同時,因為RBF神經網絡較強的非線性映射能力,可用于訓練和預測船舶航速[15]。
RBF神經網絡共為3層,如圖2所示。設其網絡結構為s-m-n(s為輸入層節(jié)點數、m為隱含層節(jié)點數、n為輸出層節(jié)點數),則第v個輸出節(jié)點的輸出為
(7)
(8)
式(8)中:δi為激活函數的擴展寬度[13]。文中使用減法聚類算法與誤差反饋相結合的方法確定隱含層神經元個數,所構建的 RBF神經網絡能以緊湊的結構獲取較好的非線性映射能力。
圖2 RBF神經網絡結構Fig.2 Neural network structure of RBF
2.1.1 粒子群優(yōu)化算法
粒子群優(yōu)化算法是近年來發(fā)展起來的一種算法,該算法具有結構簡單、精度高、收斂速度快、全局搜索能力強等優(yōu)點[16]。
在粒子群優(yōu)化算法中,每個粒子都代表問題的一個可能的解決方案。粒子的共同特征表現為位置、速度和適應度值。每個粒子通過尋找適應度極值來更新自身的位置和速度。適應度極值主要包括個體極值Pbest和全局極值Gbest。通過適應度函數可以計算出粒子的適應度值,從而判斷粒子的優(yōu)劣。在發(fā)現Pbest和Gbest后,PSO確定了每個粒子的速度和距離。
(9)
式(9)中:ω稱為慣性因子;C1和C2為加速常數;R1和R2一般取[0,1]上的隨機數。文中主要通過PSO算法優(yōu)化RBF網絡隱含層的學習參數,這樣能夠提高RBF網絡的預測性能。
2.1.2 減法聚類算法與誤差反饋確定隱含層神經元
首先通過減法聚類算法確定隱含層初始神經元個數。通過減法聚類思想計算每個樣本數據的密度值De,計算公式為
(10)
式(10)中:ra為聚類半徑;Xi與Xj為q維空間中的p個數據點。為避免在已有聚類中心相鄰點出現新的聚類中心,通過式(11)對數據點密度進行修正:
(11)
式(11)中:Dem為第m個數據點的密度指標;rb為一個密度指數函數顯著降低的鄰域。為防止相似距離的聚類中心出現,一般選擇rb=1.5ra。
初始神經元確定后通過訓練集樣本中的最大誤差來判斷隱含層增加神經元的依據。設ep為第p個樣本的當前網絡輸出誤差,其中yp為網絡預測值,op為網絡實際值,p=1,2,…,P,P為訓練樣本個數,計算公式為
ep=yp-op
(12)
由此得到誤差向量e=[e1,e2,e3,…,ep]T,確定最大誤差所在位置為
emax=max(e)
(13)
pmax=Index(emax)
(14)
式中:emax為誤差向量中最大值,當第p個樣本所對應的實際輸出與預測輸出誤差最大且最大誤差大于平均誤差, 則認為網絡對第p個樣本的學習不充分。因此新增一個 RBF 神經元對當前樣本重新學習,平均誤差公式為
(15)
當emax≤emean或達到期望訓練精度時,則認為網絡構建完成。新神經元增加后其擴展寬度進行如下改變:
δm=0.2min[dist(cm,cp≠m)]
(16)
當最大誤差小于平均誤差或達到期望訓練精度時,則認為網絡構建完成。
Elman神經網絡擁有一層傳統(tǒng)神經網絡(back propagation,BP)不具備的承接層,如圖3所示,通過承接層將上一時刻輸出返回到隱含層使其具有記憶功能[18]。這種構造使得Elman神經網絡在處理動態(tài)信息、預測時間序列等問題時,相較于傳統(tǒng)BP神經網絡更為容易。因此,選取其對船舶航跡進行建模。其數學表達式為
y(t)=g(ω3x(t))
(17)
x(t)=f[ω1u(t)+ω2x(t-1)]
(18)
u(t)=x(t-1)
(19)
式中:y、x、u分別為輸出層、輸入層、承接層向量;ω1、ω2、ω3分別為各層間的權值;f()為隱含層傳遞函數;g()為輸出層傳遞函數。
圖3 Elman神經網絡結構Fig.3 Neural network structure of Elman
2.2.1 動態(tài)增長型Elman神經網絡設計
Elman神經網絡隱含層神經元個數的選取影響著網絡的性能,神經元太多或太少都會影響網絡的性能,如何選取隱含層神經元個數仍然是一個尚待解決的問題。使用減法聚類算法確定隱含層初始神經元個數,在此基礎上通過判斷訓練精度是否滿足性能函數來動態(tài)增加隱含層神經元個數。
設t時刻網絡的誤差為e(t),其公式為
ep(t)=yp(t)-op(t)
(20)
式(20)中:yp(t)為t時刻網絡預測值;op(t)為t時刻網絡實際值;p為輸出神經元個數,p=1。
網絡性能函數選取均方誤差,公式為
(21)
神經元δ動態(tài)增長公式為
(22)
式(22)中:γ為一個極小的正數;Fix()為取整函數。如式(22)所示,隨著MSE的動態(tài)變化,神經元δ的個數也在動態(tài)增加。
將平均絕對誤差(mean absolute error,MAE)與均方根誤差(root mean squared error,RMSE)作為網絡精度的評價標準,其公式為
(23)
(24)
式中:Y(i)為預測值;y(i)為實際值。
使用大連海事大學“育鯤輪”訓練船真實數據集,“育鯤輪”船長116 m,船寬18 m,MMSI號為412701000,呼號為BQHZ;選取航速10~15 kn(1 kn=1.852 km/h)的數據,并要求數據發(fā)送間隔為10 s,以此保證船舶航行動態(tài)時間序列數據的等時間間隔要求。
通過歸一化互信息與專家知識選取航速、航向、船舶位置(經度、緯度)與船舶吃水作為輸入變量;選取230組數作為建模數據并做歸一化,前200組用于網絡訓練,30組用于網絡預測。圖4為航速預測結果,圖5為航速預測誤差。航速訓練過程中神經元數增長情況如圖6所示,初始的6個神經元為減法聚類算法計算的結果,在此基礎上,基于誤差反饋的自增長方法將網絡神經元數目最終確定為8個。
圖4 航速預測結果Fig.4 Speed prediction results
如表1所示,模塊化神經網絡的航速最小預測誤差為0.007 1 kn,最大誤差為0.085 5 kn,RMSE值為0.001 7,MAE值為0.030 1;BP神經網絡的航速最小預測誤差為0.052 9 kn,最大誤差為0.122 3 kn,RMSE值為0.005 7,MAE值為0.072 4;RBF神經網絡的航速最小預測誤差為0.005 0 kn,最大誤差為0.119 6 kn,RMSE值為0.004 8,MAE值為0.064 9。
圖7為航跡預測結果,圖8為經度與緯度的預測誤差,圖9為經度與緯度訓練過程中神經元的增長情況,與航速預測神經元增長情況有所不同的是,航速預測神經元為+1增長,航跡預測神經元則根據式(22)動態(tài)增長。
圖5 航速預測誤差Fig.5 Error of speed prediction
圖6 航速訓練過程神經元增長曲線Fig.6 Neuron growth curve during speed training
表1 航速預測結果對比
圖7 航跡預測結果Fig.7 Track prediction results
如表2所示,模塊化神經網絡的航跡預測隱含層神經元個數較少且網絡性能最好,全互連BP神經網絡與全互連RBF神經網絡性能達到與MNN神經網絡相似精度所需的神經元個數較多,網絡結構較為冗余。
圖8 航跡預測誤差Fig.8 Track prediction error
圖9 航跡訓練過程神經元增長曲線Fig.9 Neuron growth curve during track training
表2 航跡預測結果對比
綜合對比MNN、BP與RBF三種神經網絡的預測結果與隱含層神經元個數,MNN網絡結構更加緊湊,綜合性能優(yōu)于BP與RBF神經網絡,驗證了本文方法的預測精確性。
為獲得更高精度的船舶航行行為預測結果,借鑒模塊化神經網絡“分而治之”這一設計理念完成了對航跡與航速的同步、準確預測并得出以下結論。
(1)使用船舶真實數據進行預測模型對比實驗,在預測精度上,MNN比全互連RBF神經網絡與全互連BP神經網絡準確性更高。
(2)在神經網絡網絡結構上,MNN的網絡結構更加簡潔。