?

基于LSTM與注意力機制的船舶航跡預測模型研究

2021-03-11 02:01劉成勇喬文杰陳蜀喆
中國航海 2021年4期
關鍵詞:航跡航行時刻

劉成勇, 喬文杰, 陳蜀喆, 萬 一

(1.武漢理工大學 航運學院, 武漢 430063; 2.湖北省內河航運技術重點實驗室, 武漢 430063)

隨著航運業的迅速發展,內河通航水域中持續面臨著如船舶交通密度增大、危險貨物載量增加、水上交通管理難度增大等嚴峻挑戰,這些挑戰使得水域通航環境愈發復雜,是內河航運業保持可持續發展的潛在阻礙和難題。而安全可靠的船舶航跡預測能為內河水上交通安全管理和船舶航行提供重要依據[1],如Dejun提出基于船舶航跡預測的船舶碰撞避免方法[2],即首先將目標船和本船的實時數據進行航跡預測,然后將預測結果應用到船舶避碰中,以提前識別出船舶的危險情況。內河水上交通管理部門也能通過獲取船舶準確有效的航跡預測數據,及時發現并處理船舶航行異常和不規范的問題,同時采取相應的策略來提高內河船舶通行的效率和安全?;贏IS數據的船舶航跡預測研究也是當前內河船舶交通流研究中的熱點,傳統統計理論研究方法的有如姜佰辰等提出了在傳統卡爾曼濾波理論的基礎上構建多項式卡爾曼濾波器擬合非線性系統[3],補償航跡定位數據信息缺失、更新較慢等問題,并基于經緯度信息預測船舶運動軌跡,但此類模型對數據的質量要求較高,且預測精度一般。隨著神經網絡的廣泛使用,出現了如徐婷婷等使用經度差、緯度差、船速和航向四個特征設計了基于三層BP神經網絡的航跡預測模型[4],該模型訓練預測后結果表明該算法預測精度高、算法耗時短、計算參數少,符合VTS對航跡預測的準確、實時、通用性的要求,但此類模型隱藏層單元較少且較為直接,模型表達能力有限。而當前大數據時代的到來和深度學習在各個領域的應用,利用深度學習挖掘AIS數據的豐富交通特征信息來解決船舶航跡預測問題也取得了一定進展,如權波等針對船舶航行軌跡多維度的特點以及對船舶軌跡預測的精確度和實時性的需求,基于AIS數據的航行軌跡特征,提出了循環神經網絡-長短期記憶(RNN-LSTM)模型[5],實驗表明利用RNN-LSTM模型的預測方法具有精確度高、易實現的特點,并且與傳統處理方法相比,其在處理序列數據方面更具優越性。

目前在船舶航跡預測問題上應用效果相對較好的方法還是結合AIS數據的深度學習方法,但是依然存在一些精度和可靠性不足的問題,主要原因在于大多數模型挖掘船舶AIS數據信息的過程都較為孤立,并沒有考慮如自身船舶航行模式和其他船舶的交互影響等方面。

1 LSTM網絡及其傳播原理

1.1 LSTM網絡概述

在深度學習的典型模型中,循環神經網絡(Recurrent Neural Networks, RNN)具有對大量離散時間序列數據處理的優越性和獨特的上下時刻記憶功能,AIS數據及其包含的航跡特征也屬于上下時刻息息相關的離散時間序列。使用RNN神經網絡結合航跡數據的關聯特性能充分挖掘數據內部蘊藏的信息,且將RNN的隱藏層替換為LSTM網絡單元后的航跡預測模型在實際運用中也取到了較好的效果[5]。

常見的RNN展開后的結構如圖1所示,由于循環神經網絡在實際應用中存在固有的梯度消失和梯度爆炸的問題[6-7],一般將循環神經網絡單元替換成LSTM網絡單元來解決上述問題,LSTM網絡展開傳遞過程如圖2所示,其主要解決方案是增加了單元狀態(Cell State)和各種門結構來讓網絡在傳遞的過程中具備選擇性保留或遺忘某些信息的能力[8]。單元狀態相當于傳輸相關信息的通路,讓信息在序列鏈中傳遞下去,這部分可看作是網絡的記憶。理論上,在序列處理過程中,單元狀態能一直攜帶著相關信息。因此,在較早時間步中獲得的信息也能傳輸到較后時間步的單元中,這樣能減弱短期記憶的影響。而門結構則是在網絡訓練的過程中,決定是否存儲、刪除或更新某些信息,這取決于它賦予信息的重要性,而重要性的分配發生在算法學習到的權重上。

圖1 RNN展開后的結構圖

