蔣 通,崔良中,劉立國,林 媛
(1. 海軍工程大學電子工程學院,湖北 武漢 430033;2. 中國人民解放軍92001部隊,山東 青島 266011)
近年來,海上安全和海洋權益在全世界范圍內變得越來越受到重視。隨著衛(wèi)星定位和無線通訊等技術的飛速發(fā)展,可以通過艦船自動識別系統(tǒng)(AIS)、雷達和衛(wèi)星等多種途徑獲取大量海上艦船航行軌跡數(shù)據(jù),如何挖掘潛藏在其中的有用信息一直是該領域研究的重難點之一,對航行軌跡的聚類分析與預測是發(fā)現(xiàn)海上交通規(guī)律和船舶行為模式的有效方法和手段,具有重要的軍事意義和社會經濟價值。
國內外專家學者提出的針對航跡預測的方法主要包括基于統(tǒng)計學、基于傳統(tǒng)機器學習和基于深度學習等三類?;诮y(tǒng)計學的方法中,Mathew等人運用隱馬爾可夫模型(HMM),把二維空間劃分為大小相同但彼此不相交的網(wǎng)格,將軌跡表示為各個網(wǎng)格的編號。然而,該方法需要將連續(xù)的軌跡進行離散化,很多參數(shù)需要人為設置,因此存在精度丟失等問題;BI等人采用線性回歸(LP)預測的方法對移動目標進行分類和識別?;趥鹘y(tǒng)機器學習的方法中,Tong等人綜合考慮軌跡的時間和空間連續(xù)性,使用改進的馬爾可夫鏈(MC)模型對局部軌跡的未來走向進行預測,并提高了傳統(tǒng)馬爾科夫模型的預測準確度,其通過計算不同狀態(tài)之間的轉換概率,得到下一階段不同狀態(tài)的發(fā)生概率,從而達到預測目標未來運動狀態(tài)的目的;茅晨昊等人提出一種基于高斯回歸過程(GPR)的船舶軌跡預測模型,集聚了貝葉斯網(wǎng)絡可解釋性強的優(yōu)點以及支持向量機(SVM)的自適應處理能力。基于深度學習的方法中,甄榮等人對船舶航行行為特征進行充分考慮,以連續(xù)三個時刻為輸入、第四個時刻為輸出對BP(Back Propagation)神經網(wǎng)絡進行訓練,取得較好的預測結果;循環(huán)神經網(wǎng)絡(RNN)也常被用于預測目標軌跡,其在各領域的序列數(shù)據(jù)處理方面已經得到廣泛應用。但是,RNN在處理序列較長的數(shù)據(jù)時,計算過程中會出現(xiàn)梯度爆炸或梯度消失的現(xiàn)象,長短期記憶(LSTM)網(wǎng)絡應運而生。
然而,應用傳統(tǒng)時間序列預測方法進行艦船航跡預測時,其精確度和穩(wěn)定性往往不夠理想;此外,受軍用數(shù)據(jù)因涉密程度高難以獲取的限制,現(xiàn)有研究多基于民用AIS航跡數(shù)據(jù),忽略了同一海域軍用艦船和民用船舶會同時存在的客觀現(xiàn)實。為解決上述問題,本文提出一種基于聚類分析和Att-Bi-LSTM的艦船航跡預測方法,采用“先聚類分析、后預測”的思想,將航跡聚類分析與航跡預測兩個階段相結合,在同時包含軍用艦船和民用船舶的場景中設計對比實驗驗證其預測效果。
本文采取一種多步驟艦船航跡聚類分析方法,先將航跡聚成不同的類別,以此為艦船航跡預測提供支撐。完整流程如圖1所示。
圖1 多步驟艦船航跡聚類分析方法流程
(1)
(2)
表1 數(shù)據(jù)預處理
每一條航跡都可以看做是一條不規(guī)則曲線,在對航跡進行數(shù)字化表示時,要對曲線進行采樣,即在曲線上取有限個點(即航跡點),將其變?yōu)闊o數(shù)段折線(即航跡段),并且盡可能保持原有的形狀。運用經典道格拉斯-普克(DP)算法壓縮航跡時,只考慮了航跡點的經度和緯度,而忽略了航向和航速對壓縮結果的影響,往往會導致不能將“轉折點”或“變速點”保留下來。因此,本文在經典DP算法的基礎上對其進行改進,通過查閱相關文獻資料,咨詢航海領域專業(yè)人士,需要保留符合以下條件中至少一個的航跡點。
△=|+1-|>50∈[1,]
(3)
△=|+1-|>300∈[1,]
(4)
每一條航跡都可以看作是由相鄰航跡點連接而成的子航跡段組成,采用動態(tài)時間規(guī)整(DTW)算法對不同航跡之間的航跡段進行匹配,保證每條航跡的任一航跡段在另一條航跡當中都能找到與之匹配的航跡段,把它們之間的距離等效地認為是起始航跡點之間的結構化距離。
如圖2所示,假設有兩條航跡為和,表示航跡的第個航跡點,表示航跡的第個航跡點,為航跡點之間可能的匹配路徑。(,)表示航跡的前個航跡點組成的子航跡段和航跡的前個航跡點組成的子航跡段之間的最小結構化距離。
圖2 子航跡段匹配
算法的思想是使用迭代的方法求出任意兩條航跡的匹配路徑,使得結構化距離最小,可表示為
(,)=(,)+min(((-1),),(,(-1)),((-1),(-1)))
(5)
其中,(,)表示與之間的結構化距離。
不同航跡之間的結構化距離中除了位置距離外,還包括由于航向和航速的差異而導致的“距離”,也需要對此進行度量,可表示為:
(,)=Δ+Δ+Δ+Δ
(6)
其中,Δ、Δ、Δ和Δ分別表示、兩個航跡點航速的垂直分量、航速的水平分量、位置的垂直距離和位置的水平距離之間的差異;表示結構化距離中各部分所占權重,需滿足條件:≥0,=1,2,3,4且∑=1。
最后運用基于DBSCAN算法的自適應層次聚類方法對艦船航跡進行聚類,此方法通過分析DBSCAN算法的特性,根據(jù)數(shù)據(jù)集內在分布規(guī)律及擬聚類效果的變化規(guī)律來確定參數(shù),有效解決了參數(shù)選取對DBSCAN算法聚類效果的影響。
相較于RNN,LSTM網(wǎng)絡用一個記憶單元代替隱藏層結點,不同記憶單元之間通過帶權邊相連,確保梯度可以在不同時間狀態(tài)中傳遞,不會出現(xiàn)爆炸或消失的現(xiàn)象?;窘Y構如圖3所示。
圖3 LSTM網(wǎng)絡兩種狀態(tài)在隱藏層中傳遞
LSTM網(wǎng)絡有三個門來控制長期狀態(tài),門是一個全連接層,表示為
()=s(+)
(7)
其中,表示權重向量,表示偏置項,表示sigmoid函數(shù)。其隱藏層的循環(huán)過程如圖4所示。
圖4 LSTM網(wǎng)絡中隱藏層循環(huán)過程
輸入門:決定當前網(wǎng)絡輸入值進入到單元狀態(tài)的比重,表示為
=s(·[-1,]+)
(8)
遺忘門:決定上一時刻單元狀態(tài)-1保留到當前時刻的比重,表示為
=s(·[-1,]+)
(9)
(10)
(11)
輸出門:決定單元狀態(tài)到當前輸出的比重,表示為
=s(·[-1,]+)
(12)
LSTM網(wǎng)絡的輸出值可表示為
=*tanh()
(13)
基于時間的反向傳播(BPTT)算法是針對LSTM網(wǎng)絡中循環(huán)層的訓練算法,主要包括前向計算每個神經元的輸出值、反向計算每個神經元的誤差項以及計算每個權重的梯度,并用隨機梯度下降算法更新權重等三個步驟。
傳統(tǒng)LSTM網(wǎng)絡按照時間順序來處理序列問題,忽略了未來信息對當前的影響。雙向長短期記憶(Bi-LSTM)網(wǎng)絡通過在隱藏層到隱藏層之間引入與時間順序相反的連接來擴展單一定向LSTM網(wǎng)絡,包含兩個傳播順序相反的子網(wǎng)絡,網(wǎng)絡輸出值可表示為:
(14)
為挖掘時間序列不同因子之間相關性權重,Bahdanalu等人提出了注意力(Attention)機制,核心思想是提取與目標顯著相關的核心信息,突出影響目標的關鍵因素,本質上是一種自動加權方案。
設H是由LSTM層每一時間步輸出的隱藏狀態(tài)組成的矩陣
=[,,…,]
(15)
其中,為序列長度。對進行加權求和計算可得注意力機制的輸出向量
(16)
其中,表示注意力向量,表示經過訓練的參數(shù)向量,表示其轉置。
綜上,結合注意力機制的雙向長短期記憶(Att-Bi-LSTM)網(wǎng)絡網(wǎng)絡通常包括輸入層、Bi-LSTM層、Attention層、全連接層和輸出層,其結構如圖5所示。
圖5 Att-Bi-LSTM網(wǎng)絡結構
給定包含有限個航跡點的歷史航跡T,可表征為由一系列離散航跡點組成的序列
=(,,…,)
(17)
其中,表示航跡點。
每個航跡點可以表征用一個四維向量對其特征進行表征
=(,,,)
(18)
其中,、、、分別表示航跡點的航速、經度、緯度和航向。
當前目標處于航跡點,艦船航跡預測問題就是根據(jù)當前+1個時刻組成的序列,預測+1時刻目標最有可能處于的航跡點
(19)
依此類推,直到完成對最后一個航跡點的預測。
基于Att-Bi-LSTM的艦船航跡預測模型如圖6所示。
圖6 基于Att-Bi-LSTM的艦船航跡預測模型
本文提出的基于聚類分析和Att-Bi-LSTM的艦船航跡預測方法流程如圖7所示。
圖7 艦船航跡預測方法流程圖
整個過程可分為四步:
1)運用多步驟艦船航跡聚類算法將航跡
聚成不同的類別。
2)構建基于Att-Bi-LSTM的艦船航跡預測模型,將實驗數(shù)據(jù)分別按相同比例劃分成訓練集和測試集,輸入訓練集對網(wǎng)絡中進行訓練,得到與類別相對應的訓練好的網(wǎng)絡。
3)輸入測試集到對應的訓練好的網(wǎng)絡中,得到航跡預測結果。
4)設計對比實驗,分析方法性能。
選取“日本沖繩-釣魚島及其附屬島嶼-臺灣島-巴士海峽-北呂宋海槽-馬尼拉海溝”沿線附近海域300條民用艦船航跡和200條軍用艦船航跡作為實驗數(shù)據(jù),其中民用艦船航跡為真實的AIS航跡數(shù)據(jù),軍用艦船航跡為模擬生成的。重要參數(shù)設置如表2和表3所示。
Att-Bi-LSTM網(wǎng)絡的訓練和預測基于深度學習框架Tensorflow 2.3.0版本的上層框架Keras完成。分別取80%的航跡數(shù)據(jù)用于網(wǎng)絡的訓練,20%的航跡數(shù)據(jù)用于網(wǎng)絡的預測。為使所得實驗結果更具有說服力,避免偶然性的發(fā)生,均取20次運行結果的平均值。實驗編程語言使用Python 3.5。
表2 航跡聚類參數(shù)設置
表3 網(wǎng)絡一參數(shù)設置
航跡聚類結果如表4所示。
表4 航跡聚類結果
由實驗結果可知,500條航跡被分成了四類,分別包含134、67、138和159條航跡。為更好的體現(xiàn)不同網(wǎng)絡對不同屬性的預測結果,使用精確度(precision)作為衡量指標,航跡預測的結果為航速、經度、緯度和航向等四個屬性的具體數(shù)值,并非航跡所屬類別,因此需要分別對不同屬性的閾值進行設定,如表5所示(以網(wǎng)絡一為例)。
表5 閾值設定
若預測值與真實值之間的差值在閾值之內,可以認為其滿足精確度的要求,否則不滿足。不同類別對應的不同網(wǎng)絡對航跡各個屬性的預測結果如表6所示。
表6 航跡預測結果
從表中可以看出,除了網(wǎng)絡四對經度和緯度的預測精確度略低于80%外,其它均在80%以上。通過計算,航速、經度、緯度和航向四個屬性的平均精確度分別為93.6%、83.0%、82.4%和89.0%,結果表明本文提出的艦船航跡預測方法具有一定的預測精確度,其中航速的精確度明顯大于其它三種屬性,這是由于現(xiàn)實情況中不定風向和未知洋流等自然環(huán)境條件造成的,經度和緯度也會因此受到影響;而網(wǎng)絡一和網(wǎng)絡二中航向和航速的精確度要優(yōu)于網(wǎng)絡三和網(wǎng)絡四,這是因為軍用數(shù)據(jù)模擬過程中,相鄰“轉折點”之間的“非轉折點”航向和航速假定為相等造成的,然而在航行過程中,往往會根據(jù)形勢隨機應變,如突然地加速減速、急轉急停等,實際預測難度較大,預測結果精確度略低。
為有效評估本文所用模型的效果,設計對比實驗,在相同的數(shù)據(jù)集上分別與BP神經網(wǎng)絡、LSTM網(wǎng)絡和Att-Bi-LSTM網(wǎng)絡三種模型進行對比分析,以均方根誤差(RMSE)來衡量不同模型的精確度,以最大誤差和最小誤差來衡量不同模型的穩(wěn)定性。RMSE的表達式如下
(20)
本文所提出方法的、最大誤差和最小誤差表示如下
(21)
=max[()|=1,2,3,4]
(22)
=min[()|=1,2,3,4]
(23)
其中,、、(=1,2,3,4)分別表示不同網(wǎng)絡中測試集樣本數(shù)量、均方根誤差、誤差。
不同模型預測結果三種誤差對比如表7、8、9所示。
表7 不同模型預測結果RMSE對比
表8 不同模型預測結果最大誤差對比
表9 不同模型預測結果最小誤差對比
從三張表中可以看出,本文所提出的模型在RMSE、最大誤差和最小誤差等評價指標上均優(yōu)于其它三種模型,可以認為其在精確度和穩(wěn)定性兩個方面都取得了較好效果,原因是通過聚類分析可以使得同一網(wǎng)絡的實驗樣本之間具有較高的相似性,有利于網(wǎng)絡的訓練和預測,Attention的加入使得Bi-LSTM網(wǎng)絡在處理時間序列問題上性能更好。
本文以海上艦船航跡為研究對象,具有一定的軍事意義和社會經濟價值,主要內容及成果總結如下:
1)提出了一種基于聚類分析和Att-Bi-LSTM的艦船航跡預測方法,先通過航跡壓縮、航跡匹配和航跡聚類等三個階段對航跡進行聚類分析,后基于Att-Bi-LSTM建立航跡預測模型;
2)在包含民用航跡和軍用航跡的數(shù)據(jù)集上設計了對比試驗,結果表明其在預測精確度和預測穩(wěn)定性兩方面較現(xiàn)有模型均有所提高,體現(xiàn)了其優(yōu)越性。
今后的工作中,針對不同來源的艦船航跡數(shù)據(jù),可通過多元異構數(shù)據(jù)技術繼續(xù)開展相關研究。