彭秀艷,張 彪
(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院,哈爾濱 150001)
由于在海上航行過(guò)程中,船舶不可避免地會(huì)受到風(fēng)浪和洋流等外部因素的影響,從而導(dǎo)致船舶出現(xiàn)橫蕩、縱蕩、艏搖、橫搖、縱搖和升沉等難以控制的復(fù)雜運(yùn)動(dòng)。由于船舶在作業(yè)方面存在特殊性,當(dāng)其常態(tài)化運(yùn)動(dòng)模式被打破,將可能造成無(wú)法預(yù)料的后果。尤其是當(dāng)海域狀況惡劣時(shí),船舶搖擺不定的狀態(tài),將導(dǎo)致作業(yè)活動(dòng)的開(kāi)展存在不安定因素。因此提高對(duì)船舶搖蕩姿態(tài)的預(yù)報(bào)性能,能夠確保當(dāng)船舶在大風(fēng)浪中作業(yè)時(shí)有效提高活動(dòng)的安全性。比如提升船舶行進(jìn)、錨泊、動(dòng)力定位等活動(dòng)的安全系數(shù),避免因轉(zhuǎn)向時(shí)機(jī)選擇失誤導(dǎo)致引發(fā)翻沉、走錨等事故。此外,提高對(duì)船舶搖蕩姿態(tài)的預(yù)報(bào)性能還能夠有效強(qiáng)化海軍艦載武器、裝備等設(shè)備的使用效能。由此可知,船舶運(yùn)動(dòng)姿態(tài)的短期預(yù)測(cè)研究意義是十分重大且深遠(yuǎn)的。
在船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)方面現(xiàn)有的預(yù)測(cè)算法主要有卡爾曼濾波法[1-2]、譜估計(jì)法[3]、艏前波法(慣性)[4]、基于自回歸模型的方法[5]、基于混沌分析的方法[6]和人工神經(jīng)網(wǎng)絡(luò)方法[7-9]等。其中時(shí)間序列方法一般適用于短期預(yù)測(cè),當(dāng)存在外界干擾時(shí),預(yù)測(cè)偏差較大;而傳統(tǒng)的灰色預(yù)測(cè)法具備運(yùn)算簡(jiǎn)便,信息量要求低等優(yōu)點(diǎn),但該方法的不足之處在于不適于波動(dòng)劇烈的序列,無(wú)法滿足高精度運(yùn)用場(chǎng)景的需要,同時(shí)當(dāng)樣本較大時(shí)也不適用。然而神經(jīng)網(wǎng)絡(luò)方法的適應(yīng)性和學(xué)習(xí)能力均比較突出,在非線性研究工作中具有顯著的普適性。
當(dāng)前常用的預(yù)測(cè)方法往往運(yùn)用單一的預(yù)測(cè)模型完成時(shí)間序列建模工作,當(dāng)面對(duì)復(fù)雜多變、呈現(xiàn)數(shù)多變量動(dòng)態(tài)演化行為的非線性時(shí)間序列時(shí),其無(wú)法直觀體現(xiàn)出相應(yīng)序列的非線性,因此相應(yīng)的預(yù)測(cè)結(jié)果的準(zhǔn)確性也有所欠缺。然而組合預(yù)測(cè)模型[10-11]有效解決了上述問(wèn)題,在充分發(fā)揮每個(gè)單一預(yù)測(cè)模型優(yōu)勢(shì)的基礎(chǔ)上,實(shí)現(xiàn)整體預(yù)測(cè)結(jié)果的準(zhǔn)確性。所以,當(dāng)時(shí)間序列具備顯著隨機(jī)性和特征信息豐富的特點(diǎn)時(shí),應(yīng)當(dāng)采用逐一應(yīng)對(duì)的思想,探究出建立于經(jīng)驗(yàn)?zāi)B(tài)分解[12](Empirical Mode Decomposition,EMD)之上的預(yù)測(cè)方式,通過(guò)將無(wú)規(guī)律性的船舶運(yùn)動(dòng)姿態(tài)時(shí)間序列問(wèn)題轉(zhuǎn)化為若干個(gè)規(guī)律性顯著的分量預(yù)測(cè)問(wèn)題,隨后將分量預(yù)測(cè)的結(jié)果進(jìn)行合并分析最終得到精度較高的預(yù)測(cè)值,進(jìn)而促使建模更加簡(jiǎn)易,結(jié)果精度更高。
正是在上述思想的指導(dǎo)下,本文提出基于經(jīng)驗(yàn)?zāi)B(tài)分解和粒子群優(yōu)化的LSTM 神經(jīng)網(wǎng)絡(luò)(PSO-LSTM)組合的船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)模型。該模型包括基于EMD的船舶運(yùn)動(dòng)數(shù)據(jù)分解與PSO-LSTM 神經(jīng)網(wǎng)絡(luò)的分量預(yù)測(cè)和結(jié)果疊加三個(gè)部分。將EMD-PSO-LSTM 模型與LSTM 模型、PSO-LSTM 模型三者的結(jié)果進(jìn)行對(duì)比探究,研究證實(shí)該方法的優(yōu)勢(shì)較為顯著,在有效降低建模難度的同時(shí)明顯提升了預(yù)測(cè)結(jié)果的精度和效率。
作為處理非線性、非平穩(wěn)時(shí)變序列的有效方法,經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)能夠依據(jù)數(shù)據(jù)本身的時(shí)間尺度特征自適應(yīng)分解信號(hào),被公認(rèn)為是建立在平穩(wěn)和線性假設(shè)基礎(chǔ)上的小波和傅里葉兩種分析模式的突破。該算法的數(shù)據(jù)分析過(guò)程能夠?qū)崿F(xiàn)將復(fù)雜化的時(shí)序數(shù)據(jù)分解成為有限個(gè)本征模函數(shù)(Intrinsic Mode Function,IMF),而分解獲得的IMF分量具備原數(shù)據(jù)在相應(yīng)時(shí)間尺度上的所有波動(dòng)信息。
設(shè)定原始時(shí)序樣本數(shù)據(jù)為x(t),首先運(yùn)算得出該數(shù)據(jù)上的局部最大值和最小值,隨后根據(jù)所得數(shù)值進(jìn)行插值擬合運(yùn)算,求得x(t)的上下包絡(luò)xmax(t)和xmin(t)序列,最后求上下包絡(luò)序列的均值,從而獲得均值序列m1(t):
用原始序列減去均值序列得到去掉低頻的新序列h11(t):
通常情況下,當(dāng)h11(t)不符合征模函數(shù)的有關(guān)條件是,應(yīng)將其視為原始序列,隨后進(jìn)行重復(fù)運(yùn)算,重復(fù)k次直到平均曲線趨近于零后方可停止。記c1(t) =h1k(t),同時(shí)將c1(t)視作IMF 的判斷條件為:
式(3)中SD作為篩分門(mén)限,通常當(dāng)其取值維持在0.2~0.3 之間比較合理。在x(t)中減去c1(t),可得到剔除最高頻成分的殘差序列r1(t) =x(t) -c1(t)。IMF分量的獲取可通過(guò)重復(fù)上述的篩選過(guò)程實(shí)現(xiàn),當(dāng)預(yù)定誤差大于cn(t)或者rn(t)為單調(diào)函數(shù)時(shí),方可停止模態(tài)分解過(guò)程。而相應(yīng)的原始序列可通過(guò)n階IMF分量和殘差rn(t)表示如下:
粒子群優(yōu)化算法[13(]PSO)是1995年,由Kennedy、Eberhar 所提出的算法,該算法是一種通過(guò)模擬鳥(niǎo)群覓食行為的群智能優(yōu)化算法,族群中所有粒子都對(duì)應(yīng)停留在設(shè)定的搜索空間中,如式(5)(6)所示:兩個(gè)公式通過(guò)不斷地調(diào)整自身的速度和位置進(jìn)行尋優(yōu),直到滿足收斂終止條件。
式中:為第t次迭代時(shí)第j維中粒子i的速度;為i對(duì)應(yīng)的位置;ω表示慣性權(quán)重;c1、c2表示加速度系數(shù)(學(xué)習(xí)因子);粒子群第t次迭代時(shí)的個(gè)體極值點(diǎn);為粒子群的全局極值點(diǎn);為[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù);是常數(shù)。
長(zhǎng)短期記憶[14](LSTM)神經(jīng)網(wǎng)絡(luò)作為比較特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),其能夠?qū)σ蕾囆畔⑦M(jìn)行長(zhǎng)時(shí)間學(xué)習(xí),并且有效規(guī)避梯度消失現(xiàn)象的出現(xiàn)。此外其能夠?qū)⒂?憶單元(Memory Cell)根植于循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層的神經(jīng)節(jié)點(diǎn)之中,實(shí)現(xiàn)對(duì)歷史信息的記錄,并且通過(guò)增加(Input,Forget,Output)三種門(mén)結(jié)構(gòu)可實(shí)現(xiàn)對(duì)歷史信息的運(yùn)用。
式中:it、ft、ot依次表示input、forget、output 三類門(mén)結(jié)構(gòu);ht-1是前一時(shí)刻隱藏層單元的輸出信息,h t代表當(dāng)前輸出信息;cell 單元?jiǎng)t用ct表示;W h、Wx、W c分別代表不同連接層的權(quán)重矩陣;sigmoid 與tanh 為兩種激活函數(shù)。
圖1 長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)單元結(jié)構(gòu)圖 Fig.1 Structure of long- and short-term memory neural network cell
該算法的主要思想是通過(guò)PSO算法優(yōu)化LSTM網(wǎng)絡(luò)的權(quán)值,這樣能夠改善LSTM 網(wǎng)絡(luò)的預(yù)測(cè)性能。
具體步驟如下:
步驟1:初始化粒子群參數(shù)及LSTM 網(wǎng)絡(luò)的結(jié)構(gòu)。粒子群參數(shù)包括種群規(guī)模、層數(shù),迭代次數(shù)、學(xué)習(xí)因子、粒子位置和速度取值的限定范圍,在這之中隨機(jī)值為粒子速度和位置的初值。LSTM 網(wǎng)絡(luò)結(jié)構(gòu)的初始化主要是指網(wǎng)絡(luò)各層神經(jīng)元個(gè)數(shù)及隱含層層數(shù)的確定。
步驟2:確定粒子的評(píng)價(jià)函數(shù)。種群中粒子的適應(yīng)度函數(shù)定義為:
式中,n表示種群規(guī)模,Yi為樣本輸出值,yi為實(shí)際輸出值。
步驟3:計(jì)算每個(gè)粒子的適應(yīng)度值,構(gòu)建種群規(guī) 則樹(shù)結(jié)構(gòu)。根據(jù)公式(12)計(jì)算每個(gè)粒子的適應(yīng)度值并進(jìn)行排序,然后構(gòu)建粒子群種群規(guī)則樹(shù)結(jié)構(gòu)。
步驟4:實(shí)時(shí)更新粒子局部和全局的最優(yōu)位置。
步驟5:依據(jù)式(6)更新粒子本身的速度和位置。
步驟6:如果達(dá)到迭代結(jié)束條件(最大的迭代次 數(shù)),則結(jié)束,否則轉(zhuǎn)步驟3 繼續(xù)迭代。
步驟7:將得到的最優(yōu)結(jié)果對(duì)LSTM 網(wǎng)絡(luò)的連 接權(quán)值進(jìn)行賦值,LSTM 網(wǎng)絡(luò)預(yù)測(cè)模型經(jīng)訓(xùn)練后,輸出時(shí)間序列預(yù)測(cè)最優(yōu)解。
PSO-LSTM 算法的流程圖如圖2所示。
圖2 PSO-LSTM 算法流程圖 Fig.2 Flow chart of PSO-LSTM algorithm
由于船舶運(yùn)動(dòng)姿態(tài)時(shí)間序列普遍存在的復(fù)雜特性,假如在預(yù)測(cè)階段涵蓋所有特性的分析,毫無(wú)疑問(wèn)將會(huì)大幅提升模型構(gòu)建的難度,同時(shí)造成模型性能的陡降。EMD 方法作為結(jié)合信號(hào)自身的特性完成自適應(yīng)分解,無(wú)需事先設(shè)定基函數(shù),有效避免出現(xiàn)因科研人員主觀經(jīng)驗(yàn)造成的誤差情況。PSO 優(yōu)化算法作為群體智能算法,屬于啟發(fā)式優(yōu)化算法,并且該算法也屬于進(jìn)化算法的一種,能夠科學(xué)處理無(wú)約束和約束全局的優(yōu)化問(wèn)題。LSTM 神經(jīng)網(wǎng)絡(luò)由于自身內(nèi)部結(jié)構(gòu)的特點(diǎn),能夠?qū)崿F(xiàn)對(duì)依賴信息的長(zhǎng)時(shí)間學(xué)習(xí),并且有效規(guī)避梯度消失現(xiàn)象的出現(xiàn)。本文綜合借助上述兩種算法優(yōu)勢(shì)的發(fā)揮,并將兩者與EMD 算法結(jié)合起來(lái)進(jìn)行船舶運(yùn)動(dòng)姿態(tài)的預(yù)測(cè),提出了一種新型的船舶運(yùn)動(dòng)姿態(tài)組合預(yù)測(cè)模型EMD-PSO-LSTM 模型。
基于EMD-PSO-LSTM 組合預(yù)測(cè)的船模運(yùn)動(dòng)姿態(tài)預(yù)測(cè)步驟如下:
步驟1:船舶運(yùn)動(dòng)姿態(tài)序列分解。運(yùn)用EMD 分解程序,將其分解為n組頻率不同的樣本模態(tài)分量和殘差項(xiàng)rn。
步驟2:本征模態(tài)分量的PSO-LSTM 時(shí)序預(yù)測(cè)。依據(jù)頻率不同的IMF 分量和殘差項(xiàng)rn對(duì)應(yīng)構(gòu)建PSO-LSTM 模型,完成時(shí)序預(yù)測(cè)任務(wù)并對(duì)相應(yīng)結(jié)果進(jìn)行求和。
步驟3:預(yù)測(cè)結(jié)果計(jì)算。
EMD-PSO-LSTM 組合模型預(yù)測(cè)流程如圖3所示。
圖3 EMD-PSO-LSTM 組合模型的船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)流程圖 Fig.3 Flow chart of ship motion attitude prediction based on EMD-PSO-LSTM integrated model
在仿真過(guò)程中,本文采用某船舶在四級(jí)海況下,航行速度為20 kn、遭遇角為135°時(shí)的船舶運(yùn)動(dòng)姿態(tài)的實(shí)測(cè)的升沉位移數(shù)據(jù)、縱搖角數(shù)據(jù)和橫搖角數(shù)據(jù)來(lái)分別進(jìn)行仿真,每類數(shù)據(jù)總計(jì)1000 個(gè),采樣時(shí)間為0.05 s,其中訓(xùn)練樣本與預(yù)測(cè)樣本的數(shù)量分別設(shè)置為800、200,PSO 的參數(shù)按照表1中所示進(jìn)行設(shè)置。
表1 PSO 參數(shù)設(shè)置 Tab.1 Parameters of PSO algorithm
以升沉位移為例,將船舶升沉數(shù)據(jù)按照EMD 流程分解,獲得具有不同波動(dòng)尺度信息的本征模態(tài)分量,其中得到5 個(gè)基本模式分量IMF1~I(xiàn)MF5和一個(gè)剩余分量Res。IMF1的頻率較高,代表升沉信號(hào)中的高頻成分;而Res 是低頻信號(hào),代表信號(hào)中含有的非線性趨勢(shì)項(xiàng)。圖4為升沉位移時(shí)序曲線及進(jìn)行分解后的各模式分量。
圖4 升沉位移時(shí)序曲線及其EMD 分解 Fig.4 Sequential curve of heave displacement and its EMD decomposition
在仿真之前,為了加快訓(xùn)練速度,需要采用式(13)對(duì)數(shù)據(jù)進(jìn)行歸一化處理,將其歸一化到[0,1]。
其中,xi是輸入的數(shù)據(jù) (i=1,2,) ,xmax是數(shù)據(jù)中的最大值,xmin是數(shù)據(jù)中的最小值,Mi是歸一化后的數(shù)據(jù)。
當(dāng)前關(guān)于預(yù)測(cè)誤差的評(píng)價(jià)指標(biāo)有很多,本文主要采用MAPE(平均絕對(duì)百分比誤差,Mean Absolute Percentage Errors)和RMSE(均方根誤差,Root Mean Square Error)作為預(yù)測(cè)結(jié)果的評(píng)價(jià)指標(biāo),計(jì)算公式如下:
為了更好地說(shuō)明EMD-PSO-LSTM 模型在船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)中的優(yōu)越性,本文同時(shí)利用LSTM 模型及PSO-LSTM 模型對(duì)船舶運(yùn)動(dòng)姿態(tài)數(shù)據(jù)進(jìn)行預(yù)測(cè),其中三個(gè)模型中LSTM 的輸入層節(jié)點(diǎn)數(shù)均設(shè)置為1,隱含層節(jié)點(diǎn)數(shù)設(shè)置為4,隱含層層數(shù)設(shè)置為3,輸出層節(jié)點(diǎn)數(shù)設(shè)置為1,初始學(xué)習(xí)率設(shè)置為0.001,采用tanh 和sigmoid 函數(shù)作為激活函數(shù)。LSTM 的權(quán)值及網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)主要利用網(wǎng)格搜索來(lái)進(jìn)行選取。圖5為三種模型的預(yù)測(cè)結(jié)果對(duì)比圖,圖6為三種模型的預(yù)測(cè)誤差對(duì)比結(jié)果圖,表2~4 為三種模型預(yù)測(cè)結(jié)果的MAPE 和RMSE 的對(duì)比結(jié)果。
通過(guò)分析圖5~6 及表2~4 可以看出,EMD-PSO- LSTM 組合模型相對(duì)于LSTM 模型和PSO-LSTM 模型:在對(duì)升沉位移的預(yù)測(cè)中,預(yù)測(cè)結(jié)果的平均絕對(duì)百分比誤差上分別降低了10.68%、7.71%,均方根誤差(RMSE)分別降低了0.0515 m 和0.0306 m;在橫搖角的預(yù)測(cè)中MAPE 分別降低了11.09%和7.84%,RMSE 分別降低了0.1584°和0.0922°;在縱搖角的預(yù)測(cè)中MAPE 分別降低了10.97%和6.54%,RMSE 分別降低了0.0444°和0.0213°。分析結(jié)果表明EMD-PSO- LSTM 模型是一種更為有效的船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)方法。
表2 升沉位移誤差統(tǒng)計(jì)結(jié)果 Tab.2 Statistical results of heave displacement errors
表3 橫搖角誤差統(tǒng)計(jì)結(jié)果 Tab.3 Statistical results of roll angle errors
圖5 三種模型預(yù)測(cè)結(jié)果 Fig.5 Prediction results of the three models
圖6 三種模型預(yù)測(cè)誤差 Fig.6 Prediction errors of the three models
表4 縱搖角誤差統(tǒng)計(jì)結(jié)果 Tab.4 Statistical results of pitch angle errors
三種模型的預(yù)測(cè)結(jié)果與實(shí)際值的變化曲線基本一致,能夠反映出數(shù)據(jù)的變化規(guī)律。相對(duì)于另外兩種模型,EMD-PSO-LSTM 組合模型的預(yù)測(cè)結(jié)果在均方根誤差及平均絕對(duì)百分比誤差上均為最小,說(shuō)明其預(yù)測(cè)精度總體上要比其它兩種模型高,對(duì)于具有非平穩(wěn)、非線性特征的船舶運(yùn)動(dòng)姿態(tài)具有更好的預(yù)測(cè)效果。
本文針對(duì)船舶運(yùn)動(dòng)姿態(tài)的高隨機(jī)性和復(fù)雜性特征,建立了基于EMD-PSO-LSTM 的船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)模型。該模型首先將船舶運(yùn)動(dòng)姿態(tài)數(shù)據(jù)用EMD 算法進(jìn)行分解,然后利用PSO-LSTM 模型對(duì)各分量進(jìn)行預(yù)測(cè),最后將預(yù)測(cè)值代數(shù)相加得到最終的預(yù)測(cè)結(jié)果。在實(shí)驗(yàn)中,本文將EMD-PSO-LSTM 與LSTM 模型、PSO-LSTM 模型分別對(duì)某船舶在四級(jí)海況的船舶運(yùn)動(dòng)姿態(tài)數(shù)據(jù)進(jìn)行預(yù)測(cè)對(duì)比,結(jié)果表明:EMD-PSO-LSTM模型在提高船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)的整體精度的同時(shí)將絕大部分預(yù)測(cè)點(diǎn)與實(shí)際數(shù)據(jù)的偏離程度控制在較小范圍,從而促使預(yù)測(cè)的準(zhǔn)確性得到提高。這主要是因?yàn)樵撃P蛯?fù)雜的船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)問(wèn)題轉(zhuǎn)化為若干個(gè)規(guī)律性顯著的分量預(yù)測(cè)問(wèn)題,隨后在預(yù)測(cè)結(jié)果合并運(yùn)算的基礎(chǔ)上求得精確度較高的預(yù)測(cè)值,提高了預(yù)測(cè)精度。
在當(dāng)前的船舶運(yùn)行姿態(tài)預(yù)測(cè)中,利用LSTM 等深度學(xué)習(xí)模型的相關(guān)方法較少。在后續(xù)的研究中,一方面將重點(diǎn)研究LSTM、GRU 神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)模型在船舶運(yùn)動(dòng)姿態(tài)預(yù)測(cè)的應(yīng)用,另一方面,將重點(diǎn)研究LSTM 等深度學(xué)習(xí)模型與GA 等群體智能算法的結(jié)合,進(jìn)一步增強(qiáng)LSTM 等深度學(xué)習(xí)模型在實(shí)際應(yīng)用過(guò)程中的效果。