岳杰順 權曉波 葉舒然 王靜竹 王一偉,2)
?(中國科學院力學研究所流固耦合系統力學重點實驗室,北京 100190)
?(北京宇航系統工程研究所,北京 100076)
航行體出水過程中的出筒、水下航行階段,常常伴隨著自然空泡和通氣空泡的產生、斷裂、潰滅、壓力脈動等現象[1].形成復雜的汽液固耦合效應,對航行體載荷和運動的預測造成困難[2].劇烈的壓力脈動也很給航行體水下發射的穩定性及機動性帶來了極大的挑戰.因此對空泡的演化和壓力特征進行預測研究,對航行體的結構強度設計以及安全發射有著非常重要的意義.氣泡的膨脹、收縮以及脈動等動力學行為很大程度上取決于發射條件[3].實際工程需求中,在給定基本幾何構型和水深、壓差等初始條件下,需要能夠迅速獲得航行體的尾部壓力脈動響應,進而獲得彈道曲線[4].傳統的方法著重對整體過程進行實驗觀測或數值模擬[5-8],效率比較低,只適用于特定工況或機理研究,很難滿足工程中的彈道優化問題.
一些簡化的計算方法,例如勢流理論將回轉體流場速度勢看作一個隨回轉體運動的點源和位于空泡軸線處的線源的疊加,從而建立空泡波動預測的理論模型[9].攝動理論是在彈道擾動很小的情況下,用線性化函數逼近非線性函數,進行彈道的修正[10].這類簡化方法能夠在一定程度上提高空泡和彈道預測的效率,但是這類方法適用的情況有限.
近年來,隨著人工智能技術的發展,機器學習和神經網絡的方法在參數預測,流體模擬和特征提取等領域中逐漸廣泛應用.給定若干種構型或發射條件進行CFD 模擬,利用這些結果對神經網絡進行訓練,在優化過程中利用訓練好的神經網絡替代CFD 分析,可以迅速給出彈道或優化設計.魏倩等[11]提出了一種基于BP 神經網絡的中制導改進算法,預先離線訓練、學習,大大縮短了計算時間.邵雷等[12]利用BP 神經網絡對非線性函數的逼近特性,通過彈道數據庫訓練網絡,實現中制導彈道在線生成.吳朝峰等[13]提出了基于遺傳算法優化的BP 神經網絡,直接對外彈道落點進行了預測.張秦浩等[14]使用Q-learning 強化學習預測彈道,提高了制導精度.
宮兆新等[15]模擬了水下發射過程,表明通氣空泡和燃氣尾泡的形狀以及彈體運動軌跡會受到發射參數的影響.因此對神經網絡多參數識別和多目標優化的能力提出了較高的要求.深度學習模型由于所需的輸入數據集少,訓練效率更高,預測能力更好等特點,被廣泛運用到流體力學以及其他各類物理過程的建模和預測中[16].Tang 等[17]建立了基于殘差U-Net 和卷積長期短期記憶(LSTM)遞歸網絡的深度學習代理模型,并將其用于預測地質模型中的動態地下流動.Jagtap[18]采用物理信息神經網絡中進行回歸預測方程的解,獲得了線性和非線性偏微分方程的解的曲線.陳家揚等[19]利用深度學習網絡高效的特點實現了短期風功率預測,為調峰容量提供依據.李江等[20]提出一種將深度卷積神經網絡用于彈道目標微動分類的方法,實現目標預測.Wang 等[21]利用長短期記憶網絡從歷史軌跡中預測出民航客機未來的移動趨勢.這些例子充分說明可以基于數值模擬的結果,利用深度學習網絡的泛化性構建模型,具有預測航行體的水動力和彈道曲線的潛力.
此外,水下發射涵蓋的出筒、水下航行中的空泡斷裂、潰滅現象,造成壓力非線性的劇烈脈動.對于這種整體趨勢疊加強噪聲的數據,需要使用一些新的技術,例如多尺度、多分辨率網絡,使網絡能夠實現發射全過程的預測.同時要求神經網絡滿足一定的物理約束,而不是簡單的完全基于數據.目前有一些將這些新技術運用到其他領域的例子,Wang 等[22]利用代理模型進行多尺度建模,應用于材料力學中的動態變形,大大降低了計算成本和誤差.Wang 等[23]結合了深度學習技術和局部多尺度模型簡化方,法來預測多孔介質的流動動力學.Yang 等[24]提出了一種基于高斯過程回歸的多保真度方法,將物理系統的直接觀測視為高保真數據,而隨機輸出被視為低保真數據,重構了穩態傳熱問題的溫度場.Meng 等[25]將數據分解成線性和非線性部分建立模型,學習低和高保真度數據之間的復雜非線性相關性.這種多尺度預測的概念類似CFD 中廣泛采用的大渦模擬模型[26],對于大尺度的渦使用高分辨率的直接模擬,小尺度的渦使用模型來封閉.多尺度方法在具有強噪聲數據分析中也已經被廣泛使用,例如醫學信號分析[27],水輪機振動非線性信號分析[28].
本工作通過發射過程的數值模擬、氣泡演化的理論分析和深度學習的智能方法研究了空泡與航行體相互作用的問題,在模擬數據和理論公式的基礎上,提出了一種具有物理意義的多尺度深度學習模型.該網絡模型以一維卷積網絡為基礎,構建了一種編碼-解碼型網絡結構,通過不同的采樣頻率將原始數據劃分為大尺度和小尺度,進而訓練低保真度和高保真度的網絡.從而實現對不同物理過程的響應和捕捉.并通過測試和驗證說明給定不同發射條件下,該深度學習網絡模型能夠實現航行體受力特征的快速預測,從而為運動和彈道的預測提供依據.
本文采用的人工智能的深度學習網絡,需要采用數值模擬方法建立大量的輸入數據進行網絡的訓練.采用商業CFD 軟件Fluent 對發射過程進行動態數值模擬,將獲得的尾部峰值壓力曲線作為輸入數據和預測目標.此外,需要將發射條件轉化為相同維度的時序數據張量才能用于網絡的訓練.流場分析中不需過多考慮三維外形的流場細節,但是需要實現出筒過程的氣泡膨脹、收縮和斷裂等關鍵過程.
將計算的航行體模型簡化為圓柱回轉體構型,并將復雜的三維發射過程簡化為二維軸對稱問題.此外,由于僅研究尾部的壓力脈動,僅模擬尾部的通氣空泡,忽略肩部的附著空泡.采用動網格的動態層狀網格技術實現出筒過程和航行過程的剛體運動的過程,整個流場的網格均是四邊形單元.建立三個區域的網格,一個是周圍的靜止區域,另兩個分別是中間上下兩部分的變形區域,之間以interface 連接,如圖1.多相流物理模型采用VOF 模型,湍流模型采用k-ε RNG 模型,物理時間步長取dt=0.5 ms.

