葉舒然,張珍,王一偉,黃晨光
1. 中國科學院 力學研究所 流固耦合系統力學重點實驗室,北京 100190 2.中國科學院大學 工程科學學院,北京 100049
特征識別作為一類通用的數學物理問題,由于自身的復雜性,一直是一個需要解決的熱點問題。其中,降階模型(Reduced Order Models,ROM)作為一種特征識別方法,已被證明是減少完整動力學系統的復雜性和大尺寸的強大工具[1]。在流體力學領域,本征正交分解(Proper Orthogonal Decomposition,POD)方法作為一種基于模態分析的典型降階方法,能夠針對流場的識別問題捕獲不同的流動特征[2]。Berkooz等[3]開始將POD方法用于湍流中,Ravindran[4]提出了使用POD降階的方法進行流動控制。Wu等[5]構建了基于POD方法的外形優化方法。除了POD等模態分解的降階模型方法以外,針對渦旋辨識,Dubief和Delcayre[6]提出基于Q2不變量的Q準則能夠顯示出很好的相干渦旋, Xiong和Yang[7]提出了渦面場構造算法。這些傳統方法均取得了一定的成果。
隨著計算機和大數據領域的發展,近年來深度學習在語音識別[8]、圖像識別[9-12]、自然語言處理[13]、自動駕駛[14]等方面的應用有了飛速的發展。這種背景下,流體力學領域也逐步開始了一些深度學習應用的嘗試。早期主要是一些關于湍流中雷諾應力閉合模型的嘗試,Tracey等[15]利用單隱層的神經網絡擬合雷諾平均納維-斯托克斯(Reynolds Averaged Navier-Stokes,RANS)湍流模型;Ling等[16]提出使用嵌入伽利略不變性的多層網絡預測雷諾應力張量;Wang等[17]從高保真直接數值模擬(DNS)數據中基于機器學習方法重建了RANS模擬的雷諾應力中的差異;這些在高保真數據驅動下借助神經網絡對雷諾應力進行建模的方法提高了原始模型的精度[15-18]。湍流建模中成果的積累也啟發了流體力學中其他問題和深度學習結合的嘗試,包括降階建模、實驗數據處理、形狀優化[19-20]和控制等[21]。這些問題也可根據算法進行分類,例如以長短期記憶網絡(Long Short-Term Memory,LSTM)為代表的循環神經網絡(Recurrent Neural Network,RNN)的時序模型在結構的動態響應[22],流體流動的時間演化[23]等。
流場識別作為流體力學一個專門研究問題,近年來也在理論驗證、建模、優化等應用上和深度學習結合。以卷積神經網絡(CNN)為首的深度學習網絡模型能夠對流場進行較好的特征識別與降維操作。降維后的特征在能夠進行量化和可視的同時,也經常被用于預測和優化最佳設計等問題中。需要大量仿真來分析模型參數的原始問題經過了特征識別和降維操作后能夠在極大地提高計算效率的同時保持一定的精度。此外,對于生成類問題應用而言,生成模型的輸入采用的是特征信息。例如,以U-net為代表的網絡結構中,原始輸入經過多層卷積后得到的特征同時作為生成模型的輸入信息,而并非簡單的數據下采樣。這種基于流場特征的生成類模型為分辨率提升等應用提供了依據。含有卷積神經網絡的流場識別模型在不同類型的應用中均起到了關鍵的作用,在計算量和精度方面體現了巨大的優勢。
深度學習的發展帶來了神經網絡種類的不斷提升,其中卷積神經網絡是一類適合對網格數據進行處理的算法[24],目前已經很成熟地應用在圖像識別等領域。卷積神經網絡主要是由卷積層和其他連接層構成,其中卷積是一種加權平均的數學運算,權重函數為w的表達式通常表示為
s(t)=(x*w)(t)
(1)
式中:卷積中的函數x通常被稱為輸入;函數w被稱為核函數。在實際操作中,考慮到離散項以及用于二維卷積運算的二維核,該表達式可以寫為
s[i,j]=(I*K)(i,j)=
∑m∑nI[m,n]K[i-m,j-n]
(2)
式中:I為二維圖像輸入;K為二維的核。
對于傳統全連接網絡,每一個輸出單元都與輸入單元通過參數形成交互,而對于卷積神經網絡,由于核(Kernel)大小遠小于輸入大小,因此帶來了卷積神經網絡中稀疏連接和參數共享兩項改進。等變表示則是通過池化層(Pooling Layer)實現系統的另一項效率改進。池化操作使網絡的輸出被相鄰輸出的總體統計特征所代替,例如最大池化(Maxpooling)操作提供了目標位置范圍內的最大值。
基本卷積層以不同的規模和方式相連接,發展出了許多不同的經典網絡模型,例如AlexNet[9]、GoogLeNet[10]、VGG[11]、Resnet[12]等。除了網絡本身的架構以外,訓練時的梯度下降等方法以及超參數的選取也對模型結果有著重要的影響[25]。這里對上述網絡細節不做過多關注,只從網絡層基礎類別的角度進行分類討論。
如圖1所示,文中所涉及的網絡都是由卷積模塊和不同的后續網絡結構構成的。在上述及后續的討論中可以明確卷積層在整體網絡中起到特征識別的作用。流場信息經過卷積層的卷積操作得到流場特征,因此對于含有卷積網絡的結構模型,可認為是帶有與特征識別相關的部分。不同通路之間的區別來自后續網絡層對提取出特征信息的處理,因此網絡劃分成以下3個主要結構:① 流場提取出的單個或多個并列信息,認為是所提取出的特征降階;② 特征和所關心的流場信息通過網絡聯系,形成映射,達到通過流場對關心量的預測;③ 借助U-net等網絡結構先對特征進行提取,但與此同時更關注將網絡從低分辨率映射產生高分辨率的輸出部分,是一類生成類的問題。以上這些問題中卷積層都起到了非常重要的作用,不同的網絡結構使得對卷積提取的特征的擴展研究十分全面。
圖1 基于卷積模塊特征識別的各類網絡結構Fig.1 Architecture of different networks based on convolutional model for feature detection
根據上述對網絡結構的分類討論,下文分別從不同的網絡結構對流體力學中包含特征識別模塊的3類問題進行介紹。第2節介紹了流場識別問題中作為基礎的特征識別和降階模型的構建;第3節介紹了以一維流場特征量為代表的流動預測和優化類問題;第4節概述了目標為高維數據的流場數據的生成類問題;第5節對本文進行了總結,對重點問題進行了進一步的思考與討論,同時提出了對未來研究的展望。
在流體力學中,特征識別是受到廣泛關注的一類問題。現有的特征識別方法主要是通過局部場數值的識別,這些方法存在一定的局限性,以Q準則為例,其識別結果受主觀閾值影響較大。
除了上述傳統方法,近年來流場特征識別研究也開始出現部分基于深度學習的方法。Liu等[26]使用了一種基于CNN的激波檢測方法,使得最終的網絡能夠找到激波位置。該方法與之前Lovely和Haimes[27]未使用深度學習算法的工作相比,在計算時間上有了較大的提升。Zhang等[28]基于CNN實現了具有快速響應的瞬態流動狀態識別,可以立即識別出分離流等區域,識別精度高達94%。魏曉良等[29]提出了一種基于CNN提取特征結合LSTM學習時序信息的空化識別方法,準確率高達99.5%。Strofer等[30]提出了一種基于R-CNN的流場識別特征方法,通過流場中對網絡的訓練,在二維流動中的回流區域和邊界層,和三維流動中馬蹄渦的識別上都得到了成功的應用(圖2)。這種數據驅動的特征識別方法能夠很好地利用其泛化能力,相較于基于給定物理準則的識別方法而言能夠更好地檢測出未知特征。可以認為,基于深度學習的特征識別方法在精度和時間層面上都存在一定的優勢。
圖2 訓練算例和結果[30]Fig.2 Training cases and results[30]
深度學習方法在流場識別問題上能夠有成功的表現歸因于深度學習能夠正確地對流場進行特征提取。流場特征識別作為一種降階方式,一直是流體力學中關注的問題,多年來已經進行了一定的研究。目前應用于流場特征的降階方法除了以Volterra級數模型[31]和ARMA模型[32]為例的基于信號的降階方法外,基于流場特征模態的POD也是主要的降階策略[33]。POD方法在翼型流場等方面有著豐富的應用[34-36],也有著一系列的擴展和新穎的降階策略,被許多案例證明是一類成熟的方法。
由于POD在降階方法中的出色表現,一些流場識別問題中考慮到使用以POD為代表的模態分解與基于深度學習的回歸分析相結合的方法。Liu和Wolf[37]提出了通過POD的流動模態分解以及深度前饋神經網絡(Deep feedforward Neural Network, DNN)進行的回歸分析方法,這種適用于不穩定可壓縮流動ROM的構造方法證明了深度學習參與構造ROM的魯棒性。Wu等[38]同樣通過正交分解生成流場的基函數作為流場的低維特征,而作為卷積神經網絡的變體之一的時間卷積網絡(TCN)用于對低維特征進行時間序列建模,這種模型簡化方法在圓柱繞流的算例中的計算時間相較于傳統數值模擬減少了3個數量級,證明了該方法的高效性。Miyanawala和Jaiman[39]同樣用正交分解技術將數據投影到低維的空間后,利用CNN中帶有非線性激活的線性卷積層自動提取低維的特征的優勢,預測下一時間步下流場POD的時間系數,證明了該類方法在長期流場預測的穩定性。可以認為,深度學習網絡的參與使得原始方法中魯棒性、高效性和穩定性得到了提升。
上述降維和動力學相結合的方法雖然涉及了深度學習的使用,但更多的是利用了深度學習算法回歸分析的能力,流場的低維表示則是由POD等傳統方法完成。從深度學習自身的角度出發,以CNN為首的神經網絡本身已經是一類能夠進行圖像識別的算法,本文不滿足于借助傳統方法的處理而是思考單獨的深度學習方法是否也能達到特征識別的效果。
Renganathan等[40]采用深度神經網絡構造了降階模型,這種方法能夠以更小的計算代價達到相同的精度,這也是使用神經網絡降階的重要特點。注意到文中采用的方法是帶物理約束的,不過更多情況下早期深度學習方法利用的是數據驅動思想。Wang等[41]使用神經網絡構建了對細網格到粗網格解的特征的映射,多層神經網絡利用激活函數識別并選擇最重要的多尺度特征。Pawar等[42]提出了一種數據驅動下的流體降階建模框架,結果表明基于DNN的模型能夠較好地數值預測動態系統的演化,同時也提出了對于復雜流動的降階建模的思考。由于作為模型識別階段的POD可以類比淺層自動編碼器,所以深度神經網絡在不依靠POD進行前處理的情況下依然能夠提供高維數據的簡單表示。DNN也可以從snaphsot數據中學習潛在的低維流形[43]。Han等[44]將深度學習技術用于流線的特征學習。基于編碼解碼網絡提出的FlowNet,能夠學習到流線和流面的潛在特征。
含有編碼解碼的基礎自動編碼器是由全連接網絡構成的。在上述的工作中雖然被證明具有一定的特征識別能力,但對于復雜數據而言,一維的全連接層不能發揮出較好的作用。因此,在網絡結構中引入卷積層能夠使網絡更好地學習到數據的復雜表示,同時卷積網絡自身的參數共享的特點也能夠使得網絡需要學習的參數減少。Omata和Shirayama[45]提出了一種流場空間結構的低維特征表示方法,使得非定常流動在特征空間可視化。Fonda等[46]將Rayleigh-Bernard對流中的數據通過U-net將數據壓縮了5個數量級。Lore等[47]證明了堆棧卷積自動編碼器能夠為動態網絡提供較LSTM網絡更好的分布。Kim和Günther[48]利用卷積神經網絡進行了過濾和特征提取兩個步驟,顯示了深度學習在預處理和特征提取兩個方面組合中的巨大潛力。從另一個角度考慮,對于深層DNN而言,用于類比POD的淺層編碼和回歸分析從網絡結構上難以區分,而卷積神經網絡除了參數上的特點以外,另一個因素更是卷積算子(過濾器)在算法上能進行特征提取的優勢。
對于CNN能夠進行特征提取的過程,圖像識別領域從卷積過程可視化的角度給出了說明[49],認為訓練過程中特征能夠對特定特征圖(Feature Map)進行激活。此外,從流體力學角度同樣給出了對CNN特征降階結果十分巧妙的理解方式。Murata[50]提出了使用卷積神經網絡對流場進行分解,并且把分解的結果和POD算法進行對比,發現經過卷積網絡分解的流場包含多個POD模態中的正交基(圖3)。同時,模式分解卷積神經網絡(MD-CNN-AE)中由于非線性激活函數的使用,使得MD-CNN-AE的重構誤差比POD低。因此認為帶有CNN的分解比標準的POD算法具有更低維度的特征提取能力,同時在可解釋性上也得到了一定的驗證。
圖3 POD、MD-CNN-Linear和MD-CNN-tanh 分解的流場[50]Fig.3 Decomposed flow fields with POD, MD-CNN- Linear, and MD-CNN-tanh[50]
流場經過卷積提取出特征之后,一個重要的關于特征的深層次運用是將其和流場一維關心量相聯系,例如從流場速度場中卷積得到的信息與流場結構的表面壓力系數關聯,以達到后續預測以及帶目標優化的目的。
在許多數據科學的領域,深度神經網絡都被證明具有學習變量之間復雜非線性關系的能力。Hadikhani等[51]從圖像的角度出發,基于深度神經網絡通過觀察液滴形成的過程預測出了流速和濃度的流場信息。Tenney等[52]使用DNN網絡,構建了一個對于超聲速射流的遠場的壓力波動的預測網絡,能夠成功預測遠場定向總聲壓級(OASPL)且在平均水平上優于傳統的模型。
對于許多流體問題而言,CNN在具有同樣預測能力的同時,比其他網絡具有一定的優勢。Chang和Dinh[53]利用不同的深度學習模型進行了熱流體仿真中的預測,除了不同物理集成機器學習框架的區別研究之外,文中強調相較于前饋神經網絡,基于CNN的閉合模型具有更高的可預測性。Fukami等[54]加上了與隨機森林和支持向量回歸的機器學習算法對比,在考慮的二維或者三維流動問題中,卷積神經網絡的超分辨率分析能夠應對大數據中維度災難。因此,在利用深度學習方法時,對于所需要探索的流體動力學問題,考慮選擇正確的網絡模型是優化準確度和降低計算成本的關鍵。
對于根據已知幾何外形預測速度場或壓力系數類的問題,CNN的結構表明它是一類符合流體參數預測需求的算法。一個主要原因是由于CNN借助能夠特征識別,把握流場中更主要的信息。Miyanawala和Jaiman[55]采用卷積對鈍體的幾何形狀進行了操作,得到形狀與流體力之間的映射,表明了基于CNN 的學習能夠以少量的輸入輸出精確捕捉與流場力有關的特征。Bhatnagar等[56]證明了CNN能夠在最少的監督下自動檢測基本特征,因此,在給定雷諾數、攻角和翼形的情況下能夠有效預測氣動流場中的速度和壓力場。Ye等[57]從速度場信息中得到流動特征,在不同的流動工況之間進行遷移學習,能夠在維持精度的同時大大縮短網絡訓練時間,為算例的推廣和泛化提供參考。對于在時間序列上的波動,CNN同樣能夠以卷積的方式學習到其在時間序列上的特征。Jin等[58]通過對圓柱體表面壓力系數波動時空信息的捕捉,建立了圓柱表面壓力脈動和其周圍速度場的映射成功推測出尾流的速度場。結果表明,基于CNN的Cp-u模型預測的尾流速度和渦量與CFD所獲得的速度和渦量具有很高的一致性(圖4)。
圖4 不同雷諾數的模型預測值與CFD結果之間的瞬時流量比較[58]Fig.4 Comparisons of instantaneous flow fields between model predictions and CFD results for various Reynolds numbers[58]
泛化性能是監督學習中一直需要關注的問題,即對于在訓練數據之外,模型能否在更廣泛的流動條件下依舊表現良好。Zhu等[59]在訓練和測試數據的泛化性能時考慮改變攻角和馬赫數及內插和外插的情況,預測的渦流黏度、升阻力系數都與原始SA模型的結果非常吻合。Thuerey等[60]采用基于CNN的U-net網絡對計算壓力和速度分布的準確性進行了評估,所獲得的最佳模型在未知機翼上的誤差小于3%。進一步,在涉及變外形的泛化性能討論預測類問題中,需要強調的是CNN另一個重要優勢是由于其網絡結構能夠輸入二維或高維數據,因此使得流場幾何外形能夠直接參與網絡輸入,而不需要經過預先參數化的處理,為學習復雜的幾何外形提供了靈活性。Hui等[61]借助使用符號距離函數(Signed Distance Function,SDF)[62]來表示機翼的幾何形狀,結合CNN提取預測壓力分布的能力。經過訓練的網絡可以精確捕獲來自未訓練機翼的沖擊波,誤差結果小于2%,并且比CFD仿真快3個數量級。Sekar和Khoo[63]采用CNN從機翼形狀中提取幾何參數并通過全連接網絡預測流場,同樣探索了深度學習方法對大量翼型的流場預測能力。當前基于CNN的參數化方法可以直接應用于3D通用幾何體,并且隨著機翼樣本數量的增加,泛化性能得以提高。
設計評價和優化問題一直以來都是CFD工程領域關注的焦點之一,而CFD實時模擬帶來的復雜的計算量也一直是存在的問題。如果能夠建立一個在輸入輸出之間的簡化模型,即時預測流場流動情況,將會大大加速工程設計上的形狀參數等的優化。
對流體在物體周圍流動的評估時,考慮到基于數據驅動的深度學習方法在預測流場系數等問題上取得的成果,在外形設計上通過估算速度場成功對汽車外形進行更新[64-65],這種參數化的方法可以對設計和啟動優化進行交互,對學習流動的響應十分快速。Guo等[62]同樣認為通過CNN構建的計算流體動力學模型能夠用于設計早期階段,提供以犧牲一定精度為代價的快速流動性能反饋。結果表明卷積神經網絡模型比CFD求解器的速度快2~4個數量級。對于其他拓撲結構,CNN同樣能夠借助設計空間的網格描述使用卷積的方式尋找其特征,并對選擇的目標函數進行合理的優化。Gaymann和Montomoli[66]通過深度神經網絡和蒙特卡洛樹搜索的算法進行了學習,使管道入口和出口之間的壓力損失最小化。
Sekar等[67]提出了使用卷積神經網絡形成反向設計的方法,可以有效地從壓力分布獲得機翼形狀。具體而言,CNN能夠從新的壓力系數分布產生無需參數化的翼型幾何形狀,同時生成的翼型形狀非常接近相關的翼型,對未知的測試樣本也體現出了良好的泛化性能。而這種基于CNN的逆設計方法非常通用,在考慮雷諾數或迎角影響下的問題上同樣值得進一步探索。Cunningham和Tucker[68]同樣摒棄了設計空間參數化的概念,針對設計概念在應用環境中的性能問題,提出了一個驗證神經網絡(VNN),能夠僅根據設計圖象預測生成模型在環境中的設計性能,同時以較高的準確率估計生成的設計在測試中的可靠性,而無參數化的思想也使得該方法更容易推廣到其他通用的外形設計問題。
需要強調是目前基于CNN的無參數化方法在涉及實時機翼設計的工程任務中,更注重基于該方法的快速性以及與整體環境耦合的流程完整交互,而不過多強調結果的精度,所以被認為可以用于設計的早期階段。目前受到網絡的限制,無參數化的深度學習在反向設計上仍然存在著一定的誤差,單純依靠無參數化的深度學習很難滿足一些精細化的外形設計需求。此時需要考慮將設計空間參數化并結合傳統CFD求解對設計后期的外形進行最終優化調整,因此目前無參數化思想很難單獨地運用在該類問題中。
雖然目前該方法不夠完善,作者認為無參數化思想仍然是未來值得研究的方向之一。依照用戶經驗選擇的形狀參數始終會是多數設計優化問題中魯棒性和可靠性的主要障礙[69],而無參數化的方法理論上能夠減少人工干預的數量,進而提高逆設計的準確性。可以認為隨著深度學習的發展和計算能力的提升,無參數化的方法能夠在外形設計中體現出一定的優勢。
某些問題中所研究的流場是用一維特征量進行描述的,例如上文中涉及的壓力系數等的預測。但存在一些情況更希望獲取場的數據,這些數據如果使用一維矩陣雖然能夠重排成二維或高維信息,但會損失空間位置的內在特性。因此在這種情況下,這些問題中需要考慮直接的二維或高維輸出。在以U-Net為基礎的生成類問題中,特征可以作為生成模型的輸入;而另一類以生成對抗為思路的問題中,無論是生成網絡中的反卷積操作,還是判別網絡中的卷積與輸出,都涉及了流場特征識別的運用。
4.1.1 流場分辨率提升
圖5 動能譜和重構的各向同性湍流場和DNS數據的歸一化速度梯度p(Z)的概率密度函數[70]Fig.5 Kinetic energy spectra and probability density functions of the normalized velocity gradients p(Z) of the reconstructed isotropic turbulent flow fields and corresponding DNS data [70]
除了對理論的驗證探索和實驗技術的精度提升,高分辨率流場的一個重要部分是對仿真模塊中流場的處理。Chu和Thuerey[72]使用卷積神經網絡從流體數據(如煙氣密度和流速)生成特征描述子,并在學習到的描述子的幫助下提高流體模擬分辨率。Fukami等[73]中使用帶有混合下采樣的多尺度卷積神經網絡重建高精度流場。使用二維圓柱繞流和二維均勻湍流作為測試案例,證明了標準CNN和混合模型均能夠重建層流和湍流,進一步考慮通過粗糙流場作為輸入重建更高精度網格規模的結構。Ferdian等構造的4DFlowNet[74]同樣能夠模擬實際超采樣的4D流動圖像。快速計算的應用十分廣泛,除了醫學中的流動成像問題,電影等視頻領域也希望能通過流體的快速計算達到逼真的視覺效果。
4.1.2 流動快速計算和泊松方程求解
高分辨率流場生成的一個重要實現方式則是對流場的快速計算。傳統CFD求解時需要從動量方程得到速度的預測項,然后代入能量方程中求解泊松方程。但令人遺憾的是,CFD中泊松方程的求解占到了整個方程組求解的絕大部分計算成本,大大制約了CFD的發展。因此希望借助深度神經網絡加速泊松方程的求解。
涉及快速計算生成的應用問題主要分為兩種不同的研究思路。一類主要被認為是基于數據的方法。Yang等[75]使用神經網絡作為投影方程的求解器,即使在大規模數據的運算中有一定的優勢,這種數據驅動的投影方法對數據的依賴性很強,泛化能力比較弱。
不同于Yang等的監督學習,Tompson等[76]探索了一種無監督的網絡模型。方程的信息作為無監督的訓練損失嵌入在網絡中,在這樣一個基于規則的框架下,能夠提高整個方程的求解的長期穩定性,見圖6。
圖6 羽流模擬[76]Fig.6 Plume simulation[76]
上述問題都針對特定應用網格和邊界條件,對適用范圍有了一定的限制。Ozbay等[77]通過將原始泊松問題分解為齊次泊松問題以及4個不均勻的拉普拉斯子問題,使用新穎的方法來處理邊界條件。這種方法能夠在任意Dirichlet邊界條件和網格參數的情況下推導Poisson方程的全卷積神經網絡架構,能夠以較高的精度預測泊松問題的求解。在更密集的網格時也能夠捕獲關鍵解決方案特征,提出的模型為通過機器學習加速泊松方程的求解同樣提供了堅實的基礎。
從偏微分方程的角度同樣能夠對卷積神經網絡的物理特性做出說明。Long等[78-79]提出的PDE-NET中認為卷積神經網絡中的卷積算子與偏微分方程中的微分算子近似,因此使用可學習的濾波器能夠使得長時間動力學的預測更具有魯棒性。同時,對施加的約束有助于確定PDE中包含的微分算子,進一步識別非線性響應函數F。
4.2.1 生成對抗網絡原理
生成對抗網絡(Generative Adversarial Networks,GANs)最早由Goodfellow等[80]在2014年提出,隨后逐漸涌現出了許多應用,包括人臉生成[81]、圖片風格遷移[82]、圖像超分辨率[83]等。
生成對抗網絡是由生成模型和對抗模型所組成的,生成器是輸入的隨機簡單分布xfake=G(z),而判別器的作用是判斷自身的輸入樣本是真實的還是由生成器生成的假樣本,D(G(z))。優化目標函數為
Ez~Pdata(z)[lg(1-D(G(x)))]
(3)
訓練過程也是兩個網絡博弈的過程。
4.2.2 生成對抗網絡與嵌入物理信息
流體力學中也開始出現基于GANs的流場重構或預測工作。Farimani等[84]認為相較于人工神經網絡模型近似本構方程的解的方法,GANs更能夠直接跳過基本控制方程的ANN擬合,直接生成偏微分方程的解,從而對于任意邊界條件下的溫度、速度和壓力場進行預測,采用的穩態熱傳導和不可壓縮流的兩種模型均在測試數據上取得了較高的精度。除了精度以外,Liu等[85]著重從時間的角度考慮,計算流體力學在現有的數據壓縮問題上需要的時間太多,而引入基于生成對抗網絡的壓縮方法能夠在壓縮時間上有很大的優勢。文中GANs的網絡結構中,D-Net用于壓縮數據而G-Net用于數據重構。Wu等[86]將CNN與GANs相結合,建立了參數化超臨界翼型和跨聲速流場的映射ffsGAN,能夠較好地在高維流場上進行預測。
進一步,在四維物理場的問題中,生成對抗網絡同樣能夠對流動進行處理。Xie等[87]提出的TempoGAN網絡在判別器的部分進行了兩方面考慮,分別對空間和時間進行了判別。這種方式能夠生成更詳細真實和時間一致的物理量。Lee等[88]使用GANs預測了湍流中精細分辨率下的小尺度特征。
因為涉及到生成網絡和對抗網絡互相博弈的問題,GANs在訓練時面臨許多難以收斂的情況。這種情況下,學者們在流體力學問題中也做出了相應的努力。Lee等[89]采用4個深度學習網絡(是否考慮守恒定律的生成對抗網絡和是否考慮守恒定律的卷積神經網絡),通過對不同流態下圓柱周圍非定常流場的研究,發現4種深度學習網絡在短期預測時均可預測流量,但在長期預測時,是否考慮物理損失對預測結果產生了一定的影響。如何正確的向網絡中引入物理信息(例如質量和動量守恒的信息)是值得關注的問題。Wu等[90]在生成器中同時嵌入了物理約束(守恒律)和統計約束,提升后的GANs能夠更好地保存高階數據信息。同時,由于約束的存在可以減少解空間,因此帶來了更低的計算成本(圖7[89])。Lin等[91]從網絡結構的角度對算法進行了修改,生成網絡不再盡量去欺騙判別網絡而是尋找對應關系的匹配問題。這種由流體輸運公式的啟發的新算法比典型GANs在收斂性上更好。
圖7 嵌入統計數據的生成對抗網絡[89]Fig.7 Architecture of statistics-informed generative adversarial networks[89]
本文主要介紹了卷積神經網絡在流場特征類問題的應用。卷積層能夠很好地對流場特征進行處理,同時結合不同的網絡結構應對不同類型的問題。圍繞這一研究熱點,概述和歸納了這一研究領域的進展與成果。
1) 流場降階模型(ROM)。除了和傳統降階方法結合,卷積神經網絡同樣能夠進行降階數據處理。基于深度神經網絡的模型可以得出流場不同狀態的特征,加速了流場計算效率。除此之外,ROM還可以增強物理認知,卷積分解出的特征能夠類比POD及其他模態分解方法,得到的主導模態可以表示出流場的流動行為。
2) 與流場關心量相聯系的問題處理上,降階后的特征通過網絡與關心量相連,能夠構建輸入輸出之間的簡化映射,達到對流場所關心量進行預測的目的。此外,基于卷積神經網絡的模型能夠加速流場中外形優化設計的工作,以較少的計算代價解決在復雜環境中的優化問題。
3) 對于流場的生成類問題,從基于自動編碼器U-Net的角度和生成對抗網絡的角度都能夠達到精度提升的效果。其中數據驅動的監督學習能夠很容易聯想到泊松方程的快速求解,繼而基于規則的泊松方程求解方法。和偏微分方程的關系也進行了討論。
此外,本文還提出了幾個值得討論的問題。
首先,對于特定的物理問題,合適的算法選擇非常關鍵。DNN適合基礎映射類問題,RNN適合具有記憶性的序列問題,而CNN更能夠考慮到空間位置信息,同時卷積操作也起到了特征識別的功能。對于文中的流場特征識別和特征深層次的運用的問題上,很多研究者在方法對比中也證明了CNN算法在相關算例中計算效率和精度上的優勢。進一步,卷積神經網絡并不是單獨存在的,不同算法之間的融合也會是一個重要的考察方向。例如CNN和GANs結合的DCGANs,CNN和自動編碼器形成的U-Net網絡等。網絡和算法的發展不是固步自封的,而是不同的網絡之間互相學習互相借鑒,CNN本身也在和不同的算法結合中發展,使得能夠更好地適用于流場特征識別問題中不同的研究分支。
其次,關于模型的泛化性能的問題。監督學習作為最經典的思想方法之一,從代理模型的角度在早期嘗試中取得了非常好的成果。但是對于測試數據的范圍有一定的要求,即監督學習的一條重要原則是希望訓練數據和測試數據獨立同分布。因此在提升泛化性能的考察上,一方面是從大數據角度出發,理想情況下使模型本身見過相同或在相近范圍內的測試數據來源,從訓練數據的廣泛性上對模型進行覆蓋;另一方面同時從算法的角度,考慮問題中無監督學習的參與,例如文獻[76]中監督的優化目標是對預測速度場散度的L2范數,而不是普遍意義上的與真實值的差量,一定程度上解決了監督學習下泛化能力的問題。進一步,以強化學習為代表的元學習方法同樣能夠較好地處理與監督學習中泛化性能相關的問題,強化學習中智能體能夠根據環境的反饋自適應地選取合適的動作,在流體力學的主動流動控制和外形優化類問題中都取得了很好的成果。
對于深度學習方法在流場識別領域的理解,除了上述以網絡結構為主的分類方式,從數據驅動和在網絡中嵌入物理的角度同樣可以進行分類介紹。認為從單純的數據驅動到嵌入物理是流體力學和深度學習結合的重要突破。單純數據驅動方法對于一些映射類的問題是可行的,但這并不是最終的目的。原因主要有以下兩個:首先希望所得到的模型能夠提供一定的物理解釋,而不是僅得到一個黑盒子;其次單純數據驅動也會帶來泛化性能上的一些問題,因為數據驅動的監督學習算法對訓練數據的依賴非常大,而帶有物理嵌入的深度學習才能打破當前數據驅動問題帶來的瓶頸。近年來,深度學習作為一個蓬勃發展的領域,在不斷的探索中也出現了許多有趣的算法,以CNN為代表的網絡模型能夠從不同的角度挖掘輸入數據之間的聯系。但對于物理問題而言,從圖像等角度對物理問題分析固然是一種可行的方法。然而如果能直接把已知的一些物理規律加入網絡,借此減少網絡優化訓練的負擔;甚至利用物理規律直接主導目標網絡生成的結果,這將是一個值得研究的問題,也會是將來流體力學等物理問題和深度學習結合的重要研究方向。