侯永康 鄒 勁 董 超 劉 蔚談果戈
(1.哈爾濱工程大學船舶工程學院 哈爾濱 150001)(2.國家海洋局南海調查技術中心自然資源部海洋環(huán)境探測技術與應用重點實驗室 廣州 510000)
常規(guī)船舶受限于水中,導致其航速及性能無法滿足特種作業(yè)要求。高速滑行艇作為高性能船舶的代表船型,其在水面高速運輸與作業(yè)領域發(fā)揮著重要作用,對比于常規(guī)低速船舶較為穩(wěn)定的運動姿態(tài),滑行艇具有較大的運動姿態(tài)變化。三體滑行艇,在高速航行狀態(tài)下存在運動失穩(wěn)現(xiàn)象,因而高速滑行艇的航態(tài)分析是該艇型研究的重要組成部分[1]。三體滑行艇由于其運動穩(wěn)定性較差的特性,對艇體的控制和航行中的安全問題提出了較高的要求。依靠傳統(tǒng)的航速、航向控制策略,能夠滿足傳統(tǒng)常規(guī)船舶的航行要求,卻無法實現(xiàn)三體滑行艇在較高航速下,艇體的穩(wěn)定性和安全性的要求。
國內外對于以滑行艇為代表的非常規(guī)船舶的航態(tài)分析主要以模型數(shù)值分析與CFD方法為主,韓翔希、趙成璧、唐友宏和林慰等基于Fluent平臺進行了高速艇航態(tài)研究[2],周淑秋、趙希人等在船舶航態(tài)非線性預報方法上做了較深入研究[3],馬潔、韓蘊韜、曾芬芳、陳曉軍、林劍檸等對船舶航態(tài)進行了模擬仿真[4~5],韓斌、楊震、王巖等利用神經網絡算法對船舶航態(tài)進行了在線預報分析[6]。
本文依據(jù)三體滑行艇主尺度和試驗數(shù)據(jù),基于深度神經網絡中的決策樹和LSTM算法,利用其大量隱蔽神經元節(jié)點單元,對艇體的航態(tài)及航速數(shù)據(jù)進行訓練、檢驗,實現(xiàn)艇體的航態(tài)預測與航速控制系統(tǒng)構建。
基于深度神經網絡的三體滑行艇航態(tài)預測與航速控制,區(qū)別于傳統(tǒng)CFD分析方法,實現(xiàn)了三體滑行艇航態(tài)的實時監(jiān)測與分析,通過該方法預測艇體航態(tài),進而引入艇體航速航態(tài)控制系統(tǒng),對于確保實海況下的艇體航行穩(wěn)定性和安全性有重要意義。
決策樹算法由 Hunt等在 1966 年提出[7],是機器學習中一種逼近離散值目標的方法。決策樹算法本質上是一種樹形算法,能夠實現(xiàn)大量數(shù)據(jù)、多變量對于輸出量影響的正確分類以及預測。
首先,在決策樹算法理論框架中,以信息論中熵作為目標評價函數(shù)。熵的定義是對于事物不確定度的分析,不確定度越大的事物,熵越大。熵的定義式為
其中,D為樣本總數(shù),Ck是屬于Ck類的樣本數(shù),k表示事物劃分的分類數(shù)。當熵很大時,事物狀態(tài)是十分混亂的。對數(shù)據(jù)進行處理的期望是熵盡量的小。引入信息增益:
其中,根據(jù)特征A可將樣本數(shù)據(jù)劃分為N個子集,D1,D2,…,DN, ||Di, ||Di是子集 Di的樣本數(shù),Dik是子集中屬于Ck類的樣本數(shù)。
信息增益Gain(D,A)判斷特征如何構建決策樹,信息增益越大,越適合分類。在信息增益的基礎上,提出增益率概念用來劃分屬性,實現(xiàn)較好的泛化作用:
在式中,IV(A)表示為屬性A的固有值,屬性A的取值越多,則IV(A)越大。通過增益率的處理,就實現(xiàn)了決策樹對于不同屬性數(shù)量的平衡。
引入決策樹的損失函數(shù),對數(shù)據(jù)在訓練過程中進行修剪處理:
其中,|T|為模型復雜度,是一個正則化的處理,是對模型復雜程度的一個懲罰項。H(T)為節(jié)點t的信息熵大小,引入節(jié)點t有k個分類情況的Ntk為樣本數(shù)量。
C(T)越大,顯示的模型預測誤差越大。通過控制C(T)的數(shù)值大小,進而完成正則化處理,實現(xiàn)決策樹節(jié)點的修剪。
LSTM 算 法 產 生 于 1997年[8],LSTM(Long Short-Term Memory networks)長短周期記憶算法是一種具有記憶和遺忘功能的神經網絡,是一種特殊的RNN形式,適于處理序列問題中間隔和延遲較長的事件以及數(shù)據(jù),具有解決傳統(tǒng)的神經網絡數(shù)據(jù)無記憶性、不持久性等問題。
圖1 LSTM循環(huán)結構細節(jié)圖
RNN(Recurrent neural networks)是一種遞歸循環(huán)的神經網絡,可以持續(xù)地存儲數(shù)據(jù)。在圖1中,A代表著一個網絡模塊,Xk代表輸入模塊,yk代表輸出模塊。循環(huán)存儲的數(shù)據(jù)傳入下一步,實現(xiàn)的是同一副本的不斷重復,一步一步向下傳遞。
長短周期算法LSTM(Long Short-Term Memory networks)解決了RNNs算法存在的梯度消失和梯度爆炸問題。
該公式表示的是LSTM算法的輸入門,yk-1表示上一個細胞的輸出量,xk表示當前細胞的輸入量,σ表示sigmoid函數(shù)。
其中,該公式表示的是更新細胞狀態(tài)和輸出門,Ck-1表示上一時刻的細胞狀態(tài),Ck表示該時刻的細胞狀態(tài)。同時具有輸入門、遺忘門、輸出門的LSTM算法實現(xiàn)了將輸入信號、輸出信號、目前狀態(tài)、之前狀態(tài)、之后狀態(tài)相聯(lián)系的能力。
LSTM算法是RNNs算法的優(yōu)化算法,通過無監(jiān)督學習的選擇性記憶與遺忘,實現(xiàn)了大量冗雜信息背后提取、分析信息,實現(xiàn)短期預測的準確性[9]。
決策樹算法在機器學習中處于較為基礎且廣泛的地位,在數(shù)據(jù)分析、數(shù)據(jù)挖掘、模型預測等方面,由于其高效性、直觀性得到廣泛應用,運用決策樹,提高了對于數(shù)據(jù)的認識程度,同時也增強了數(shù)據(jù)分析的智能化,更符合人類分析問題的角度與思維[10]。
決策樹算法,包含了特征的選取、決策樹的修剪、決策樹的生成等三個組成部分[7]。在決策樹算法的實現(xiàn)過程中,首先通過信息增益以及增益率準則,構建根節(jié)點,選取最優(yōu)特征值,然后對各特征值進行逐一分割,直至所有特征值統(tǒng)一實現(xiàn)子集歸位,對于分割好的支節(jié)點,構建葉節(jié)點,逐層分類,直至所有子集分割節(jié)點構建好自己的類,即生成了決策樹。決策樹的修剪同樣作為決策樹算法不可或缺的一部分,能夠較好地防止數(shù)據(jù)處理過程中的過擬合現(xiàn)象,能實現(xiàn)數(shù)據(jù)正確分類歸類以及權重分析。
如圖2,利用決策樹對試驗數(shù)據(jù)的處理,能實現(xiàn)各參數(shù)(升沉H、阻力R、縱傾θ等)對于高速艇運動姿態(tài)的影響權重。在船舶決策樹分類器的設計中,利用船舶試驗數(shù)據(jù)建立一個數(shù)據(jù)庫,然后對試驗數(shù)據(jù)進行一系列數(shù)據(jù)預處理,接下來利用決策樹分類器算法對試驗數(shù)據(jù)進行處理,通過交叉驗證(Cross Validation)、修剪、特征值檢驗等步驟,進而生成一個基于船舶試驗數(shù)據(jù)的能夠準確表達船舶運動姿態(tài)信息的決策樹。
圖2 船舶決策樹分類器實現(xiàn)圖
著眼于分析序列化數(shù)據(jù)的LSTM算法,對于船舶運動姿態(tài)的時序性變化特點極為適用[11]。LSTM算法規(guī)避了傳統(tǒng)神經網絡中的忽略歷史信息、易造成梯度消失等問題[12~13],能夠較好地實現(xiàn)對于船舶整個運動過程姿態(tài)的監(jiān)測、分析、預測功能,尤其是對于船舶下一段時刻的運動姿態(tài)預測準確性問題,規(guī)避了利用傳統(tǒng)船舶運動姿態(tài)方法,如統(tǒng)計預測法、艏前波法、卡爾曼濾波法等預測中易出現(xiàn)的不連續(xù)不準確性、模型構建復雜、參數(shù)冗雜等問題[6]。
本文采用LSTM算法的變體形式GRU(the Gat?ed Recurrent Unit)對數(shù)據(jù)集進行更新補充,進而對數(shù)據(jù)進行交叉驗證。
圖3 LSTM變體形式
其中,σ為sigmoid函數(shù),yk-1為上一時刻的輸出量,xk為該時刻的輸入量,h?k為該時刻的輸出狀態(tài)量函數(shù),Wz和Wr為權重系數(shù)。在記憶遺忘門中,通過賦予不同的系數(shù)h?k實現(xiàn)與過去數(shù)據(jù)的聯(lián)系,當h?k→0時,現(xiàn)在的狀態(tài)量以及信息趨近于完全遺忘,當h?k→1時,狀態(tài)量以及信息趨近于完全記?。?1]。
LSTM算法通過gates樞紐賦予了記憶和遺忘功能,輸入到構建好的LSTM神經網絡中對訓練數(shù)據(jù)集進行學習,設置內置的error函數(shù)實現(xiàn)算法對于數(shù)據(jù)集的學習誤差限定,實時對LSTM神經網絡的記憶模塊進行更新化處理,即輸出一段時間范圍內預測得到的船舶運動姿態(tài)數(shù)據(jù)。
對于船舶運動姿態(tài)的研究與預測始終是船舶生命周期內不可或缺的一部分,利用深度學習方法,在實現(xiàn)自動控制、圖像識別、語音識別等領域蓬勃發(fā)展的同時,在船舶航態(tài)監(jiān)測與預報領域也具有巨大的指導意義[10~11]。
表1 訓練集和驗證集分類表
在第三節(jié)設計完成的控制器中,包含了決策樹算法和LSTM算法,同時,利用三體滑行艇試驗數(shù)據(jù)作為整個控制器的輸入樣本,將數(shù)據(jù)分為訓練集和測試集,見表1,訓練集數(shù)據(jù)用于對控制器的訓練,測試集用于對訓練數(shù)據(jù)的交叉性驗證,通過均方誤差MSE和平均絕對誤差MAE對于模型的準確性進行判定。
圖4 航速控制器設計
深度學習處理數(shù)據(jù),能夠較好地處理船舶高速航態(tài)下數(shù)據(jù)的強非線性、非魯棒性的特點。結合決策樹分類器以及LSTM算法,實現(xiàn)對于輸入的船舶試驗數(shù)據(jù)的預處理、權重分類、深度預測等操作,進而得到有價值的實時船舶航態(tài)預測數(shù)據(jù),構成了船舶航態(tài)預測器。規(guī)避了傳統(tǒng)最小二乘法方法以及非線性自回歸模型對于船舶航態(tài)數(shù)據(jù)預測過程中的預測精度以及模型依賴性問題[2~3]。
畫家住在錢蔥河邊。秀容川如約去了,沒進家門,就聞到濃重的血腥氣,他暗叫不妙,沖進去,畫家倒在地上,咽喉有劍傷,血還汩汩往外冒。
圖5 運動姿態(tài)預測器
圖5 中表示了完整的決策樹算法結合LSTM算法的流程。其中,輸入量為Pg,I,分別對應航速范圍量、時間序列下的船舶試驗數(shù)據(jù)以及被打亂的船舶試驗數(shù)據(jù)。yk為輸出層當前時刻的輸出量,該值可作為下一時刻的輸入量,分別為LSTM算法的輸入層數(shù)值,其中表示經過決策樹輸出的數(shù)據(jù),表示船舶試驗數(shù)據(jù),分別為第i層的狀態(tài)量,為經過LSTM算法處理完的數(shù)據(jù)量,形成當前時刻的輸出數(shù)據(jù)yk,該數(shù)據(jù)值是船舶運動姿態(tài)的預測值。
航速的控制器設計以船舶航態(tài)監(jiān)測器的數(shù)據(jù)為基礎,船舶的實時航態(tài)與預測航態(tài)便建立了一個可信的數(shù)據(jù)庫,依據(jù)庫信息作為輸入,利用深度分析未來時間段內的航態(tài)信息,并通過引入航態(tài)監(jiān)測器中對于船舶航態(tài)航速的內在聯(lián)系,匹配合適的航速信息。輸入、輸出以及隱藏層組成了高速艇航態(tài)監(jiān)測和航速控制器。
本文選取細長型無斷級的滑行艇艇型,其主要的船體主尺度見圖6及表2,本文在進行試驗數(shù)據(jù)的訓練之前,需要將船舶試驗數(shù)據(jù)進行無因次化處理,通過無因次化處理可以實現(xiàn)阻力值R、縱傾角θ、升沉H等參數(shù)的數(shù)據(jù)預處理,R L、θ、H Tˉ分別表示對于阻力、縱傾角、升沉量的無因次化處理后的數(shù)值。
圖6 三體滑行艇尺寸表
表2 三體滑行艇主尺度
本文采用決策樹分類器(DT)+RNNs神經網絡與決策樹分類器(DT)+LSTM神經網絡相比較的方式進行分析對比。RNNs與LSTM對比分析是對序列下的試驗數(shù)據(jù)學習效率的比較分析,同時也是驗證LSTM算法在處理序列化數(shù)據(jù)過程中,從預測的準確性方面有了較大的提升。通過決策樹(DT)+LSTM算法的控制器結合,具備通過當前船舶運動狀態(tài)預測下一段時刻運動狀態(tài)的能力,并且保證其準確性。由圖7(a)可以看出,決策樹對于三體滑行艇試驗數(shù)據(jù)的分類處理后得到,在各種變量的影響作用下,升沉H、阻力值R、縱傾角θ的取值對于三體滑行艇航速變化影響較大,其權重分別占到了41%、35%、23%,而溫度值、初始縱傾角、拖曳角等變化量對于三體滑行艇的影響權重較小,總體占到了2.2%。通過決策樹分類器模型實現(xiàn)了從另一種數(shù)據(jù)分析角度考量船舶各參數(shù),從而為船舶運動姿態(tài)以及航速控制引入了一種新的思路。
圖7(b)、(c)、(d)表示的分別為升沉 H、阻力R、縱傾值θ在經過DT+LSTM算法以及DT+RNNs算法訓練后,與航速的對應關系,表3表示了LSTM與RNNs算法的學習效率值。通過圖示可知,DT+LSTM算法相比較于DT+LSTM具有更好的學習效果,尤其是在數(shù)據(jù)驗證階段,DT+LSTM算法的MSE和MAE達到了0.75和0.88,而DT+RNNs算法為0.92和0.99。另外通過對比DT+LSTM與單純的LSTM,發(fā)現(xiàn)通過DT決策樹分類器作為LSTM算法的數(shù)據(jù)預處理部分(包括剪枝處理、權重分析),能起到較好的提高數(shù)據(jù)學習精度的作用。
在考慮算法學習精度的同時,也考量了幾種不同算法在在相同迭代次數(shù)的基礎上的平均迭代時間,見表5。通過對比發(fā)現(xiàn)三種算法的迭代效率上DT+RNNs的運算效率最高。
圖7 各參數(shù)原始值與預測值對比圖
表3 LSTM與RNNs學習效率對比
基于三體滑行艇運動姿態(tài)數(shù)據(jù),進行的DT+LSTM運動姿態(tài)權重分析與航態(tài)預測分析作為輸入量,設計了航速調節(jié)器,圖8表示的是設計的航速控制器圖,通過深度學習實現(xiàn)滑行艇對于未來某時間段內運動姿態(tài)的航速實時匹配和調節(jié)。仿真表明,在預測運動姿態(tài)數(shù)值等輸入量已知的情況下,實現(xiàn)了對于航速的調節(jié),并且通過仿真結果可以得出:預測的航速,能夠很好地反映船體運動姿態(tài),誤差控制在5%之內,具有較高的匹配度。
圖8 航速控制器仿真結果圖
本文運用DT+LSTM(決策樹+長短循環(huán)記憶算法)對三體滑行艇的運動姿態(tài)及航速信息進行了深度學習,并設計了三體滑行艇的航速調節(jié)控制器。結果顯示:
1)DT決策樹算法能夠實現(xiàn)艇體運動姿態(tài)各參數(shù)有效的分類處理,即實現(xiàn)參數(shù)的不同權重配置,為運動姿態(tài)的分析與預測提供了一種新的思路。
2)LSTM算法得到的對于艇體各運動姿態(tài)參數(shù)的深度學習,精確實現(xiàn)了對于各個時刻狀態(tài)量的記憶,以及對于未來某段時刻的艇體運動姿態(tài)各參數(shù)的準確預測與預報,突破了傳統(tǒng)數(shù)值計算方法的局限性。
3)利用DT+LSTM算法深度學習的艇體運動姿態(tài)數(shù)據(jù)作為數(shù)據(jù)庫,并建立航速信息的匹配關系,構建航速調節(jié)器,實現(xiàn)在實時航行過程中,根據(jù)各參數(shù)預調節(jié)航速的能力。
綜上所述,結果顯示利用深度學習算法,可以較好地突破傳統(tǒng)的CFD計算方法的局限性和繁瑣性,并實現(xiàn)對于三體滑行艇運動姿態(tài)的準確預測,是解決三體滑行艇運動穩(wěn)定性差、易失穩(wěn)等運動特點的一個思路和方案,具有高效能、逐步優(yōu)化等優(yōu)勢,在此基礎上,也為各種船體運動姿態(tài)預測以及航速匹配問題提供了一定的借鑒作用。