圖1 計算區域劃分Fig.1 Computational domain
由于發射參數對航行體水下運動的影響較大,所以需要綜合考慮發射速度、發射水深和出筒壓差對空泡的影響.背景壓力隨水深變化,給定發射筒內初始靜溫出筒壓差范圍.出筒初始速度范圍考慮到計算效率的限制,所取工況數量有限,但應該盡可能均勻的涵蓋目標范圍內的情況,使預測工況作為內插而不是外插條件,這樣更有利于獲得可靠的神經網絡具體的工況設置見3.1 節.運動加速度考慮了3 種情況,即零加速度、固定減速、隨速度變化減速.形成了共計108 組樣本的輸入數據.
現有的機器學習大多直接用作黑盒工具,對數據直接進行操作.為了使該深度學習網絡的訓練過程具有一定的物理性和泛化性,需要發展基于空泡演化的物理知識發現與特征提取.可以將氣泡演化的機理看作是物理過程未受干擾的線性過程[29],這一部分作為輸入引入網絡;而航行體和壁面的影響可以看作是非線性因素,這部分不通過理論模型處理,而只通過數據和網絡預測.因此對單氣泡演化機理進行探索,將獲得的氣泡內壓變化曲線,作為輸入數據,提供監督.
本文通過描述液體中球形空泡半徑隨時間變化規律的Rayleigh-Plesset 方程,獲得氣泡內壓

