包 鋒 劉愷軒 張春江
(東北石油大學計算機與信息技術學院 大慶 163318)
近年來,伴隨著經(jīng)濟全球化,海洋運輸成為國際貿(mào)易運輸?shù)闹饕绞?。但與此同時,受到天氣等多種因素的影響,海洋運輸會遇到很多風險,航道洋流就是影響海洋運輸?shù)闹匾焕麠l件之一[1]。自從探索時代以來,水手們就需要知道洋流的速度和方向來引導他們的船只在港口內(nèi)航行,并沿著貿(mào)易和探索路線航行。洋流的測量通常以節(jié)為單位,洋流速度可以用歐拉測量法[2]。后來,用一種叫戴維斯漂流器[3]來測量風力驅(qū)動的表面洋流,衛(wèi)星計算出它的位置,并將信息傳給接收站。為了監(jiān)測深海洋流的特征,科學家們使用一種叫做剖面浮標的設備[4]。岸基洋流計[5]采用無線電天線和高頻無線電探測和測距系統(tǒng)(雷達)來測量表面洋流的速度和方向。在日本,針對上升流,專門提出了一套浮標觀測系統(tǒng)[6],這套系統(tǒng)主要通過溫度和鹽度兩個因素來分析上升流。我國的大學對上升流監(jiān)測方面[7]有著豐富的研究。中國科學院南海海洋研究所利用衛(wèi)星遙感和船舶對粵東沿岸的上升流進行了觀測以及分析,中國海洋大學也用遙感衛(wèi)星對浙江近海的上升流進行了監(jiān)測與分析。以上測得的優(yōu)勢是數(shù)據(jù)范圍大,但是數(shù)據(jù)的準確度不高。
在過去幾年,洋流監(jiān)測的主要方式是在海洋中部署浮標,其精度很高,但是成本很大。所以,在未來利用海洋模型進行洋流監(jiān)測是一個主要方向?,F(xiàn)在是利用浮標監(jiān)測真實洋流,然后用海洋模型模擬洋流的運動軌跡。最近幾年,一些學者為了同化海洋模型[8~9],提出了一些drifter 數(shù)據(jù),這樣可以提高海洋模型的洋流模擬精度。Yizhen Li[10]把每個格網(wǎng)中的同一時刻與位置的drifter 監(jiān)測的平均洋流流動與ROMS 模型模擬的平均洋流流動進行了比較。
航道洋流預測屬于時間序列預測研究范疇,目前還未發(fā)現(xiàn)相關研究。隨著深度學習的飛速發(fā)展,為航道洋流時間序列的預測提供了研究思路和方法。處理時序數(shù)據(jù)最強大的模型是循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)。在神經(jīng)網(wǎng)絡模型中,循環(huán)神經(jīng)網(wǎng)絡的計算結(jié)果便具備了記憶之前幾次結(jié)果的特點。循環(huán)神經(jīng)網(wǎng)絡中,長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡增加了各層的閥門節(jié)點,解決了RNN 的梯度消失的問題,使得循環(huán)神經(jīng)網(wǎng)絡不會失去短期延遲能力?;贚STM的系統(tǒng)可以學習翻譯語言、控制機器人、圖像分析、文檔摘要、預測疾病、點擊率和股票、合成音樂等任務。在電力領域,姜雨寒[11]建立了一種基于長短期記憶網(wǎng)絡的電網(wǎng)運行參數(shù)預測方法。在航天領域,胡姣姣[12]提出了基于LSTM 網(wǎng)絡的預測方法,以預測飛行器遙測數(shù)據(jù)。在交通領域,陳韞[13]提出了優(yōu)化的LSTM 網(wǎng)絡的模型,對城市道路路段的速度進行預測。在環(huán)保領域,郭豪[14]在GRU 神經(jīng)網(wǎng)絡的基礎上,采用隨機失活、批歸一化等方法進行優(yōu)化。
本文根據(jù)秦皇島港兩個站點的歷史航道洋流速度數(shù)據(jù),建立了基于注意力機制的LSTM-CNN短時預測模型,并與BP神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡和長短期記憶網(wǎng)絡預測模型在不同時間步長進行實驗仿真對比。實驗仿真結(jié)果證明,所提的新算法在航道洋流速度預測中最優(yōu)。
LSTM是一種改進后的循環(huán)神經(jīng)網(wǎng)絡模型。由于RNN 的梯度在反向傳播的過程中,不斷連乘,數(shù)值不是越來越大就是越來越小,這樣就會出現(xiàn)梯度爆炸或梯度消失,而LSTM 就可以解決RNN 無法處理長距離的依賴問題。所有的LSTM 都具有一種重復神經(jīng)網(wǎng)絡模塊的鏈式形式,每個模塊都由三個門(遺忘門、輸入門、輸出門)和一組內(nèi)部記憶單元組成。LSTM 模型訓練過程采用的是BPTT 算法,BPTT算法將LSTM看作一個展開的多層前饋網(wǎng)絡,其中每一層對應每一時刻,依次按照時間的順序計算誤差,再從最后一個時間步將積累的誤差傳遞回來。在LSTM 訓練過程的參數(shù)更新方法中,有隨機梯度下降等算法,其中,Adam 優(yōu)化算法[15]是AdaGrad和RMSProp兩種隨機梯度下降擴展式的優(yōu)點集合,可以為不同的參數(shù)設計獨立的自適應性學習率。所以,綜合所有性能表現(xiàn),本文采用Adam優(yōu)化算法。
注意力機制(Attention)又稱注意力模型,是一種將有限的計算資源來處理更重要信息的方式,借鑒人腦解決信息過載機制,通過自上而下的信息選擇機制來過濾掉大量得到無關信息。當用神經(jīng)網(wǎng)絡來處理大量的輸入信息時,只選擇一些關鍵的信息輸入進行處理,來提高神經(jīng)網(wǎng)絡的效率。
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡包含卷積層、池化層、全連接層。通過卷積運算我們可以提取出時序數(shù)據(jù)的特征,通過卷積運算可以使得某些特征增強,并且降低噪聲;對時序數(shù)據(jù)進行池化,可以減少數(shù)據(jù)處理量,同時保留有用信息。通常有均值池化(mean pooling)和最大池化(max pooling)兩種形式。由于CNN 簡化了模型復雜度,減少了模型的參數(shù),在時間序列預測方面也有一定的優(yōu)勢。本實驗的CNN 采用一維卷積層和最大池化層來處理這個時間序列問題。
根據(jù)航道洋流速度數(shù)據(jù)集的特點,以及該預測模型的相關技術,本文構(gòu)建了基于注意力機制的LSTM-CNN預測模型的結(jié)構(gòu),如圖1所示。
針對時間系列預測中卷積神經(jīng)網(wǎng)絡(CNN)無法獲取洋流的全局特征、長短期記憶網(wǎng)絡(LSTM)無法聚焦洋流局部特征的問題,提出一種基于注意力機制的CNN 網(wǎng)絡和LSTM 網(wǎng)絡進行融合的模型。該模型該模型有三部分構(gòu)成:第一部分為基于注意力機制的一維卷積,在標準CNN 網(wǎng)絡上增加注意力分支,解決時間序列預測中無法關注重點特征的問題;第二部分為LSTM,獲取洋流的全局特征;第三部分為單獨的一維卷積層。網(wǎng)絡訓練時的參數(shù)優(yōu)化采用Adam 算法,網(wǎng)絡預測時為了逐層預測,采用迭代的方式。
本節(jié)在秦皇島港兩個站點的航道洋流速度數(shù)據(jù)集上,對提出的新預測模型展開實驗驗證,證明其有效性。
本文數(shù)據(jù)來源于秦皇島航標處提供的航道洋流速度數(shù)據(jù)集,采集于兩個測流站的洋流速度,兩個測流站點的采集時間都為每10min 采集一次。站點一的洋流速度采集于2016.05-2019.09,從距海平面1.5m 開始,每隔1m 深度就采集一次,一共分為20 層,到水下20.5m,如圖2 為站點一洋流速度的部分截圖,單位為mm/s。
圖2 站點1部分航道洋流速度
站點二的洋流速度采集于2016.01-2019.09,從距海平面1.5m 開始,每隔1m 深度采集一次,一共分為15 層,到水下15.5m,如圖3 為站點二洋流速度的部分截圖,單位為mm/s。
圖3 站點2部分航道洋流速度
原始時間序列數(shù)據(jù)中有一些缺失值的存在,所以對原始數(shù)據(jù)中存在缺失的數(shù)據(jù)進行上一層和下一層加和的平均值處理,以保證數(shù)據(jù)的真實性。為了解決數(shù)據(jù)集過大、運算時間效率方面的問題,對數(shù)據(jù)進行標準化操作。數(shù)據(jù)標準化是將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間。本實驗運用最小最大值標準化,將結(jié)果落到合理的0~1 的范圍區(qū)間。
實驗所使用計算機的配置如下:處理器為Intel core CPU i5-10210,CPU 頻 率 為1.60 GHz 和4.20 GHz;運行內(nèi)存為8.00 GB;操作系統(tǒng)為Windows 7(64 位);程序設計語言為Python 3.5.2(64位),集成開發(fā)環(huán)境為Pycharm Community Edition 2020.2.1,LSTM 和CNN、BP 模型由Python 的Tensorflow 0.12.0rc0程序包實現(xiàn)。
本文選擇MAE、RMSE 和MAPE 作為評估指標:平均絕對誤差(Mean Absolute Error,MAE)、均方誤差(Root Mean Square Error,RMSE)和平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)是使用最多的方法。假設把時間序列的第t期的真實值記為yt,對第t 期的預測值記為Ft,那么預測誤差為et=yt-Ft。如果訓練集有n 期數(shù)據(jù),驗證集有v期數(shù)據(jù),則驗證集的時間范圍為t=n+1,n+2,…,n+v,為簡單起見,把驗證集的時間范圍記為t=1,2,…,v。
平均絕對誤差(Mean Absolute Error,MAE),計算公式為
均方誤差(Root Mean Square Error,RMSE),計算公式為
平均絕對百分誤差(Mean Absolute Percentage Error,MAPE),計算公式為
4.3.1 實驗模型參數(shù)設置
表1 神經(jīng)網(wǎng)絡超參數(shù)設置表
4.3.2 LSTM神經(jīng)網(wǎng)絡隱藏層數(shù)量的對比實驗
本文通過對比不同LSTM 模型的隱藏層層數(shù),來選擇最佳隱藏層。根據(jù)秦皇島港站點一、站點二的航道洋流速度數(shù)據(jù)集,通過實驗對比來看隱藏層數(shù)的增加對預測結(jié)果的影響,如表2、表3。
表2 站點一LSTM神經(jīng)網(wǎng)絡隱藏層數(shù)量的對比實驗
表3 站點二LSTM神經(jīng)網(wǎng)絡隱藏層數(shù)量的對比實驗
從表2、表3可以看出,隱藏層層數(shù)過多或者過少都會降低兩個站點航道洋流速度的預測精度,誤差逐漸增大,隨著設置神經(jīng)隱藏層的數(shù)量增加,從1層增加3層,RMSE、MAE、MAPE逐漸下降,從3層增加5 層,RMSE、MAE、MAPE 逐漸上升,實驗結(jié)果表明,隱藏層選為3層預測效果最佳。
4.3.3 不同模型的預測對比實驗
本文將基于注意力機制的LSTM-CNN 模型與LSTM 、CNN 神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡模型進行實驗對比,在不同時間步長上進行測試,其中評價指標為MAE、RMSE、MAPE。本實驗采用最經(jīng)典的三層BP神經(jīng)網(wǎng)絡和隱藏層為三層的LSTM模型,CNN采用一維卷積層和最大池化層來處理這個時間序列問題。表4、表5 是四種模型在站點一和站點二航道洋流速度數(shù)據(jù)集上的不同預測誤差結(jié)果,單位mm/s。
表4 站點一模型預測結(jié)果比較
表5 站點二模型預測結(jié)果比較
實驗結(jié)果表明,通過對站點一、站點二航道洋流速度預測的綜合對比,不同算法的模型預測性能差異較大,其中預測性能最優(yōu)是基于注意力機制的LSTM-CNN 模型。該模型預測值和LSTM、CNN、BP 網(wǎng)絡預測值與真實值相比,發(fā)現(xiàn)基于注意力機制的LSTM-CNN 模型的預測值比CNN、BP 預測值更接近真實值。在時間步長30min、1h、2h 的航道洋流預測結(jié)果中,預測時間越長,預測的精度越低。在分別計算四種模型的準確率,BP 神經(jīng)網(wǎng)絡準確率最低,但是時間復雜度最低;CNN 模型準確率表現(xiàn)也很好,主要是因為CNN 網(wǎng)絡模型具有參數(shù)共享機制;LSTM 準確率表現(xiàn)較CNN 好,充分體現(xiàn)出LSTM 在處理前后序列高度關聯(lián)的數(shù)據(jù)有很大的優(yōu)越性;準確率最高的是基于注意力機制的LSTM-CNN 模型,由于在循環(huán)神經(jīng)網(wǎng)絡的基礎上,將CNN 與LSTM 進行結(jié)合,在提取航道洋流特征信息時,既可以讓CNN 提取洋流的局部特征,又可以讓LSTM 提取洋流的全局特征;結(jié)合注意力機制,可以進一步獲取對洋流預測結(jié)果產(chǎn)生影響的重點特征。
本文基于注意力機制的LSTM-CNN 構(gòu)建了航道洋流速度的預測模型。首先對數(shù)據(jù)進行預處理,利用不同隱藏層層數(shù)的長短期記憶網(wǎng)絡對采集的兩個站點的航道洋流速度數(shù)據(jù)集進行了處理后的速度值進行了預測,結(jié)果表明具有三層隱藏層的長短期記憶網(wǎng)絡預測精度最高。然后在相同條件下,利用新提的算法對航道洋流速度進行預測,并分析對比了LSTM、CNN 以及BP 神經(jīng)網(wǎng)絡,對未來30min、1h 和2h 的航道洋流速度值的預測結(jié)果,進行了誤差比較,結(jié)果表明基于注意力機制的LSTM-CNN模型的預測精度更高,是一種有效且可行的方法,因此在航道洋流速度預測中具有一定的實用價值。在接下來的研究中,將對影響洋流速度的特征進行相關性分析,把眾多影響因子輸入模型中,以提高新提算法模型的預測精度。