如圖2所示,每個基本模塊具有兩條傳遞的主線,ct代表t時刻的單元狀態,ht代表t時刻的隱藏層輸出。在網絡傳遞的過程中,前一時刻單元狀態ct-1、隱藏層輸出ht-1和當前時刻的輸入xt共同作為當前時刻的輸入,然后輸出新的單元狀態ct和隱藏層輸出ht,如此反復遞歸下去。

圖2 LSTM網絡展開傳遞示意圖

1.2 LSTM傳播原理

1.2.1前向傳播過程

長短期記憶網絡使用了三種門結構實現了對單元狀態和隱藏層輸出的控制,達到對記憶信息的保存和新單元狀態和輸出的更新效果。這三種門分別是遺忘門(Forget gate),輸入門(Input gate)和輸出門(Output gate),共同對網絡的記憶信息和新的輸入信息起到了綜合調控的作用,其具體的網絡單元結構如圖3所示。

圖3 LSTM具體網絡結構單元圖

如圖3所示,其中ft、it、ot分別對應遺忘門、輸入門和輸出門的結果,?、⊕分別表示連接部分相乘和相加。那么根據文獻[8]可知三個門結構、更新后單元狀態和隱藏層值的計算分別如下:

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wi·[ht-1,xt]+bi)

(2)

(3)

(4)

ot=σ(Wo·[ht-1,xt]+bo)

(5)

ht=ot⊙tanh(ct)

(6)

1.2.2反向傳播過程

(7)

(1-ot)](ht-1)T

(8)

2 基于LSTM的Encoder-Decoder模型框架

2.1 總體模型框架

本文的船舶航跡預測問題選取的輸入主要包括AIS報文信息里五個航跡相關參數,即輸入變量為船舶經度(longitude,度)、緯度(latitude,度)、對地航速(SOG,節/小時)、船首向(Head direction,度)和對地航向(COG,度)的多個時刻觀測序列值,預測輸出為船舶后續時刻位置的經緯度序列。這可以看成一個典型的從序列到序列(seq2seq)的預測問題,在深度學習中現有的基于LSTM模塊單元的Encoder-Decoder模型常用于處理此類問題。如朱墨儒等[12]針對云計算的負載變化兼有短期動態不確定性與長期統計規律的穩定性,利用經過改進的Seq2seq模型并通過采集一段時間內的歷史負載信息,對負載時間序列數據進行建模后實現了較為準確的未來一段時間的負載預測。那么結合本文的實際研究,將該模型應用到航跡預測問題可得到基于LSTM的編碼-解碼航跡預測模型基本框架,如圖4所示。

圖4 基于LSTM編碼-解碼模型的船舶航跡預測基本框架

2.2 LSTM編碼過程

在LSTM編碼器部分,每個LSTM模塊接受上一時刻船舶航跡的隱藏層表示和當前時刻輸入的該船舶的航跡參數,根據這兩部分的輸入通過非線性變換再計算出當前時刻該船舶航跡序列的隱藏層表示,如式(9)所示:

ht=σ(ht-1,xt)

(9)

其中σ為非線性變換函數,在通過所有的輸入循環單元后,獲得了所有輸入時刻的隱藏層表示,將每個隱藏層的信息匯聚生成了最后的上下文向量C,其中q為某種非線性函數,由圖4可知,此時的C即為輸入層最后一層的隱藏層輸出ht,整個的編碼過程可以總結如式(10):

C=LSTM(x1,x2,…,xτ)

(10)

輸入的航跡序列經過編碼器映射成上下文向量C,這個固定長度的上下文向量可以看作是編碼器到解碼器的信息媒介,避免了序列數據的長度限制。通過編碼器對船舶的航跡序列數據進行特征提取,學習了航跡數據里蘊藏的船舶潛在運動模式,為解碼器預測船舶后續時刻的位置提供了有效的信息。

2.3 LSTM解碼過程

在LSTM解碼器部分,解碼器在每個輸出時刻也接收兩個輸入,分別是通過編碼器生成的上下文向量C和已經生成的輸出序列,這兩部分經過非線性變換后輸出船舶的下一個可能的位置,預測輸出過程表示為如式(11)所示:

(11)

f為解碼器的LSTM循環單元,解碼器的生成序列實際上就是把聯合概率分解為按順序生成的條件概率,由于解碼器每一時刻的相互連接,解碼器每一時刻的輸出具體可以表示為由隱藏層和上下文向量C表示,如式(12)所示:

(12)

其中g為輸出概率的非線性變換函數,st-1為解碼器t-1時刻的隱藏層表示。

