• 沒有找到結果。

第三章 船舶航行安全監測與預測系統

3.2 系統模型建置

在完成不同AIS資料特徵與標籤取樣組合方式後,還需經學習演算 法訓練產生一預測模型。由於船舶的AIS資料與時間成對應關係,且該 對應關係只與前一個時間狀態有關聯。在神經網路模型中,循環神經網 路(Recurrent Neural Network, RNN)架構特殊的隱藏層結構,使其非常 適合處理時間序列。循環神經網路是一種具有短期記憶的神經網路,其 原理是將神經元的輸出或隱藏層再接回神經元的輸入,使輸出值不僅 僅受當下的輸入訊號影響,也受到過去本身的輸出或隱藏層所影響,由 於這樣的特性,循環神經網路與其它神經網路相比更適合處理序列數 據,因此循環神經網路已經被廣泛運用於語音辨識、語意分析及語言翻 譯等領域。循環神經網路有兩種架構,第一種為Elman network、第二 種為Jordan network,Elman network使用上一個時間戳記(Timestamp)的 隱藏層做為其中一個輸入訊號,在架構上較符合AIS的資料特性,其架 構如圖3.4所示:

圖3. 4 Elman network架構

從圖3.4可以得知。循環神經網路在不同時間戳記的輸入訊號為 (𝑋𝑡−1、𝑋𝑡、𝑋𝑡+1)、隱藏層為(𝑆𝑡−1、𝑆𝑡、𝑆𝑡+1)、輸出為(𝑂𝑡−1、𝑂𝑡、𝑂𝑡+1)

、激活函數為(𝑡𝑎𝑛ℎ、𝑓)且權重為(𝑈、𝑉、𝑊)分別對應不同來源。在輸 入訊號為𝑋𝑡時的隱藏層為(3.1)式、輸出為(3.2)式,其中輸出層的激活函

3-6

數則可依網路需求做修改,隱藏層的激活函數固定為tanh函數,如圖3.5 所示。

𝑆𝑡 = 𝑡𝑎𝑛ℎ(𝑈𝑋𝑡 + 𝑊𝑆𝑡−1)………..(3.1) 𝑂𝑡 = 𝑓(𝑉𝑆𝑡)………(3.2)

圖3. 5 tanh函數

長短期記憶網路是循環神經網路的一個變形,主要是為了解決循 環神經網路中的長期依賴問題,循環神經網路在處理較長序列數據時,

由於隱藏層會持續與權重相乘並透過tanh函數轉換,使距離目前時間戳 記較遠的訊息影響力相當小,導致網路難以學習到其訊息。而長短期記 憶網路則可透過三個控制閥(Gate)與單元狀態(Cell state)來決定訊息的 儲存與丟棄進而解決該問題。長短期記憶網路中三個控制閥分別為 Forget Gate、Input Gate及Output Gate,Forget Gate功能為透過當下的輸 入與上一個時間戳記的輸出,決定要從單元狀態中刪除多少訊息。Input Gate功能為透過當下的輸入與上一個時間戳記的輸出,決定要將那些 訊息加進單元狀態。Output Gate功能為透過當下的輸入與上一個時間 戳記的輸出,決定要取單元狀態中的那些部分做為輸出。長短期記憶網

3-7

路架構如圖3.6所示。其中每個黃色方格代表一個人工神經元、上一個 時間戳記的輸出為ℎ𝑡−1、上一個時間戳記的單元狀態為𝐶𝑡−1、當下的輸 入為𝑋𝑡、sigmoid函數為σ,如圖3.7所示。

圖3. 6 長短期記憶網路架構

圖3. 7 sigmoid函數

3-8

以下研究將針對長短期記憶網路中的三個控制閥動作進行說明:

1. Forget Gate

如圖3.8所示,Forget Gate包含一個人工神經元(黃色方格)。當下的 輸入為𝑋𝑡、上一個時間戳記的輸出為ℎ𝑡−1、sigmoid函數為σ,將𝑋𝑡 與ℎ𝑡−1做為輸入並經過sigmoid函數轉換後產生𝑓𝑡(3.3)式,𝑓𝑡會與 𝐶𝑡−1相乘,決定要從𝐶𝑡−1刪除多少訊息,𝑓𝑡的範圍在0~1之間,0代 表全部刪除,反之1代表全部保留。

𝑓𝑡 = σ (𝑊𝑓 ∙ [ℎ𝑡−1, 𝑋𝑡] + 𝑏𝑓)………(3.3)