其中,R為氣泡半徑,ρl為液相密度,νl為液相的運動黏性系數,σ 為相間表面張力系數,pB為泡內壓力,p∞為背景壓力.pB初始值與筒內初始壓力相同,使用通過四階龍格庫塔方程求解R-P 氣泡方程式,得到該時間步的氣泡半徑R,令==0,可以得到該瞬時的泡內壓力,再將結果代入下一時間步的迭代.最終得到氣泡半徑和泡內壓隨時間變化的關系[30].
圖2 是數值計算的氣體體積分數.航行體出筒后在筒口形成一個逐漸膨脹的球狀氣泡.隨著航行體的運動彈尾氣泡被拉斷,斷裂后從中心形成一個回射流,將尾空泡鏟離壁面,尾流中的旋渦造成氣泡劇烈膨脹和收縮,使這個階段的壓力呈現脈動規律.證明結果符合文獻中非定常空化流的流動結構和機理[31].

圖2 數值計算的氣體體積分數Fig.2 Simulated vapor volume fraction
獲得基本流場后,對于不同的發射速度、深度和加速度條件需要將其轉化成適用于網絡輸入的參數化表達.例如速度隨時間變化的曲線、深度(轉化成背景壓力)隨時間變化的曲線.深度神經網絡進行數據訓練前訓練數據樣本需要進行歸一化或無量綱化處理,其目的是取消各維數據間數量級差別,避免因為輸入輸出數據數量級差別過大而造成網絡預測誤差較大.考慮到數據的物理性質,本文采用無量綱參數對原始數據進行無量綱化,速度和壓力的無量綱參數分別取U∞和.對神經網絡數據進行無量綱處理獲得的曲線如圖3.可以看出各通道的數據達到了近似的量級.

圖3 無量綱化后的輸入數據Fig.3 Dimensionless input data
卷積神經網絡憑借其局部連接、權值共享、下采樣等特性可以保留重要的參數,來達到更好的學習效果.二維卷積被廣泛用于處理圖像和機器視覺,而一維卷積通常用在處理文本中[32].處理文本的時候,通常卷積操作的卷積核kernel 的大小與文本中每個字符向量的長度相同.對于本文的數據,可以看成是一系列字符拼湊成的曲線,因此選擇通過一維卷積網絡來進行數據的預測.實際的網絡模型搭建中,在基于Keras 庫的TensorFlow 框架中通過Convolution1D 函數實現.
分別對上述初始條件的發射問題進行了批量的數值模擬.目標輸入共計108 組數據.從其中隨機取10%即11 組數據作為測試數據樣本,其余97 組數據作為訓練數據樣本.以速度曲線、背景壓力曲線以及理論公式的結果曲線構建108×400×3 的數組(網絡的通道數channel=3,總時間t=0.8 s,取值間隔dt=0.002 s),作為輸入數據的x;以底部峰值壓力曲線構建108×400×1 的數組,作為輸入數據的y.建立映射f(x)=y,通過神經網絡訓練尋找映射關系.深度學習網絡預測流程圖如圖4.輸入的數據分別為:底部壓力pbtm、運動速度U、理論結果prp、背景壓力pbg.建立映射pbtm=f(U,prp,pbg).進行網絡的訓練,導入新的一組進行預測,就可以得到新的.其中出筒壓差通過理論結果prp的初值體現.