解碼器每次預測船舶后續時刻的位置時,能夠利用上一時刻的預測信息和基于編碼器對輸入航跡序列信息提取后得到的上下文向量C,通過LSTM前向和反向傳播的學習能力,模型能夠學習到目標輸出與這兩種信息之間的非線性映射關系,并將映射關系的結果解碼得到后續時刻船舶的位置信息輸出,即為基于LSTM編碼-解碼的船舶航跡預測過程。

3 Atten-LSTM船舶航跡預測模型構建

在解決seq2seq問題的Encoder-Decoder模型時,往往將模型預測輸出和深度學習中的注意力機制結合起來。大量研究工作表明,注意力機制的引入確實能較大程度上提高seq2seq模型預測輸出的準確率[13]。與人的注意力機制類似,深度學習的注意力機制的本質上是一種對信息的加權方案,根據任務的需求讓神經網絡選擇特定的輸入,依據輸入對結果的重要程度分配不同的權重,讓神經網絡在做出預測時更加合理的運用信息的來源,基于此本文主要從船舶航行模式的時間和空間兩個維度對注意力機制進行模型構建。

3.1 時間注意力機制

在基于LSTM的編碼-解碼航跡預測模型中使用的是由輸入生成的固定的上下文向量C,由于向量長度有限,難以概括整個航跡序列的信息,且在LSTM中先輸入的信息會被后輸入的內容稀釋掉,于是隨著輸入序列的變長,這種固定的上下文向量C越來越不能體現航跡數據中的真實信息。另外真實場景下船舶的航行模式也是隨時間動態變化的,僅依靠固定的上下文向量C無法區分輸出序列和輸入序列的隱藏層之間跨時間步的相關性程度。因此,在基礎的編碼-解碼船舶航跡預測模型中需要引入每艘船舶對自身歷史航跡的時間注意力機制,自動學習出其解碼器與編碼器產生的各隱藏向量的相關性。這里以第i艘船為例,使用時間注意力機制計算生成船舶航的位置序列的迭代過程則如式(13)所示:

(13)

(14)

圖5 模擬船舶自身航行模式的注意力機制示意圖

3.2 空間注意力機制

除了引入對自身航跡的時間注意力機制外,還要考慮船舶航行環境中船與船的交互作用對船舶航跡的影響??紤]到在預測自身船舶的航跡時也需要對其他周圍船舶的航行模式做出觀察和判斷,模型就需要利用其他周圍船舶航跡數據的上下文向量所攜帶的信息,并能夠與該上下文向量之間建立聯系。另外,每艘船舶的航行狀態會隨著時間不斷發生變化,對任意一艘自身船舶而言,其他的船舶的航行狀態都會對其未來時刻航跡產生不同的影響。因此,模型需要計算出船舶對周圍其他船舶的關注程度,即航行過程中的空間注意力機制調整。

(15)

圖6 模擬船舶交互作用的注意力機制示意圖

實現了基于LSTM的編碼-解碼航跡預測模型中的注意力機制后,對于模型輸出采取如下方式:即本船i在預測時刻t出現在某個位置的概率服從二維高斯分布,再根據極大似然估計,可得到模型的總體損失函數則為船舶真實位置概率密度值的交叉熵損失函數,這樣模型訓練的過程中便可以通過誤差隨時間的反向傳播和梯度下降可以學習到所有的參數值,總體的Atten-LSTM模型構建完成。

4 模型驗證及結果分析

4.1 實驗環境和評價指標

本文的主要開發語言為python3.7版本,實驗平臺使用基于tensorflow1.8版本的上層框架Keras。實驗研究數據主要來源于海事管理機構,主要選取了長江干線武漢段船舶正常航行的航跡數據,每條船舶選取約400條航跡數據,每條數據采樣間隔為2分鐘。首先對原始數據中的錯誤數據進行剔除和缺失數據進行同類均值插補,再對船舶經度、維度、航速、航首相和對地航向五個維度進行min-max歸一化處理,之后對航跡數據進行訓練集和測試集的劃分,其中30%作為測試集,70%的數據作為訓練集,將訓練集分為十等份,輪流將其中九份作為訓練,一份用來測試評估,即采用十折交叉驗證的策略訓練模式。模型的評價指標選取常用的絕對值平均誤差(MAE)和均方根誤差(RMSE)兩個標準,其值越小代表模型準確度越高。兩者基本的計算方法如式(16)和(17)所示:

(16)

(17)

4.2 模型參數設置

