?

基于SVR的船舶操縱運動黑箱建模

2021-03-12 08:26盧冠宇姚建喜
中國航海 2021年4期
關鍵詞:黑箱船舶網格

盧冠宇, 姚建喜

(武漢理工大學 a. 高性能艦船技術教育部重點試驗室;b. 船海與能源動力工程學院, 湖北 武漢 430063)

利用船舶操縱運動的數學模型進行計算機數值模擬是船舶操縱性預報最常用和最有效的方法之一。船舶操縱運動的數學建模分為機理建模和黑箱建模。機理建?;诖_定的數學模型,常用的為Abkowitz整體式模型和分離式數學模型(Maneuvering Modeling Group, MMG)。對于機理建模,所使用模型中水動力導數的精度是影響其預報精度的關鍵。目前,獲取水動力導數主要有約束模型試驗方法、經驗公式法、基于CFD(Computational Fluid Dynamics)的數值計算方法和系統辨識方法等4種方法。由于CFD的數值模擬耗費大量的計算資源,難以滿足工程的應用需要,而系統辨識方法很好地彌補了其缺點。系統辨識用于船舶操縱性預報的過程屬于有參數回歸,回歸得到的水動力導數具有較為明確的物理意義,LUO等[1]使用LS-SVM(Least Square-Support Vector Machine)對船舶操縱性進行有參數的預報,并討論減緩參數漂移的方法;李騰飛[2]使用擴展卡爾曼濾波法對MMG模型中的部分參數進行辨識。然而,船舶操縱運動實際上是一個非常復雜的非線性系統,機理建模的參數漂移不能消除,且在多數情況下使用機理建模難以建立高精度的船舶操縱運動模型。使用黑箱建模的思想進行無參數回歸,將水動力與運動參數進行非線性的黑箱映射,可避免出現在系統辨識過程中水動力導數的耦合現象,從而提高預報精度。對于實船運動,黑箱建模便于討論Abkowitz模型外一些項的影響,例如已知高階項和未知項,且可隨著船舶運動建模理論的發展而對輸入因素進行擴展。

隨著機器學習和人工智能技術的發展,多種新的方法被應用在船舶操縱運動模型精度的改進上。HADDARA等[3]利用BP(Back Propagation)神經網絡對非線性水動力導數項構建黑箱進而預報船舶水面運動;蔡韡等[4]訓練徑向基(Radial Basis Function, RBF)神經網絡對船舶操縱運動進行預報;王雪剛等[5]使用LS-SVM在多組仿真數據下預報了四自由度船舶操縱運動,但未對核函數參數變化進行討論;梅斌等[6]采用模型參考和隨機森林模型對船舶操縱運動進行辨識建模;白偉偉等[7]運用一種基于全局最優的局部加權學習算法對船舶操縱運動進行黑箱建模;謝朔等[8]將多新息在線方法引入SVM辨識建模。SVM最早用于解決分類問題,顯然運動預報屬于回歸問題,此時其形式為支持向量回歸(Support Vector Regression, SVR)。

本文使用10°/10°、20°/20°Z形試驗和35°回轉試驗的少量仿真數據進行樣本重構,代入SVR黑箱模型進行訓練,通過網格搜索交叉驗證對核函數的選取以及參數的調整進行試驗,用所構建的黑箱模型較為準確地預報10°/10°、20°/20°Z形運動和35°回轉運動,驗證了該黑箱模型的有效性;基于該模型泛化預報15°/15°Z形運動和15°、25°回轉運動,將預報結果和仿真數據進行比對,驗證SVR黑箱模型應用于船舶操縱運動具有良好的泛化性。

1 操縱運動方程

船舶三自由度操縱運動方程為

(1)

將船體所受水動力進行泰勒級數展開,即式(1)可表示為

(2)

式(2)中:Xu、Yv和Nv為水動力導數;Δu為關于初始縱向速度的變化量。

將式(2)中所有加速度項移至左邊為

(3)

式(3)中:F1、F2、F3為關于運動參數u、v、r和δ的函數;等式左端除(角)加速度項外皆為常量,因此,各(角)加速度可表示為運動參數u、v、r和δ的函數,并將加速度項離散為差分形式

(4)

即:

(5)

式(4)和式(5)中:k和k+1為當前時刻和下一時刻;g1、g2、g3為u、v、r和δ的非線性函數,可使用黑箱模型表示非線性函數,在這個黑箱系統中,輸入{u(k),v(k),r(k),δ(k)}就可輸出{u(k+1),v(k+1),r(k+1)}。

2 SVR和網格搜索

2.1 SVR原理

對于式(5)所反映的函數關系,使用SVR建立預測模型。給定訓練樣本集D={(xi,yi),i=1,2,3,…,n},輸入為多維變量x∈Rm,輸出y∈R。此時多輸入單輸出(Multi Input and Single Output, MISO)系統模型為

yi=ωTxi+b

(6)

式(6)中:ω為權重向量;b為偏置值。

(7)

式(7)中:C為懲罰項系數。

(8)

(9)

(10)

(11)

C=αi+μi

(12)

(13)

將式(10)~式(13)代入式(9),得到SVR的對偶問題,有

