李昊波,肖龍飛,2,魏漢迪,2,劉明月,2
(1.上海交通大學(xué)海洋工程國家重點(diǎn)實(shí)驗室,上海200240;2.高新船舶與深海開發(fā)裝備協(xié)同創(chuàng)新中心,上海200240)
隨著海洋開發(fā)規(guī)模與領(lǐng)域的不斷擴(kuò)大,船舶和海上平臺等浮式結(jié)構(gòu)物的重要性日益凸顯。與固定或陸地上的結(jié)構(gòu)物不同,海上浮式結(jié)構(gòu)物始終處于多自由度搖晃中,使其海上作業(yè)和安全都受到嚴(yán)峻的挑戰(zhàn)。因此,對海上浮式結(jié)構(gòu)物的運(yùn)動進(jìn)行準(zhǔn)確可靠的在線預(yù)報,在指導(dǎo)作業(yè)、保障安全等方面具有重要意義。
運(yùn)動在線預(yù)報一般基于運(yùn)動歷史數(shù)據(jù)采用時間序列分析方法、非線性系統(tǒng)理論、機(jī)器學(xué)習(xí)技術(shù)等手段預(yù)報未來幾秒到幾分鐘的海上浮式結(jié)構(gòu)物的運(yùn)動響應(yīng)[1],可分為極短期運(yùn)動預(yù)報和安穩(wěn)期預(yù)報。對浮式結(jié)構(gòu)物的極短期運(yùn)動響應(yīng)預(yù)報在固定翼艦載機(jī)回收、提高艦載武器發(fā)射精度、改善動力定位控制性能等方面均具有重要意義。
極短期預(yù)報提前量一般為幾秒,相對較短,但對預(yù)報精度要求較高。按照采用的數(shù)學(xué)方法分類,可以把極短期預(yù)報分為兩類:其一是以傳統(tǒng)的物理和數(shù)學(xué)方法如微積分和統(tǒng)計學(xué)等為基礎(chǔ)的預(yù)報模型,有時間序列模型、卡爾曼濾波模型等;其二是以神經(jīng)網(wǎng)絡(luò)、模糊數(shù)學(xué)等現(xiàn)代方法為手段的模型,如神經(jīng)網(wǎng)絡(luò)模型、小波分析預(yù)報模型等[2]。Triantafyllou 等[3-4]利用Kalman 濾波技術(shù)為基礎(chǔ)的方法對船舶的6 個自由度運(yùn)動進(jìn)行預(yù)報,發(fā)現(xiàn)有義波高、艏搖和噪聲等因素對預(yù)報精度影響很大,在無噪聲情況下橫搖可預(yù)報到10 s,在有噪聲情況下可預(yù)報提前量僅為2~3 s,且預(yù)報誤差沒有給出[4]。Khan 等[5]采用人工神經(jīng)網(wǎng)絡(luò)技術(shù)對橫搖運(yùn)動進(jìn)行了預(yù)報,預(yù)報提前量為6 s 時可信度為60%,預(yù)報提前量為10 s時可信度僅為40%。Huang等[6]基于AR-EMD 方法對船舶縱搖和垂蕩運(yùn)動進(jìn)行了極短期預(yù)報,在預(yù)報提前量為10 s 時,精度分別為85%和84%。Peng 和Liu[7]基于格型遞歸最小二乘法對船舶橫搖運(yùn)動進(jìn)行了預(yù)報,在預(yù)報提前量為15 s時,精度為81%。楊震等[8]基于經(jīng)驗?zāi)J椒纸猓弥С窒蛄繖C(jī)對船舶橫搖運(yùn)動進(jìn)行預(yù)報,預(yù)報提前量為10 s時的誤差為0.09。目前關(guān)于船舶的運(yùn)動預(yù)報較多,而關(guān)于浮式海洋平臺的運(yùn)動預(yù)報較少,尤其是縱蕩、橫蕩運(yùn)動??傮w上,在線預(yù)報目前表現(xiàn)一般,模型計算復(fù)雜度高,誤差隨預(yù)報提前量增加而非線性增長,難以實(shí)用。本文根據(jù)近年來廣泛應(yīng)用的長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)技術(shù)提出一種新的運(yùn)動預(yù)報模型,應(yīng)用于浮式海洋平臺運(yùn)動響應(yīng)的極短期預(yù)報,在保證計算效率的情況下,可以得到準(zhǔn)確的運(yùn)動預(yù)報結(jié)果。
浮式海洋平臺在實(shí)際不規(guī)則波環(huán)境中的六自由度運(yùn)動響應(yīng)具有很強(qiáng)的隨機(jī)性、非線性以及時間依賴性,傳統(tǒng)的數(shù)學(xué)、力學(xué)方法求解復(fù)雜費(fèi)時,很難應(yīng)用于需要實(shí)時獲得響應(yīng)數(shù)據(jù)的運(yùn)動在線預(yù)報。神經(jīng)網(wǎng)絡(luò)技術(shù)則十分適合用于此類問題,即模擬一組數(shù)據(jù)到另外一組數(shù)據(jù)的映射。本研究的思路為:把不規(guī)則波浪時歷到運(yùn)動響應(yīng)的映射看成是一種復(fù)雜的、未知的映射函數(shù),使用神經(jīng)網(wǎng)絡(luò)來擬合此函數(shù),最終得到輸入為波浪時歷,輸出為運(yùn)動響應(yīng)的神經(jīng)網(wǎng)絡(luò)模型。
針對浮式海洋平臺運(yùn)動響應(yīng)的預(yù)報,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型尚難以實(shí)現(xiàn)。這是因為海洋平臺在t時刻的運(yùn)動響應(yīng)不僅取決于該時刻的波浪作用,還取決于t-1時刻海洋平臺的狀態(tài);而t-1時刻海洋平臺的狀態(tài)同樣不僅取決于t-1 時刻的波浪作用,還會受到t-2 時刻海洋平臺狀態(tài)的影響,依次類推。因此,浮式海洋平臺的運(yùn)動響應(yīng)具有時間依賴性,若要準(zhǔn)確預(yù)報海洋平臺的運(yùn)動響應(yīng)就需要把隨時間傳遞的信息應(yīng)用到預(yù)報模型當(dāng)中。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)恰好可解決這一問題,在處理時間序列相關(guān)的數(shù)據(jù)方面具有很好的效果。
RNN 的單元展開圖如圖1所示,x為網(wǎng)絡(luò)輸入,s為隱藏層,o為網(wǎng)絡(luò)輸出,U 為輸入到隱藏層權(quán)重,V為隱藏層到輸出權(quán)重,W 為隱藏層到隱藏層權(quán)重。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同,在RNN 中每一層網(wǎng)絡(luò)共享權(quán)重,這樣會有效地減少網(wǎng)絡(luò)中需要訓(xùn)練的參數(shù),縮短了訓(xùn)練時間。但RNN 存在梯度消亡問題,來自之前的記憶信息對輸出的影響會逐漸衰減趨于消失或者呈指數(shù)爆炸增長,從而嚴(yán)重影響模型的收斂速度與性能。
LSTM最早由Hochreiter和Schmidhuber[9]提出,并經(jīng)由Grave[10]改進(jìn),有助于解決RNN的梯度消亡問題。LSTM 的單元結(jié)構(gòu)[10]如圖2 所示,每個LSTM 單元中存在細(xì)胞(Cell)用于描述單元當(dāng)前狀態(tài),也存在3 個控制門,即輸入門(Input Gate),輸出門(Output Gate)和遺忘門(Forget Gate),分別用于控制輸入、輸出以及細(xì)胞的狀態(tài)。當(dāng)控制門打開時,表示允許所有信息通過;控制門關(guān)閉時,表示不允許任何信息通過。其方程如下:
式中,ft為遺忘門方程;ct為輸入門方程,用以更新細(xì)胞狀態(tài);ot為輸出門方程,與ct共同輸出ht。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)單元展開圖[11]Fig.1 An unfolded CNN network
圖2 LSTM單元結(jié)構(gòu)[10]Fig.2 LSTM memory block with one cell
LSTM 可歸納為圖3 所示的幾種類型,針對由波浪序列預(yù)報海洋平臺運(yùn)動問題,本文采用多對一類型,使用一串波浪序列預(yù)報一個運(yùn)動響應(yīng)值。圖4解釋了利用波浪序列預(yù)報運(yùn)動響應(yīng)的思路,顯示了預(yù)報提前量為5 s的模型輸入輸出映射關(guān)系,t時刻的運(yùn)動響應(yīng)由t-15到t-5時間段的波浪序列預(yù)報得出。
圖3 LSTM類型Fig.3 Types of LSTM
本文所構(gòu)建的LSTM 模型具有一層LSTM 隱藏層和一層輸出層,如圖5 所示。考慮到波浪和平臺運(yùn)動的周期,設(shè)置LSTM 模型的時間步長為128 個時間序列點(diǎn),以及考慮波浪和運(yùn)動之間映射的復(fù)雜度,設(shè)置LSTM 模型隱藏層節(jié)點(diǎn)數(shù)為256。此兩項參數(shù)作為超參數(shù),根據(jù)經(jīng)驗和實(shí)際嘗試確定。
輸入層:輸入數(shù)據(jù)是長度為128 的向量,其物理意義是長度為128的波浪序列,代表此模型的時間步長被設(shè)置為128,輸入特征維度為1。
隱藏層(LSTM):隱藏層有256 個節(jié)點(diǎn),其接受形狀為(None,128,1)的輸入,輸出形狀為(None,256)的向量。
輸出層(Dense):是一個全連接層,其輸入數(shù)據(jù)為隱藏層(LSTM)輸出的形狀為(None,256)的數(shù)據(jù),輸出為運(yùn)動響應(yīng)值。
本文采用隨迭代次數(shù)降低學(xué)習(xí)率的技巧來幫助神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練。學(xué)習(xí)率是調(diào)整神經(jīng)網(wǎng)絡(luò)的重要超參數(shù)之一,如果學(xué)習(xí)率過高,則會導(dǎo)致不收斂或者振蕩現(xiàn)象產(chǎn)生。但是如果學(xué)習(xí)率過小,訓(xùn)練時間會較長,且會容易陷入局部最優(yōu)。因此,令學(xué)習(xí)率隨迭代次數(shù)降低是一種有效的解決方法。一旦驗證集誤差不再降低,學(xué)習(xí)率就會被設(shè)置為原先的十分之一。
另外,使用Dropout技巧防止過擬合[12]。Dropout主要將隱藏層中的神經(jīng)元在每一次訓(xùn)練過程中按照一定概率進(jìn)行丟棄,此部分權(quán)重在本次訓(xùn)練過程不進(jìn)行更新,從而實(shí)現(xiàn)了“取平均”和減少神經(jīng)元之間復(fù)雜的共適應(yīng)關(guān)系的作用,可有效地防止過擬合的產(chǎn)生。
圖5 LSTM網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.5 LSTM model structure
本文訓(xùn)練數(shù)據(jù)來自于一座半潛式鉆井平臺的運(yùn)動響應(yīng)試驗,試驗在上海交通大學(xué)海洋工程國家重點(diǎn)實(shí)驗室深水試驗池進(jìn)行。水池的幾何尺度及平臺模型布置如圖6 所示,采用4 點(diǎn)水平系泊系統(tǒng),系泊纜由細(xì)鋼絲繩與軟彈簧構(gòu)成,與平臺坐標(biāo)軸成45°對稱布置??紤]180°浪向,試驗水深為10 m。所研究的半潛式鉆井平臺為典型的四立柱、雙浮箱、箱型甲板型式,主要參數(shù)見表1,外形輪廓如圖6所示。模型縮尺比λ為56。
圖6 深水池布置及半潛式平臺模型Fig.6 Deepwater offshore basin layout and the semi-submersible model
開展的不規(guī)則波試驗共有40個工況,考慮4種海況,如表2所示。其中不規(guī)則波W1與W2各4個隨機(jī)時間序列,W3 與W4 各16 個隨機(jī)時間序列。試驗采樣頻率為100 Hz,每個工況測量得到的試驗數(shù)據(jù)超過160 000 點(diǎn),保證了訓(xùn)練數(shù)據(jù)的充分性。采用所建立的LSTM 神經(jīng)網(wǎng)絡(luò)模型,使用其中34 個不規(guī)則波試驗工況數(shù)據(jù)(W1 與W2 各3 個,W3 與W4 各14 個)對LSTM 模型進(jìn)行訓(xùn)練,剩下的6 個工況數(shù)據(jù)用于測試神經(jīng)網(wǎng)絡(luò)模型預(yù)報運(yùn)動響應(yīng)的性能。
表1 半潛式平臺參數(shù)Tab.1 Main particularities of the semi-submersible
表2 波浪環(huán)境參數(shù)(JONSWAP)Tab.2 Environment matrix(JONSWAP)
使用經(jīng)過34個工況試驗數(shù)據(jù)進(jìn)行訓(xùn)練后得到的LSTM 模型,對迎浪狀態(tài)(180°)6個測試工況下半潛式平臺的縱蕩、垂蕩以及縱搖運(yùn)動進(jìn)行預(yù)報,預(yù)報提前量分別設(shè)置為0 s、6 s 和12 s。LSTM 模型的運(yùn)動時歷預(yù)報結(jié)果如圖7~9所示,其中虛線代表試驗的實(shí)測值,實(shí)線代表預(yù)報值。由于時間序列長度過于巨大,所以從時間序列起始、中間和末尾三個時間段各選取了300 s時間長度進(jìn)行結(jié)果對比。
圖7 不同預(yù)報提前量下的縱蕩運(yùn)動預(yù)報與測量結(jié)果對比Fig.7 Comparison between predicted and measured surge motions for different forecast durations
圖8 不同預(yù)報提前量下的垂蕩運(yùn)動預(yù)報與測量結(jié)果對比Fig.8 Comparison between predicted and measured heave motions for different forecast durations
圖9 不同預(yù)報提前量下的縱搖運(yùn)動預(yù)報與測量結(jié)果對比Fig.9 Comparison between predicted and measured pitch motions for different forecast durations
從圖7~9 可以看出,在各個預(yù)報提前量情況下,LSTM 模型對平臺運(yùn)動響應(yīng)的預(yù)報結(jié)果均較為準(zhǔn)確,預(yù)報值很好地擬合了實(shí)測值。不設(shè)置提前量的情況下,預(yù)報結(jié)果精度較高,在可以提前測量波浪的情況下,此模型具有很大的應(yīng)用價值。在預(yù)報提前量為6 s的情況下,預(yù)報精度稍有降低,所以此模型可以實(shí)現(xiàn)對海上浮式結(jié)構(gòu)物較高精度的極短期預(yù)報。而在預(yù)報提前量為12 s 的情況下,預(yù)報精度有所降低,但預(yù)報時間得以延長,使得此模型適用性更為廣泛。同時可以看到,在預(yù)報提前量為12 s的垂蕩預(yù)報情況下,存在相位差,這是由于起始數(shù)據(jù)都接近0 且預(yù)報時間偏長的原因,但由于振幅小且位于運(yùn)動啟動階段,對實(shí)際應(yīng)用影響可不考慮。
根據(jù)運(yùn)動響應(yīng)預(yù)報曲線和實(shí)測曲線的相關(guān)系數(shù),可計算得到LSTM 模型對于測試工況的預(yù)報精度,結(jié)果如表3 所示??梢姡M管預(yù)報精度隨預(yù)報提前量的增加而降低,然而在預(yù)報提前量為12 s時,縱蕩預(yù)報精度仍為90%,垂蕩預(yù)報精度可達(dá)93%,縱搖預(yù)報精度稍低,在85%以上??傮w而言,運(yùn)動預(yù)報結(jié)果具有較高精度,使用LSTM模型預(yù)報浮式海洋平臺運(yùn)動具有較高的可行性。三種運(yùn)動響應(yīng)預(yù)報的精度結(jié)果對海況和訓(xùn)練數(shù)據(jù)變化的敏感程度不同,從W1 至W4,波高逐漸增加,用作訓(xùn)練數(shù)據(jù)的工況數(shù)也從3 個增加到14 個,基于LSTM 模型的垂蕩和縱搖預(yù)報精度也逐漸提高,而縱蕩的預(yù)報精度始終較高,對海況和訓(xùn)練數(shù)據(jù)變化不敏感。
表3 不同測試工況下運(yùn)動預(yù)報精度統(tǒng)計結(jié)果Tab.3 Prediction accuracy statistics under different test cases
運(yùn)動響應(yīng)的均方差表征了運(yùn)動幅值的大小,表4 所示為不同測試工況下運(yùn)動測量值與預(yù)報值的均方差結(jié)果對比??梢?,三種運(yùn)動響應(yīng)預(yù)報結(jié)果的均方差均接近于測量值,縱蕩均方差相對誤差最小,縱搖結(jié)果的相對誤差較大。預(yù)報值的均方差相比于測量值都偏小,表明所構(gòu)建的LSTM 模型在預(yù)報運(yùn)動響應(yīng)時偏于保守。
表4 不同測試工況下運(yùn)動測量值與預(yù)報值均方差對比Tab.4 Comparison of standard deviations between measured and predicted motions under different test cases
續(xù)表4
此外,計算效率是在線預(yù)報實(shí)時性的基礎(chǔ)。使用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行運(yùn)動響應(yīng)的預(yù)報,在考慮預(yù)報精度的同時,還必須考慮計算效率的影響,即每一步的計算時間都應(yīng)該遠(yuǎn)小于預(yù)報提前量。本文LSTM 模型的參數(shù)量為264 449,在個人電腦上平均每步計算時間約為10 ms,相對于預(yù)報提前量6 s和12 s而言極小,故模型計算效率可滿足實(shí)際應(yīng)用的實(shí)時預(yù)報要求。
基于機(jī)器學(xué)習(xí)理論,本文建立了浮式海洋平臺運(yùn)動預(yù)報的LSTM 神經(jīng)網(wǎng)絡(luò)模型,通過采用半潛式平臺模型試驗大量運(yùn)動響應(yīng)數(shù)據(jù)的學(xué)習(xí)訓(xùn)練,并對不同測試工況進(jìn)行運(yùn)動預(yù)報和分析,得到了不同預(yù)報提前量時的模型預(yù)報精度。結(jié)果表明:
(1)所建立的LSTM 模型應(yīng)用于浮式海洋平臺運(yùn)動極短期在線預(yù)報具有較高的可行性,預(yù)報提前量為12 s時,縱蕩、垂蕩和縱搖預(yù)報精度可分別達(dá)到90%、93%和85%以上。
(2)所構(gòu)建LSTM 模型在預(yù)報縱蕩運(yùn)動時的精度隨海況和訓(xùn)練數(shù)據(jù)的變化不明顯,而在預(yù)報垂蕩和縱搖運(yùn)動時的精度對海況和訓(xùn)練數(shù)據(jù)變化敏感,隨波高和訓(xùn)練數(shù)據(jù)的增加而精度提升,模型預(yù)報運(yùn)動響應(yīng)結(jié)果偏于保守。
(3)LSTM 模型每步計算時間為毫秒級,遠(yuǎn)小于預(yù)報提前時間,實(shí)時性高,可以實(shí)現(xiàn)對浮式海洋平臺運(yùn)動響應(yīng)的在線預(yù)報。在實(shí)際中,應(yīng)用LSTM模型可以對浮式海洋平臺的作業(yè)進(jìn)行安全預(yù)報或主動進(jìn)行提前控制,也可以拓展到船舶運(yùn)動預(yù)報。