圖4 預測流程圖Fig.4 Prediction flow chart
本文的網絡結構包含多層一維卷積,構成一種編碼器--解碼器網絡結構[33].編碼器的任務是在給定輸入數據后,通過神經網絡學習得到輸入數據的特征譜;而解碼器則在編碼器提供特征譜后,逐步實現每段數據的類別標注,也就是分割.可以解決卷積--全連接結構網絡的存儲開銷很大、計算效率低下、感受野太小的問題,提高預測精度.
本文采用的網絡如圖5,類似現在圖像分割采用的比較多的Segnet 和U-net,對輸入層使用三層一維卷積+池化進行編碼,再使用三層一維卷積+上采樣進行解碼.在典型的編碼器--解碼器結構例如FCN、U-net 等網絡中,都使用到了上采樣技術.該網絡可以接受任意尺寸的輸入數據,采用反卷積層和上采樣,使它恢復到輸入數據相同的尺寸.在卷積層之后設置池化層和上采樣層,能夠減小參數的數量和計算量,在一定程度上也控制過擬合.為了讓神經網絡學習復雜的非線性曲線,將非線性激活函數ReLU 應用于某些層.采用Adam 優化器訓練網絡,并采用反向傳播算法更新神經元.

圖5 本文的網絡結構Fig.5 The network structure
從模擬結果可以看出,尾空泡在壓差的作用下初始呈現出光滑膨脹的特點,底部壓力逐漸降低,比較類似氣泡方程式的規律.出筒后運行到一定時刻,尾部的低壓區導致空泡拉斷.斷裂后附著在尾部的空泡開始出現回射流和氣泡劇烈震蕩等現象,產生壓力脈動.該脈動的頻率相對氣泡膨脹和收縮的頻率非常高,在一定程度上給神經網絡的預測帶來了困難.因為網絡需要既能分辨氣泡膨脹和收縮的光滑性規律,即具有大尺度分辨率;又要能分辨脈動的頻率、幅值以及出現的位置等規律,即具有小尺度分辨率.因此,本文提出一種多尺度網絡模型,分別預測兩種特征,首先需要對原始數據進行一定的分解處理.
為了使輸入數據滿足多尺度的網絡結構,需要對數據進行前處理,將曲線拆分為大尺度的宏觀變化率和小尺度的瞬時脈動率.而且,基于實際經驗,彈道的位移是對壓力脈動產生加速度的二次積分,對瞬時突變的壓力脈動效應并不太敏感,所以可以將壓力脈動進行一定程度的簡化,這一點支撐了該方法的合理性.
在MATLAB 中對原始數據進行移動平均低通濾波,濾波窗口寬度N默認為5.對于本文數據中濾波器使用的原則是:盡可能使過濾后的曲線光滑,但保證不抹去基本物理規律.圖6 對比了不同窗口大小的過濾結果.通過FFT 運算將信號轉換到頻域.通過頻域的振幅譜可以看出,通過低通濾波器,高采樣頻率的振幅被截斷,壓力曲線的震蕩和毛刺被過濾掉,留下光滑低頻部分.默認的窗口大小的過濾結果并不令人滿意,通過嘗試多種N的取值(5,10,15,20,限于篇幅并沒有完全展示),取N=20 過濾后的壓力曲線比較滿足本文濾波器的原則,利于網絡預測.最終選擇的窗口大小為N=20.
曲線中可以看出,空泡斷裂前的光滑區域和斷裂后的高頻震蕩區域有很大的區別,如果使用一套網絡或一種超參數設置會很難捕捉到兩部分的特征.一種解決辦法是,將前半部分和后半部分斷開,分別采用兩種網絡.但是,這會導致壓力突變位置的尋找成為一個新的難題,而且兩段數據如何銜接也是一個挑戰.為了便于網絡的預測,該壓力曲線可以認為是一系列線性波的疊加,滿足信號的疊加原理.那么某處的振幅可以表達成幾個單獨波產生的振幅之和.因此本文創新的提出了一種多尺度網絡,對于全過程分別構建基準壓力曲線和脈動壓力曲線預測網絡,兩種網絡采用不同的尺度的分辨率,再將兩個網絡的預測結果疊加起來,得出最后的壓力曲線.具體做法如下.

圖6 不同窗口大小的過濾結果對比Fig.6 Filtered results of different window sizes
之前已經將底部壓力曲線進行了過濾,獲得了光滑部分的數據,將原始數據減去過濾數據則可以獲得脈動部分的數據.通過這個過程完成了特征的分解.對這組數據分別構建網絡1 和網絡2.如圖7 所示.
為了防止過擬合,同時提高網絡訓練效率,輸入數據后進一步對數據進行處理,對每組數據每M個點取一個樣本點,網絡1 擬合比較光滑的數據,因此M值取較大;網絡2 的數據細節更多,取M值較小.網絡算法示意和參數設置如表1.

