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