(14)

(15)

式(14)和式(15)為凸二次規劃(QP)問題,存在最優解,常使用序列最小優化(Sequential Minimal Optimization, SMO)算法[10]進行求解,SMO算法的計算流程為

(16)

2.2 核函數與網格搜索交叉驗證

在處理回歸問題時只關注于結果的預測,并不關心過程中模型參數的大小。式(6)所反映的函數關系,明顯是線性函數關系。在機器學習領域,當提取的特征與預測目標之間呈現非線性關系時,往往使用核函數來對其進行高維空間映射,將線性學習器拓展為非線性學習器,這種思想稱為核方法。

常見的核函數有線性核函數、多項式核函數、RBF核函數和Sigmoid核函數等。對于船舶操縱運動模型,輸入變量與輸出變量之間明顯是非線性關系,且線性核函數不包含可調參數,故先確定以使用多項式核函數和RBF核函數為佳。試驗中多項式核函數的預測精度接近于RBF核函數,優先使用RBF核函數進行建模與網格搜索,而若RBF核函數不滿足所設定精度閾值時,則使用多項式核函數繼續尋優。以RBF核函數建立的SVR模型為

(17)

式(17)中:γ為核函數的尺度參數。

網格搜索法是一種遍歷式的參數尋優方法,把指定區間劃分網格,網格中每一個點都代表一種參數組合。將網格中包含的所有參數組合代入計算模型誤差,比較誤差大小,以得到最優參數組合。網格搜索交叉驗證是指以K折交叉驗證結果為尋優依據進行網格搜索。在網格搜索過程中,將數據集劃分成K個子集,每次將其中1個子集作為測試集,剩余K-1個子集作為訓練集進行訓練;依次代入每一個網格中的參數組合,使用訓練集構建模型,對測試集進行MSE計算;重復K次迭代,使每子集都曾作為測試集計算MSE,對K次MSE值求平均,作為最終評價網格搜索中參數組合優劣的依據,取交叉驗證誤差最小的參數組合作為最優結果。理論上,只要網格無限劃分,最終所找到的參數組合即為全局最優。

本文使用網格搜索法對核函數參數進行尋優,步驟如下:

1) 將(0.1,10.1)視為γ的取值區間,取值區間均分為10等份,取其所有端點值(每次11個點值)代入核函數,使用10折交叉驗證計算MSE,觀察數據走向,取誤差最小點,變量賦值為a。

2) 取p為已循環次數,以[a-0.5×10-p+1,a+0.5×10-p+1]為取值區間,均分為10等份,分別取其所有端點值代入核函數計算,使用10折交叉驗證取得誤差最小點,更新賦值為a。

3) 重復進行2),直到MSE小于規定精度,取MSE最小值作為RBF核函數的γ參數。取q為最大循環次數,如循環q次仍不滿足精度要求,分別使用三次和四次多項式核函數重復1),直到MSE小于規定精度。

SVR黑箱建??偭鞒桃妶D1。

圖1 SVR黑箱建??偭鞒?/p>

3 操縱運動預報

采用KVLCC2船型的CFD計算所得到的水動力導數,代入整體型操縱運動方程,對其三自由度的運動進行仿真,分別得到10°/10°,20°/20°Z形試驗和35°回轉試驗的運動數據,迭代步長皆為0.1 s,其中Z形試驗以4次轉舵操縱為限,35°回轉試驗以3 000 s為限。將以上仿真所得4組數據匯總等距抽取1%(共694個樣本)用作樣本數據。仿真模型KVLCC2的主要參數見表1。

表1 仿真船型KVLCC2的主要參數

在仿真生成的無噪聲數據中,松弛變量的懲罰項系數C對SVR結果幾無影響,取C=106表示回歸過程僅容許較小誤差;取ε=0.1,基于網格搜索法對γ參數和對應核函數類型進行尋優,并使用10折交叉驗證對應γ值所構建SVR黑箱模型的泛化性進行評估。在黑箱映射建立過程中,由于r量級較小,僅為u量級的萬分之一,使損失函數變化的敏感程度低,針對r的樣本輸入進行構造處理(構造方法見第4節)。使用黑箱模型預報10°/10°、20°/20°Z形試驗和35°回轉試驗的u、v、r,并通過以上預測速度值計算艏向角ψ與35°回轉試驗中的對地坐標x和y,見圖2~圖4。由圖2~圖4可知:本文建立的SVR黑箱模型可較為準確地預報船舶操縱運動。

4 樣本構造與討論

在黑箱映射建立過程中,由于r量級較小,僅為u量級的萬分之一,使損失函數變化的敏感程度低,直接使用原始樣本則無法構建r(k+1)關于自變量的映射關系,見圖5c~圖7c,需要針對r進行樣本構造。本文使用的樣本構造方法有兩種:

1) 第一種(簡稱構造1)是僅對樣本中r的因變量值擴大一定倍數處理,假設這個倍數為N,此時構建的映射反映的是N×r(k+1)關于原輸入自變量的關系。在預報過程中,在黑箱映射后除以該倍數N就可得到r(k+1)的預測值。