圖3. 8 Forget Gate 2. Input Gate

如圖3.9所示,Input Gate中包含兩個人工神經元。𝑋𝑡為當下之輸入

、ℎ𝑡−1為上一時間戳記的輸出,而上一時間戳記的單元狀態則是 𝐶𝑡−1,將𝑋𝑡與ℎ𝑡−1做為輸入並分別經過sigmoid與tanh函數轉換後產 生𝑖𝑡(3.4)式及𝐶̃𝑡(3.5)式,𝑖𝑡會與𝐶̃𝑡相乘,決定要從𝐶̃𝑡中取出多少訊息 與𝑓𝑡 ∗ 𝐶𝑡−1相加產生新的單元狀態𝐶𝑡(3.6)式,其中𝐶̃𝑡採用tanh做為激 活函數的目的為將訊息轉換至-1~1間來壓縮訊息。

𝑖𝑡 = σ (𝑊𝑖 ∙ [ℎ𝑡−1, 𝑋𝑡] + 𝑏𝑖)……….(3.4)

3-9

𝐶̃𝑡 = tanh (𝑊𝐶 ∙ [ℎ𝑡−1, 𝑋𝑡] + 𝑏𝐶)……….(3.5) 𝐶𝑡 = 𝑓𝑡∗ 𝐶𝑡−1 + 𝑖𝑡∗ 𝐶̃𝑡 ……….………..(3.6)

圖3. 9 Input Gate 3. Output Gate

如圖3.10所示,Output Gate中包含一個人工神經元。將𝑋𝑡與ℎ𝑡−1為輸入並經過sigmoid函數轉換後產生𝑜𝑡(3.7)式,𝑜𝑡會與經過tanh函 數轉換過的𝐶𝑡相乘,決定要從𝐶𝑡中取出多少訊息做為當下的輸出 ℎ𝑡(3.8)式。

𝑜𝑡 = σ (𝑊𝑜∙ [ℎ𝑡−1, 𝑋𝑡] + 𝑏𝑜)……….………...……..….(3.7) ℎ𝑡 = 𝑜𝑡 ∗ tanh(𝐶𝑡)………(3.8)

3-10

圖3. 10 Output Gate

循環神經網路雖然能透過過去時間戳記的隱藏層或輸出決定當下 的輸出,但如果可以同時透過過去時間戳記與未來時間戳記的訊息決 定當下的輸出,對於預測模型在處理大量序列數據時會具備更好的效 果[14]。其中雙向循環神經網路(Bi-directional Recurrent Neural Network, BRNN)即符合此特性,該網路架構是使用兩個循環神經網路分別對序 列數據進行前向及反向運算,且兩個循環神經網路連接著同一個輸出 層,這樣的架構使每一個時間戳記的輸出都是透過完整的序列數據所 決定,如圖3.11所示。雙向循環神經網路在不同時間戳記的輸入訊號為 (𝑋𝑡−1、𝑋𝑡、𝑋𝑡+1)、激活函數為(𝑓)、權重為(𝑊1、𝑊2、𝑊3、𝑊4、𝑊5、 𝑊6)分別對應不同來源。雙向循環神經網路在輸入訊號為𝑋𝑡時的前向層 如(3.9)式、反向層如(3.10)式、輸出層則為(3.11)式,其中雙向架構只要 是循環神經網路架構皆可相容。

𝑡 = 𝑓(𝑊1𝑋𝑡 + 𝑊2𝑡−1)……….(3.9) ℎ𝑡́ = 𝑓(𝑊3𝑋𝑡+ 𝑊5𝑡́+1) ………..(3.10) 𝑂𝑡 = 𝑊4𝑡+ 𝑊6𝑡́………(3.11)

3-11

圖3. 11 雙向循環神經網路架構

綜合前述各神經網路特性分析,本研究在系統預測模型建置部分,

係採用功能性較佳的長短期記憶網路(Long Short-Term Memory, LSTM)

,並結合能夠處理大量序列數據特性的雙向循環神經網路架構做為建 置船舶行為預測的模型架構。其模型的目標為學習船舶的航行行為,在 前述3.1節研究亦已說明特徵萃取是以AIS資料的部分欄位做為資料特 徵,包括經緯度座標、航向、航速及接收時間,而標籤則是預測船舶航 行的經緯度座標。其中,90%的資料是做為訓練資料提供給模型進行資 料訓練,10%資料則做為測試資料提供給模型進行效能評估。後續研究 將於3.3節船舶行為預測中呈現系統預測模型之成果。

相關文件