圖7 數據的分解Fig.7 Decomposition of data

表1 網絡算法示意Table 1 Network algorithm framework
需要強調的是,網絡2 的輸入需要加入另一條曲線——底部壓力,這樣能使網絡準確識別壓力突越位置,提高網絡預測的能力.完成預測后通過插值,將網絡2 的結果附加在網絡1 的結果之上.實際操作中,當無量綱脈動幅值超過0.005 時,則添加脈動量.
圖8~圖10 分別是不同初始速度、出筒壓力和深度的數值模擬壓力曲線.可以看出,發射初始階段壓力變化比較光滑,隨著氣泡膨脹,壓力開始下降.到一定程度后,空泡開始收縮,壓力上升.收縮到一定程度空泡的形態無法維持,產生斷裂.斷裂后產生劇烈的壓力震蕩,振蕩的頻率非常高,隨著時間發展,壓力脈動逐漸衰減,幅值逐漸降低.
不同的發射條件對底部壓力曲線的影響比較大,具體有以下規律.在不同初始速度下,光滑階段空泡膨脹速率不同,空泡斷裂時間不同,斷裂后峰值壓力不同.不同出筒壓差下,初始壓力不同,空泡斷裂時間不同,斷裂后震蕩幅值不同.不同筒口深度下,光滑階段空泡膨脹速率不同,空泡斷裂時間不同,斷裂時的壓力值不同.這些規律與文獻[8]中的結果類似,證明了本文數值模擬結果的可靠性.

圖8 不同初始速度的數值模擬壓力曲線Fig.8 Simulated pressure curve at different U0
圖11 顯示了單尺度網絡預測的隨機測試結果,圖中的模擬結果顯示采用網絡1 的分辨率(即向量維度為80).可以看出,光滑階段的網絡預測結果和數值模擬結果比較接近,可以大致預測出不同發射條件下的變化規律,也能大致分辨出壓力突變的位置.但是無論如何調整網絡參數,也無法分辨出壓力脈動的特征.此外,由于網絡壓力脈動效應的擬合,又會使得光滑曲線階段產生鋸齒狀的微小波動,產生過擬合,使預測精度降低.說明單個網絡的預測能力受限于同一尺度的分辨率,很難同時對兩種分辨率的數據同時處理.說明了本文提出的多尺度網絡的必要性.

圖11 單尺度網絡預測的壓力曲線結果Fig.11 Test results for single-scale network
圖12 是采用多尺度網絡模型后,網絡1 的隨機測試結果,可以看出,網絡1 對光滑曲線的預測有很好的效果,能夠預測不同發射條件帶來的影響規律,而且對壓力突變的位置和突變后曲線的整體走勢都能進行很好的預測.


圖12 網絡1 的隨機測試結果Fig.12 Random test results for network 1
圖13 是網絡2 對震蕩的隨機測試結果,可以看出,網絡2 對震蕩的頻率和幅值都能獲得很好的預測結果,而且可以獲得小幅度震蕩的內在規律.

圖13 網絡2 的隨機測試結果Fig.13 Random test results for network 2
圖14~圖16 是網絡1 和網絡2 的結果疊加的最終預測結果,可以看出,對于任何發射條件,不同初始速度、出筒壓差、深度,疊加后的多尺度網絡(ML-multi)都能獲得很好的預測結果.無論是光滑曲線、壓力突變的位置、震蕩的頻率和幅值都和數值模擬的結果吻合很好.網絡2 對整體的預測結果有大幅度的提升,使得整個深度學習模型能夠預測壓力震蕩頻率和幅值的能力.此外,整體曲線的走勢和突變位置取決于大尺度網絡的預測能力,而脈動的頻率和幅值取決于小尺度網絡的預測能力.圖15(b)結果中,深度學習未能預測出第一個峰值,經觀察發現該處的震蕩頻率較高,在網絡輸入數據處理階段,該峰值被過濾掉.因此在數據處理時,可以根據實際情況調整過濾窗口的大小,或者利用幅值判斷該處分量是否應該被過濾,獲得更精確的預測.后期可以分別對兩個網絡進行進一步優化,繼續提高預測的精度.
不同初始速度的預測結果如圖14 所示.