2) 第二種(簡稱構造2)是對樣本中r的自變量值和因變量值都擴大一定倍數,此時所構建映射反映的是N×r(k+1)關于輸入自變量{u(k),v(k),N×r(k),δ(k)}的關系,預報得到的N×r(k+1)除以該倍數便可得到r(k+1)的預測值。兩種樣本構造的黑箱模型間的區別見圖8。

分別使用構造1和構造2對船舶水面三自由度運動進行預報,見圖5~圖7。由圖5~圖7可知:兩種構造對于u和v的預報精度相當,但對于r的預報精度不同。使用構造1對10°/10°、20°/20°Z形試驗中r的預報更為精確,體現在ψ隨時間的變化上,表明r的時歷預報中誤差的積累小,而構造2對r的預報會使ψ計算隨時間不斷積累更大的誤差,導致數據偏離加大;對于35°回轉試驗,構造1對r的預報精度明顯不及構造2的預報精度。因此,在第3節中,優先使用構造1進行預報,而僅針對35°回轉試驗中r的預報使用構造2。

5 網格搜索作用可視化

SVR黑箱模型對船舶操縱運動可實現在小樣本下快速準確地預報。在網格搜索過程中,以35°回轉試驗的結果為例,見圖9,核函數類型的選取以及核函數取不同的γ值對預報精度產生明顯影響。系統篩選的尋優核函數類型和γ值及對應MSE見表2。

表2 尋優核函數類型、γ值及對應MSE

10°/10°、15°/15°、20°/20°Z形試驗和15°、25°、35°回轉試驗的預報精度采用10折交叉驗證的MSE來衡量,誤差值越接近于0表示預測結果越準確如表2所示。

6 泛化性驗證

鑒于第3節中SVR黑箱模型已對10°/10°、20°/20°Z形試驗和35°回轉試驗進行預報,現將該算法應用至15°Z形試驗和15°、25°回轉試驗的預報,以驗證SVR預報具有良好的泛化性。這里取倍數為100,對樣本作以下處理:在對15°Z形試驗的預報以及對15°、25°回轉試驗中的u、v的預報中,僅對樣本中因變量的r(k+1)擴大100倍(構造1);在預報15°、25°回轉試驗中的r時,對樣本中自變量r(k)和因變量r(k+1)都擴大100倍(構造2)。用第3節所使用數據集建立SVR黑箱模型,使用網格搜索交叉驗證對核函數的選取進行優化,預報了15°Z形試驗和15°、25°回轉試驗的u、v和r,并通過以上預測速度值計算ψ與回轉試驗中的對地坐標x和y,見圖10~圖12。由圖10~圖12可知:基于SVR的黑箱預報方法具有良好的泛化性。

7 結束語

本文開展基于SVR的船舶操縱運動黑箱建模研究,結論如下:

1) 通過10°/10°、15°/15°、20°/20°Z形試驗和15°、25°、35°回轉試驗預報結果與基于機理建模的仿真結果對比,驗證所建立SVR黑箱模型的有效性,并具有良好的泛化性。

2) 對于SVR黑箱的訓練樣本,需對其進行樣本構造,不同的樣本構造會對結果精度產生影響,其影響主要體現在對r的預報。2種構造的區別是:一種僅對樣本中因變量的r(k+1)擴大一定倍數(構造1);另一種對樣本中自變量r(k)和因變量r(k+1)都擴大一定倍數(構造2)。對r進行預報時,使用構造1對Z形試驗中r的預報較為準確,而使用構造2則對回轉試驗中的r預報更為準確。

3) 不同的核函數類型與核函數參數的選取,對黑箱映射功能存在顯著影響。RBF核函數具有較強的高維映射能力,一般使用RBF核函數建立模型就可滿足精度要求。本文以多項式核函數作為備選,在使用RBF核函數難以達到精度閾值時用多項式核函數替代并搜索尋優,大大減少循環次數,縮短計算時間。

4) 用SVR黑箱建模的方法對船舶操縱運動進行預報時,對參與訓練的操縱運動類型的預報不一定比泛化預報的運動類型更加準確,因為黑箱模型訓練的過程是無記憶的,目的是為搭建對于輸入輸出損失最小的模型。例如本文抽取了10°/10°、20°/20°Z形試驗和35°回轉試驗的694個樣本對進行模型訓練,對15°/15°Z形試驗和15°、25°回轉試驗進行泛化性預報時部分結果具有更高的準確度。

5) 在Z形試驗中,在對r的預報值隨時間進行積分從而計算ψ時,會出現誤差隨時間不斷積累的現象。分段訓練樣本、對船舶操縱運動進行在線預報等措施仍有提高預報精度的空間,值得下一步研究深入討論。

猜你喜歡
黑箱船舶網格
用全等三角形破解網格題
《船舶》2022 年度征訂啟事
拒絕黑箱
失蹤的黑箱
船舶!請加速
反射的橢圓隨機偏微分方程的網格逼近
BOG壓縮機在小型LNG船舶上的應用
重疊網格裝配中的一種改進ADT搜索方法
船舶壓載水管理系統
基于曲面展開的自由曲面網格劃分
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合