對于本文的Atten-LSTM預測模型參數設置,其嵌入層維度為64,隱藏層維度設為128,訓練中的優化器選用Adam優化器,訓練周期(epoch)設為200,如果損失經過400個批次都沒有減少,就可以減少訓練的epoch[17]。網絡學習率初始值設為0.002,每一個訓練周期的學習率自適應降低,學習率的逐步降低有利于網絡收斂于更優的結果。為防止網絡模型出現梯度爆炸的現象,模型采用梯度修剪(Gradient clipping)將誤差反向傳播的梯度控制在5和-5之間。同時考慮預測值的實際應用與參考價值,將輸出定為未來5個時刻的經緯度值,即輸出steps為5。對于輸入層的時刻數,對多個不同輸入steps進行實驗對比分析誤差進行選取。以MMSI編號413963521的貨船的航跡數據為本船,通過坐標距離計算獲取周圍6海里的他船,確定船舶后帶入Atten-LSTM模型中對本船進行訓練后得到后續時刻的預測,則實驗過程中不同輸入steps帶入模型對應的MAE和RMSE得分見圖7所示。

圖7 輸入層不同steps對應的RMSE和MAE值

由圖7可以看出,不同的輸入層steps對網絡模型精度有著一定影響,模型網絡在輸入層steps為6的時候達到最小,因此本文的Atten-LSTM模型的輸入層steps確定為6,輸入數據的維度為6×5的矩陣。

4.3 實驗結果分析

對實驗環境和網絡參數的設定后,使用船舶安全航行條件下的完整數據集進行網絡訓練擬合,并根據指定的優化算法和損失函數進行網絡優化。訓練結束后使用測試集模型進行遞歸預測,對預測結果進行誤差分析和精準度比較,航跡預測結果以三維航跡預測圖和經緯度二維軌跡圖進行顯示。以MMSI為413963521的航跡較為平穩的貨船為例,圖中橫坐標為數據的時間點,每個時間點間隔2分鐘,縱坐標為經緯度值。

如圖8和圖9所示,該貨船在Atten-LSTM模型的訓練集和測試集上的預測結果良好,航跡經緯度的預測結果也相對準確,一方面說明網絡模型未出現過擬合的狀況,也說明該模型能較好的處理航跡預測的問題。此外,為更好的量化評定模型預測結果的準確性,本文選擇幾種不同類型的船舶進行統計分析,計算出對應船舶預測結果的RMSE和MAE及其平均值,如表1所示。

圖8 MMSI為413963521的貨船航跡預測圖

圖9 MMSI為413963521的經緯度預測圖

為進一步驗證該模型相對于其他模型在航跡預測精準度上的優勢,選取在航跡預測方面取得不錯應用效果的GA-BP和LSTM兩個預測模型與Atten-LSTM模型進行預測精準度比較,以MMSI為413963521的貨船為例,其預測效果對比如圖10和圖11所示。

表1 不同類型船舶對應的預測誤差值

圖10 三種模型的航跡預測結果對比圖

由上圖10和圖11可以看出,Atten-LSTM模型和原始航跡的擬合的最為貼近,即船舶安全航行情況下其預測航跡的精準度最高,其次是LSTM模型也取得不錯的預測效果,GA-BP的預測方法在三者中誤差最高。下面同樣以RMSE和MAE作為預測性能的評價指標,列出三種模型在相同數據條件下的預測誤差量化統計表,如表2所示。

表2 三種不同預測模型的誤差值

如表2所示,Atten-LSTM模型的誤差得分相對于其他兩種模型確實最低,體現出該模型在船舶的預測航跡相對其他模型具有更高的準確度。

5 結束語

本文從內河水域船舶航跡預測的角度出發,以蘊含船舶航行信息的AIS數據為切入點,分析了從輸入船舶航跡相關的特征維度序列到預測輸出為經緯度位置序列的seq2seq問題,提出了一種基于LSTM與注意力機制的Atten-LSTM航跡預測模型。該模型以基于LSTM的Encoder-Decoder的航跡預測模型為基本框架,應用注意力機制模擬了船舶在航行過程船舶自身航行模式和船舶交互影響對航跡預測的影響。相關實驗表明了Atten-LSTM模型在安全航行條件下具有較高的預測精度,該模型在航跡預測問題上體現出較好的適用性和可靠性。由于船舶航跡預測問題的復雜性,下一步需考慮船舶航跡異常時該模型的表現,而Atten-LSTM模型中的注意力機制在一定層面上就是對船員注意力機制在數據層次上的體現,可進一步研究該模型是否對船舶異常航跡起到糾正和規避船舶碰撞等潛在作用。

猜你喜歡
航跡航行時刻
冬“傲”時刻
捕獵時刻
到慧骃國的航行
夢的航跡
自適應引導長度的無人機航跡跟蹤方法
小舟在河上航行
航行
視覺導航下基于H2/H∞的航跡跟蹤
基于航跡差和航向差的航跡自動控制算法
一天的時刻
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合