圖14 不同初始速度的預測結果Fig.14 Prediction results at different U0
不同出筒壓差的預測結果如圖15 所示.

圖15 不同出筒壓差的預測結果Fig.15 Prediction results at different dp

圖15 不同出筒壓差的預測結果(續)Fig.15 Prediction results at different dp(continued)
不同深度的預測結果如圖16 所示.


圖16 不同深度的預測結果Fig.16 Prediction results at different depths

圖17 測試集與CFD 結果的平均絕對誤差Fig.17 MAE of test set

圖18 測試集與CFD 結果的均方根誤差Fig.18 RMSE of test set
圖17 和圖18 分別給出了一個測試集(11 組測試樣本)與CFD 結果的平均絕對誤差(MAE)和均方根誤差(RMSE),對單尺度網絡和多尺度網絡進行了對比.平均絕對誤差相當于L1范數,均方根誤差相當于L2范數.可以看出,本文提出的多尺度網絡在平均絕對誤差上和單尺度網絡比較接近,并在一些樣本中獲得了誤差較小的結果,說明了基礎光滑曲線預測的合理性,也證明壓力脈動的添加并不會降低整體的預測精度.多尺度網絡在誤差上和單尺度網絡相比提升并不太明顯,說明本文提出的網絡模型通過引入物理約束,已經能夠滿足大尺度情況下的壓力預測.而小尺度網絡在此基礎上發揮了錦上添花的作用,為壓力預測曲線添加了脈動效果.均方根誤差上,多尺度網絡在大部分樣本中也比單尺度網絡的結果好,說明這種網絡模型對數據所有區域的預測水平都相當,優化了脈動部分的預測.
圖19 給出了某一個預測樣本的頻譜對比.可以看出,單尺度網絡過濾掉了高頻脈動的振幅譜,因此無法體現壓力脈動的細節.而多尺度網絡可以預測出高頻振蕩的趨勢,而且在中頻區域的振幅與原始數據比較接近.證明了本文提出的多尺度網絡具有對壓力脈動預測的能力.

圖19 某一個預測樣本的頻譜對比Fig.19 Spectral comparison of a prediction sample
本文通過對航行體發射和水下航行的動態數值求解的和空泡演化理論機理的研究,建立了深度學習預測模型的輸入數據庫,提出了一種多尺度深度學習神經網絡,并對其進行了訓練和驗證.
數值模擬結果顯示,底部壓力曲線的計算符合物理規律.初始階段壓力變化比較光滑,隨著氣泡膨脹,壓力開始下降.到一定程度后,空泡開始收縮,壓力上升.收縮到一定程度空泡的形態無法維持,產生斷裂.斷裂后產生劇烈的壓力震蕩,振蕩的頻率非常高,隨著時間發展,壓力脈動逐漸衰減,幅值逐漸降低.發射條件對空泡的發展和底部壓力影響比較大.會導致不同的空泡膨脹速率、空泡斷裂時間、斷裂后震蕩幅值等.
單尺度網絡預測的壓力曲線結果,可以大致預測出不同發射條件下的規律,也能大致分辨出壓力突變的位置.但是無論如何調整網絡參數,也無法分辨出壓力脈動的特征.突顯出了本文提出的多尺度網絡的必要性.
本文提出的具有物理意義的多尺度網絡在數據較少的情況下,對于多種常見的發射初始條件,網絡都能獲得很好的預測結果.無論是光滑曲線的走勢、壓力突變的位置、震蕩的頻率和幅值都和數值模擬的結果吻合很好,從而實現對不同物理過程的響應和捕捉.今后的研究中可以分別對兩個網絡進行進一步優化,繼續提高預測的精度.此外,擬將外延參數的預測作為進一步的研究方向,提高網絡的泛化能力.