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