張博一, 胡 雄, 唐 剛, 邵辰彤
(上海海事大學(xué) 物流工程學(xué)院, 上海 202003)
長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)是一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)。由于其獨(dú)特的設(shè)計(jì)結(jié)構(gòu),解決了早期預(yù)測數(shù)據(jù)的梯度消失問題, 在時(shí)序預(yù)測的表現(xiàn)通常比時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)及隱馬爾科夫模型(HMM)更好。近年來在時(shí)滯系統(tǒng)的預(yù)測控制設(shè)計(jì)中,受到廣泛關(guān)注和應(yīng)用[1]。
艦載設(shè)備屬于一種典型的時(shí)滯系統(tǒng), 具有慣量大、載荷重的特點(diǎn)。同時(shí)由于艦載設(shè)備的工作環(huán)境相對較為封閉, 大多時(shí)候船舶運(yùn)動只能通過慣性器件測量, 但由于慣性器件本身電學(xué)特性和積分算法存在的缺陷, 積分位移常出現(xiàn)低頻趨勢項(xiàng)干擾[12]。導(dǎo)致常規(guī)的LSTM神經(jīng)網(wǎng)絡(luò)在對積分位移時(shí)序預(yù)測時(shí),精度會隨時(shí)間序列縮短而明顯下降。
針對該問題, 本文在常規(guī)LSTM結(jié)構(gòu)的基礎(chǔ)上進(jìn)行了拆分和簡化, 設(shè)計(jì)改良了一種針對低頻擾動降趨預(yù)測的二元LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu), 并利用多組算例對網(wǎng)絡(luò)進(jìn)行了驗(yàn)證與誤差評價(jià), 研究了網(wǎng)絡(luò)參數(shù)的選擇對結(jié)果的影響; 最后通過船舶模擬振動臺模擬船舶運(yùn)動進(jìn)行實(shí)時(shí)預(yù)測, 驗(yàn)證了該二元LSTM神經(jīng)網(wǎng)絡(luò)對模擬船舶積分位移預(yù)測具有良好的準(zhǔn)確性和實(shí)時(shí)效率。
船舶升沉運(yùn)動作為實(shí)際物理系統(tǒng), 當(dāng)前時(shí)刻輸出與相鄰時(shí)刻的輸出必然存在一定的相關(guān)性, 因此對慣性器件輸出序列的預(yù)測采用LSTM網(wǎng)絡(luò)是一種合適的構(gòu)建形式。與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,LSTM對內(nèi)部的結(jié)構(gòu)進(jìn)行了更加精心的設(shè)計(jì), 加入了輸入門、遺忘門以及輸出門3個(gè)門和1個(gè)內(nèi)部記憶單元ct(圖1)。輸入門控制當(dāng)前計(jì)算的新狀態(tài)以多大程度更新到記憶單元中; 遺忘門控制前一步記憶單元中的信息有多大程度被遺忘掉; 輸出門控制當(dāng)前的輸出有多大程度上取決于當(dāng)前的記憶單元[1-3]。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)單元Fig. 1 LSTM neural network unit
該網(wǎng)絡(luò)模型中, 每個(gè)網(wǎng)絡(luò)單元包含3個(gè)邏輯門,分別是輸入門it、遺忘門ft和輸出門ot,
式中,Wi,bi,Wf,bf,Wo,bo為網(wǎng)絡(luò)待訓(xùn)權(quán)重。σ(Sigmoid函數(shù)運(yùn)算)為線性單元函數(shù), 可以將自變量映射到[0,1]區(qū)間上, 前一個(gè)基本單元傳遞系數(shù)ct-1上式的計(jì)算結(jié)果作線性疊加, 即記憶層ct更新公式為:
Wc為待訓(xùn)權(quán)重, tanh單元與σ單元類似, 表示將數(shù)值映射到區(qū)間[-1, 1]之間。式中包含了“遺忘門”的設(shè)計(jì), 通過線性疊加確定本次輸入信息的權(quán)重和對之前信息的遺忘比例。遺忘門控單元的設(shè)計(jì)主要用于控制數(shù)據(jù)長期依賴性信息的流動, 近似于滑動平均的思想, 如果ft接近于1, 則可以記憶久遠(yuǎn)地傳遞信息, 而ft接近于0, 則完全遺忘, 防止訓(xùn)練中出現(xiàn)由長期依賴性導(dǎo)致的梯度消失[5-6]。輸出層ht計(jì)算公式為:
將基本單元按照問題的規(guī)模和預(yù)測輸出的長度連接為拓?fù)浣Y(jié)構(gòu)即可完成網(wǎng)絡(luò)主要部分的搭建。
為了驗(yàn)證LSTM神經(jīng)網(wǎng)絡(luò)對絕對式傳感數(shù)據(jù)和相對式傳感數(shù)據(jù)的預(yù)測效果, 通過船舶運(yùn)動仿真平臺模擬船舶甲板運(yùn)動, 通過絕對式傳感系統(tǒng)(慣性積分儀)測量平臺的運(yùn)動, 并利用相對式傳感系統(tǒng)(激光測距儀)對測量結(jié)果進(jìn)行校驗(yàn)。分別構(gòu)建10層和30層的LSTM神經(jīng)網(wǎng)絡(luò), 選取10組時(shí)序長度為500離線測量數(shù)據(jù)作為訓(xùn)練樣本, 用訓(xùn)練網(wǎng)絡(luò)分別對實(shí)時(shí)采集未校驗(yàn)數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行實(shí)時(shí)預(yù)測驗(yàn)證, 統(tǒng)計(jì)均方根誤差(RMSE, root mean square error)。實(shí)訓(xùn)預(yù)測效果如圖2所示。
圖2 LSTM神經(jīng)網(wǎng)絡(luò)對絕對式傳感數(shù)據(jù)和相對式傳感數(shù)據(jù)預(yù)測對比Fig. 2 LSTM neural network prediction comparison of absolute sensor data and relative sensor data
可以看出, 在對無相對校驗(yàn)數(shù)據(jù)預(yù)測時(shí), LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測能力會隨著時(shí)間序列的縮短出現(xiàn)較大的退化。造成這種現(xiàn)象的主要原因是絕對式傳感系統(tǒng)由于電學(xué)傳感器的工作時(shí), 存在無規(guī)律超低頻的直流信號偏置干擾[1]。而LSTM預(yù)測時(shí), 干擾會隨著實(shí)時(shí)信號一起輸入到網(wǎng)絡(luò)單元中, 造成誤差累積。過度放大時(shí)間序列會影響網(wǎng)絡(luò)的學(xué)習(xí)效率和時(shí)效性,因此常規(guī)的LSTM神經(jīng)網(wǎng)絡(luò)在干擾較多的惡劣工況下有很大局限性。
常規(guī)LSTM神經(jīng)網(wǎng)絡(luò)對絕對式傳感信號預(yù)測能力會隨著時(shí)間序列的縮短出現(xiàn)較大的退化, 預(yù)測輸出的規(guī)模也會減小。因此, 常規(guī)的LSTM神經(jīng)網(wǎng)絡(luò)雖然在條件較理想環(huán)境下能取得較為理想的預(yù)測效果,但在缺少校驗(yàn), 只能依賴絕對式測量法的實(shí)際海洋工況下, 其預(yù)測效果就會大打折扣。
針對這一問題, 本文構(gòu)造了一個(gè)雙層記憶的LSTM神經(jīng)網(wǎng)絡(luò), 借鑒滑動均值法思路, 針對實(shí)測信號預(yù)測和趨勢項(xiàng)提取的物理意義改良網(wǎng)絡(luò)數(shù)學(xué)模型, 實(shí)測信號預(yù)測的短時(shí)學(xué)習(xí)權(quán)重高, 因此降低遺忘門, 提高輸入門的訓(xùn)練權(quán)值, 趨勢項(xiàng)提取記憶學(xué)習(xí)權(quán)重高, 因此提高遺忘門, 降低輸入門的訓(xùn)練權(quán)值, 如圖3所示。
圖3 二元LSTM神經(jīng)網(wǎng)絡(luò)單元Fig. 3 Binary LSTM neural network unit
在第t個(gè)單元中,cn和pn分別表示趨勢記憶層和遞推記憶層,ht-1為前一個(gè)單元位移變量的傳遞輸出,首先將其還原為趨位移變量。其關(guān)系為
其中,ξc為趨勢項(xiàng)修正系數(shù), 其范圍區(qū)間為[0, 1]。
輸入xt與連接后通過線性單元σ( Sigmoid函數(shù)運(yùn)算) 轉(zhuǎn)化為區(qū)間[0, 1]之間的遞推遺忘門系數(shù)和遞推輸入門系數(shù), 同樣通過tanh單元表示將數(shù)值映射到區(qū)間[-1, 1]之間, 這一部分的特征映射表達(dá)式為
更新遞推記憶層pt和趨勢記憶層ct:
根據(jù)遞推值和趨勢值的關(guān)系, 本單元位移變量輸出ht為:
將基本單元按照問題的規(guī)模和預(yù)測輸出的長度連接為拓?fù)浣Y(jié)構(gòu)即可完成網(wǎng)絡(luò)主要部分的搭建。由于趨勢擾動頻率遠(yuǎn)低于船舶的實(shí)際運(yùn)動頻率, 單次工況內(nèi), 輸入修正系數(shù)和遺忘修正系數(shù)可以視為固定值, 以此減少了相對需要訓(xùn)練的網(wǎng)絡(luò)參數(shù), 使該網(wǎng)絡(luò)在理論上具有更好的訓(xùn)練效率。
趨勢待定權(quán)重可以參考帶權(quán)重的滑動平均值法設(shè)定, 對于時(shí)序輸入xt, 使用以下公式更新加權(quán)趨勢
常規(guī)運(yùn)輸駁船的振蕩能量密度主要分布在0.05~0.25 Hz。實(shí)測對比發(fā)現(xiàn), 加速度積分的趨勢干擾主頻率低于3 MHz, 因此分別取遺忘修正系數(shù)ξf為0.96、0.98和0.99進(jìn)行驗(yàn)證對比, 對應(yīng)輸入修正系數(shù)ξi取0.04、0.02和0.01, 分別構(gòu)建10層和30層二元LSTM神經(jīng)網(wǎng)絡(luò), 選取同樣10組時(shí)序長度為500離線測量數(shù)據(jù)作為訓(xùn)練樣本對網(wǎng)絡(luò)進(jìn)行初始訓(xùn)練, 再對實(shí)時(shí)采集未校驗(yàn)數(shù)據(jù)進(jìn)行多次實(shí)時(shí)預(yù)測驗(yàn)證并記錄, 統(tǒng)計(jì)均方根誤差(RMSE)。部分實(shí)時(shí)訓(xùn)練效果對比如圖4所示。
其中初始輸入修正系數(shù)ξi取0.04(遺忘修正系數(shù)ξf為0.96)時(shí), 網(wǎng)絡(luò)訓(xùn)練效果最優(yōu), 分別對10層和30層網(wǎng)絡(luò)進(jìn)行多次實(shí)訓(xùn)預(yù)測, 預(yù)測結(jié)果與對應(yīng)實(shí)際數(shù)據(jù)對比如圖5所示。
通過上述幾個(gè)網(wǎng)絡(luò), 進(jìn)行多組數(shù)據(jù)預(yù)測效果統(tǒng)計(jì)對比, 對比結(jié)果如表1所示。
表1 LSTM網(wǎng)絡(luò)與本文LSTM網(wǎng)絡(luò)預(yù)測誤差對比Tab. 1 Comparison of prediction error between LSTM network and binary LSTM network
本文測試, 10層的LSTM網(wǎng)絡(luò)預(yù)測結(jié)果測得峰差值均方差6.29%, 均值均方差18.59%, 峰值均方差27.87%, 而10層二元LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果有較大改善, 對應(yīng)測得峰差值均方差0.64%, 均值均方差0.42%, 峰值均方差0.57%, 能更好地針對船舶運(yùn)動積分位移特性, 在精確短周期預(yù)測的基礎(chǔ)上有效消除趨勢干擾, 更準(zhǔn)確的還原預(yù)測實(shí)際的船舶運(yùn)動軌跡。
可以看出, 在同樣的訓(xùn)練規(guī)模下, 二元LSTM神經(jīng)網(wǎng)絡(luò)相比常規(guī)LSTM神經(jīng)網(wǎng)絡(luò)對船動數(shù)據(jù)擬合和預(yù)測精度較優(yōu), 尤其在時(shí)間序列較短時(shí)改善更為明顯。但在線預(yù)測過程中由于船舶振蕩幅頻出現(xiàn)波動, 以往修正系數(shù)和輸入修正系數(shù)的適應(yīng)性出現(xiàn)了波動, 當(dāng)然準(zhǔn)確率下降的原因仍有訓(xùn)練樣本不夠龐大和參數(shù)設(shè)置的原因。但通過觀察圖4、圖5, 可以看到預(yù)測對噪聲變化趨勢仍保證相當(dāng)?shù)钠鹾隙? 仍可以將這個(gè)結(jié)果作為有色噪聲范圍對濾波算法進(jìn)行優(yōu)化設(shè)計(jì)。
圖4 在線實(shí)時(shí)預(yù)測效果對比Fig. 4 Online predicted results
圖5 二元LSTM預(yù)測效果對比圖Fig. 5 Comparison of the predicted results
在船舶升沉位移預(yù)測過程中, 單傳遞層的LSTM神經(jīng)網(wǎng)絡(luò)具有很好的準(zhǔn)確性和訓(xùn)練效率, 并能夠架構(gòu)長短時(shí)深度學(xué)習(xí)網(wǎng)絡(luò)實(shí)現(xiàn)對船舶升沉運(yùn)動的實(shí)時(shí)快速預(yù)測, 但在船舶升沉運(yùn)動測量中, 由于慣性測量器件本身特性, 使單傳遞層的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測中不可避免的產(chǎn)生偏差; 而本文架構(gòu)的雙層記憶傳遞層LSTM 網(wǎng)絡(luò), 針對慣性器件測量積分位移的誤差特性, 設(shè)計(jì)了一種雙層記憶神經(jīng)單元架構(gòu), 能夠在準(zhǔn)確預(yù)測船舶升沉位移信號曲線的同時(shí)消除慣性器件測量時(shí)引起的誤差。在線實(shí)時(shí)預(yù)測中本文LSTM 網(wǎng)絡(luò)預(yù)測能力會隨著環(huán)境變化出現(xiàn)一定的退化, 但可以通過疊加更多層LSTM 并減小預(yù)測輸出的規(guī)模使預(yù)測更為精準(zhǔn), 再根據(jù)其輸出對控制系統(tǒng)的濾波算法進(jìn)一步優(yōu)化設(shè)計(jì)。