張 洋,秦文瑾,李 慶,董 雪*
(1. 上海交通大學(xué)中英國際低碳學(xué)院,上海 201306;2. 上海理工大學(xué)機(jī)械工程學(xué)院,上海 200093)
在航空[1]、醫(yī)療、工業(yè)燃燒等研究領(lǐng)域中,流動[2]起著重要的作用。Duraisamy等[3]指出湍流建模數(shù)值模擬發(fā)展的過程中,機(jī)器學(xué)習(xí)提供了有效的策略來構(gòu)建大型數(shù)據(jù)集和目標(biāo)變量之間的映射,機(jī)器學(xué)習(xí)可以作為“黑盒子”來與現(xiàn)有的模型進(jìn)行結(jié)合以提供后驗(yàn)校正。
現(xiàn)有的深度學(xué)習(xí)模型往往采用模擬數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)進(jìn)行有監(jiān)督訓(xùn)練,然而實(shí)際工程應(yīng)用中往往難以獲得流場和壓力場等信息作為模型監(jiān)督[4]。Navier-Stokes方程組(簡稱N-S方程組)描述了流體的濃度、流速、壓力、特征長度、動力粘度等物理量之間的關(guān)系,對于欠約束的物理場景,可以借力于N-S方程組,對神經(jīng)網(wǎng)絡(luò)進(jìn)行約束。
但目前基于物理約束的研究多數(shù)局限在多層感知器(Muti-Layer Perception,MLP)或者使用二維卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network, CNN)研究穩(wěn)態(tài)問題。Raissi等人[5]提出了Hidden fluid mechanics(HFM)的概念,借助N-S方程組,通過MLP的反饋特性,實(shí)現(xiàn)了壓力場和速度場的預(yù)測。但在約束方程中雷諾數(shù)和佩克萊數(shù)在網(wǎng)絡(luò)中被限制為一個常數(shù),而實(shí)際上這兩個無量綱數(shù)為時空變量,因此在對應(yīng)參數(shù)變化大的場景中將表現(xiàn)出較差的適用性。另外MLP的計(jì)算效率較低,譬如隨著流場區(qū)域的變大,MLP的訓(xùn)練參數(shù)將會急劇增大,且MLP會丟失圖像(二維物理場)的空間特征。對于使用傳統(tǒng)的2D CNN的方法,由于湍流流動中在時間維度上也需要獲得連續(xù)性信息,如果僅能在圖像的長和寬兩個維度獲取梯度信息,不足以將含有時序信息的微分方程約束嵌入神經(jīng)網(wǎng)絡(luò)中。
而有時序的流場信息可以看作是三通道輸入數(shù)據(jù),對三通道輸入數(shù)據(jù)使用三維卷積核在三個方向進(jìn)行卷積可以有效獲取特征圖對時間的導(dǎo)數(shù)。綜上,此本研究將開發(fā)一種基于三維卷積神經(jīng)網(wǎng)絡(luò)的弱監(jiān)督學(xué)習(xí)模型,并對DNS算例中的流場散點(diǎn)數(shù)據(jù)進(jìn)行均勻網(wǎng)格化、無量綱化處理,以將其轉(zhuǎn)換為可進(jìn)行卷積操作的數(shù)據(jù)集。該模型將以N-S方程組為物理約束,對神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建,以實(shí)現(xiàn)對流場從濃度場到速度、壓力場的映射。
計(jì)算流體力學(xué)常用的控制方程有傳質(zhì)方程、動量守恒方程、連續(xù)性方程,對這些控制方程進(jìn)行無量綱化可以簡化問題,并減少所需考慮的參數(shù)的數(shù)量,并使得神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中聚焦于特征長度、特征速度等無量綱量,從而減少神經(jīng)網(wǎng)絡(luò)對具體案例數(shù)據(jù)的依賴,有利于增強(qiáng)神經(jīng)網(wǎng)絡(luò)的泛化能力。
借由雷諾運(yùn)輸方程,傳質(zhì)方程可以寫成如下的無量綱形式
ct+ucx+vcy+wcz=Pe-1(cxx+cyy+czz)
(1)
同樣借由無量綱化的動量守恒方程和連續(xù)性方程,可以得到:
ut+uux+vuy+wuz=-px+Re-1(uxx+uyy+uzz)
vt+uvx+vvy+wvz=-py+Re-1(vxx+vyy+vzz)
wt+uwx+vwy+wwz=-pz+Re-1(wxx+wyy+wzz)
ux+vy+wz=0
(2)
Re和Pe分別代表雷諾數(shù)和佩克萊數(shù),分別由UL/v和UL/k定義,其中U和L分別是特征速度和特征長度,v和k分別是動力粘度和質(zhì)量擴(kuò)散系數(shù)。可以通過神經(jīng)網(wǎng)絡(luò)和建立殘差標(biāo)準(zhǔn)完成如下映射
(t,x,y,z)→(c,u,v,w,p)
(3)
其中殘差標(biāo)準(zhǔn)的一個參考形式如下
e1=ct+ucx+vcy+wcz-Pe-1(cxx+cyy+czz)
e2=ut+uux+vuy+wuz+px-Re-1(uxx+uyy+uzz)
e3=vt+uvx+vvy+wvz+py-Re-1(vxx+vyy+vzz)
e4=wt+uwx+vwy+wwz+pz-Re-1(wxx+wyy+wzz)
e5=ux+vy+wz
(4)
上述殘差中所需要的偏導(dǎo)數(shù)可以通過神經(jīng)網(wǎng)絡(luò)中自微分的鏈?zhǔn)椒▌t或差分形式的固定卷積核進(jìn)行求取。故對于映射目標(biāo)的c,u,v,w,p,可以以最小化上述殘差e1,e2,e3,e4,e5的均方差為目標(biāo)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。
本研究的實(shí)驗(yàn)數(shù)據(jù),二維圓柱繞流算例的設(shè)計(jì)思路來自Raissi[5]的HFM文獻(xiàn),本研究采用OpenFOAM對流場數(shù)據(jù)進(jìn)行復(fù)現(xiàn)。流場在x方向取切片[-2.5,7.5],y方向取切片[-2.5,2.5],空間分辨率為0.05m,時間分辨率為0.08s。圓柱圓心與坐標(biāo)系原點(diǎn)重合,半徑為0.5m。雷諾數(shù)取100。并假設(shè)無量綱自由流速度為U=1,運(yùn)動粘度ν=0.01,系統(tǒng)表現(xiàn)出周期性穩(wěn)態(tài)行為,其特征在于尾流中的不對稱渦旋脫落模式。為了使用數(shù)值求解器生成數(shù)據(jù),本研究在圓柱壁上使用零滑移和零濃度邊界條件。對于佩克萊數(shù),本研究設(shè)定為100,因?yàn)閷τ谝詿熿F為主體的空氣流動[6]而言,雷諾數(shù)和佩克萊數(shù)是大體相等的。
對于實(shí)驗(yàn)數(shù)據(jù)的預(yù)處理主要包括如下兩個部分:
1)無量綱化
基于數(shù)據(jù)無量綱化的要求,對OpenFOAM生成的數(shù)據(jù)需進(jìn)行無量綱化處理,特征速度取入口處速度,特征長度取單位1,特征密度取實(shí)驗(yàn)溫度下流體平均密度。參考如下公式進(jìn)行無量綱化
(5)
2)均勻網(wǎng)格化和補(bǔ)零
對于傳統(tǒng)的計(jì)算流體力學(xué)研究而言,生成的流場數(shù)據(jù)通常是散點(diǎn)數(shù)據(jù)。研究中常常需要根據(jù)感興趣區(qū)域?qū)?shù)據(jù)的空間分辨率做調(diào)整,這意味著它不能直接被應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)里,因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)一般要求是均勻網(wǎng)格化的圖片數(shù)據(jù)。所以對于已經(jīng)獲取的流場散點(diǎn)數(shù)據(jù),需要對其進(jìn)行均勻網(wǎng)格化處理。原始數(shù)據(jù)由直角坐標(biāo)系下的低分辨率數(shù)據(jù)和圓柱邊界附近極坐標(biāo)系的高分辨率數(shù)據(jù)組成,為了使數(shù)據(jù)能直接輸入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,對極坐標(biāo)系下的加密數(shù)據(jù)進(jìn)行去除。同時因?yàn)樵紨?shù)據(jù)中并沒有圓柱內(nèi)部的流場分布,為了形成的完整的網(wǎng)格化數(shù)據(jù),需要對圓柱內(nèi)部進(jìn)行補(bǔ)零操作。
式(4)中多次用到了特征圖對時間和長寬三個維度的偏導(dǎo)數(shù),由于2D CNN無法直接獲得時間維度上的導(dǎo)數(shù),故本研究選用三維卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。本研究所設(shè)計(jì)的3D CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,分為編碼和解碼過程。編碼過程使用多幀連續(xù)的濃度場信息作為輸入,并采用50%重疊的采樣進(jìn)行DataLoader定義。模型輸入為一個三維張量,可以表示為si,j,k=D(i,j,k),其中i=201,j=101,k=8。本研究的數(shù)據(jù)集包括201幀圖像,故總數(shù)據(jù)量分割后共有50個樣本。卷積過程采用三維卷積。編碼特征向量hvec(s)可以表示為式(6)[7]
圖1 3DCNN網(wǎng)絡(luò)示意圖
hvec(s)=ConvNN(s)
(6)
其中ConvNN(s)表示使用多個3D卷積層和最后的全連接層實(shí)現(xiàn)的從輸入si,j,k到特征圖的映射。每個卷積層后都會采用BatchNorm實(shí)現(xiàn)正則化,隨后以LeakyReLU作為激活函數(shù)。
解碼過程則是通過反卷積操作來構(gòu)建多個堆疊的解碼層。因?yàn)檩敵龇謩e是U,V,P三個獨(dú)立的場,所以采用三個獨(dú)立的解碼器來實(shí)現(xiàn)從特征圖到預(yù)測分布的映射。解碼過程可以表示為式(7)
(7)
對于CNN的求導(dǎo),本網(wǎng)絡(luò)中采用差分形式的卷積核對網(wǎng)絡(luò)預(yù)測的U,V,P通過固定卷積進(jìn)行導(dǎo)數(shù)求取[9]。
對于中心點(diǎn),采用四階中心差分進(jìn)行導(dǎo)數(shù)求取,如式(8)所示。
(8)
對于邊界點(diǎn),采用三階單邊迎風(fēng)/逆風(fēng)差分公式進(jìn)行求取,如式(9),所示。
(9)
網(wǎng)絡(luò)的損失函數(shù)將由多個部分組成,分別是真值監(jiān)督、邊界條件約束、物理邊界約束、物理方程約束。各個部分均采用均方誤差函數(shù)(Mean Squared Error, MSE)作為評估標(biāo)準(zhǔn),MSE的原理如式(10)所示
(10)
其中真值監(jiān)督使用U的實(shí)驗(yàn)?zāi)M數(shù)據(jù)作為監(jiān)督,邊界條件使用圖像四條邊框的真值作為監(jiān)督,邊框厚度為10個像素。物理邊界約束使用圓柱邊界厚度為10個像素的真值作為約束,物理方程約束采用式(4)的殘差作為約束,故損失函數(shù)可以用式(11)進(jìn)行表示
(11)
網(wǎng)絡(luò)訓(xùn)練后的權(quán)重將可以從輸入的多幀濃度場計(jì)算出對應(yīng)幀的速度場和壓力場。
詞語的文化義多是詞義、語素義、語境義演變的結(jié)果,反映民族的認(rèn)知,“柳”文化內(nèi)涵豐富,與中華民族的生理——心理認(rèn)知、修辭認(rèn)知、轉(zhuǎn)喻、對自然的崇拜和外來文化的影響密切相關(guān)。
本文中深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練環(huán)境為CentOS 7.4,使用Pytorch框架進(jìn)行訓(xùn)練;算力為4塊NVIDIA GeForce GTX 2080Ti GPU顯卡。本文中網(wǎng)絡(luò)訓(xùn)練使用標(biāo)準(zhǔn)的Adam訓(xùn)練模型,基礎(chǔ)學(xué)習(xí)率為1e-5,批量大小(Batch Size)設(shè)置為16,訓(xùn)練20000個epoch。
對模型效果的評估采用均方誤差(MSE),結(jié)構(gòu)相似性(SSIM),峰值信噪比(PSNR)三種方案對結(jié)果進(jìn)行評估,其評估方式分別如下所示。
(12)
(13)
本文提出的3D CNN網(wǎng)絡(luò)總參數(shù)量為159,242,310,參數(shù)內(nèi)存為607.46MB。如圖2所示,網(wǎng)絡(luò)在10000個epoch后已經(jīng)收斂。時間效率上,MLP算法訓(xùn)練此算例所需時間為40h,而本文算法訓(xùn)練此算例所需時間為24h,效率提升了40%。
圖2 網(wǎng)絡(luò)訓(xùn)練的收斂曲線
三維卷積神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果的準(zhǔn)確率分析如表1所示。模型的MSE誤差分布上,U場因?yàn)槭菑?qiáng)監(jiān)督,最接近真實(shí)值,V場和P場則次之。SSIM的結(jié)果分布也符合此規(guī)律,但是SSIM的結(jié)果卻明顯比MSE優(yōu)異,這是因?yàn)镸SE對于局部較大噪聲所產(chǎn)生的誤差懲罰很為嚴(yán)重。PSNR的結(jié)果也說明模型的整體預(yù)測結(jié)果良好,同時PSNR在P場預(yù)測結(jié)果的優(yōu)異性,說明了在P場的預(yù)測結(jié)果也具有說服力和有效性。由此可見,本文的預(yù)測結(jié)果誤差較小,這是因?yàn)?D CNN能夠很好的利用原始數(shù)據(jù)在時間維度上的分布信息。
表1 三維卷積神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果的準(zhǔn)確率分析(濃度場輸入,U場強(qiáng)監(jiān)督)
輸出場MSESSIMPSNRU0.0050.97771.7V0.0090.81368.7P0.0060.69270.7
由于二維圓柱繞流時間上呈周期性,將預(yù)測結(jié)果的誤差在時間維度的分布進(jìn)行描述有利于驗(yàn)證時間分布的連續(xù)性和周期性。本算例的時間分辨率為0.08s,預(yù)測的結(jié)果如圖3所示。
圖3 預(yù)測U,V,P場的MSE隨時間分布情況(輸入為濃度場,強(qiáng)監(jiān)督為U場)
結(jié)果顯示,預(yù)測的結(jié)果在U,V,P場的分布均具有周期性,周期約為5s。權(quán)鉦杰[10]指出以MSE為損失函數(shù)的預(yù)測方法對復(fù)雜樣本中存在的噪聲無法進(jìn)行有效的剔除,預(yù)測結(jié)果周期性的性能下降也可能是由于原始數(shù)據(jù)周期性的噪聲。
對于二維圓柱繞流算例,研究更關(guān)注的是圓柱附近的流動情況,對預(yù)測結(jié)果進(jìn)行空間分割將有利于評測結(jié)果的準(zhǔn)確性在空間上的分布。算例中的圓柱位于(0,0)位置,半徑為0.5m。
在X軸方向上的誤差分布中,如圖4所示,速度場和壓力場在圓柱附近和右側(cè)都出現(xiàn)了較高的預(yù)測誤差,這與前文中可視化的結(jié)果是一致的。其中圓柱附近的誤差主要是由于出現(xiàn)了速度場和壓力場的邊界驟變,在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中,更復(fù)雜的場景需要更高分辨率的數(shù)據(jù)集。而右側(cè)邊界中對于圓柱繞流算例的研究并不重要,對于結(jié)果的整體影響可以忽略。且可以明顯看出造成V場MSE結(jié)果較差的原因就在于V場右側(cè)的誤差突變。
圖4 預(yù)測結(jié)果MSE沿X軸方向的分布情況 (輸入為濃度場,強(qiáng)監(jiān)督為U場)
因?yàn)樵撍憷牧黧w主要流動方向?yàn)閄方向,所以其在Y軸方向上的分布上具有一定的對稱性,如圖5所示。U場在圓柱邊界的誤差會更大,這是由于流動在此處此方向上變化最劇烈。
圖5 預(yù)測結(jié)果MSE沿Y軸方向的分布情況 (輸入為濃度場,強(qiáng)監(jiān)督為U場)
對于流動的建模一直是流體力學(xué)中的重要部分,相比計(jì)算流體力學(xué),結(jié)合機(jī)器學(xué)習(xí)方法的數(shù)值建模方法具有更強(qiáng)的時間效率。本文針對現(xiàn)有神經(jīng)網(wǎng)絡(luò)建模模型所存在的不足,提出了嵌入物理約束的三維卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
通過本文的研究和分析可以得出如下主要結(jié)論:
1)現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型在湍流預(yù)測中依然存在較大的不足和局限性,主要體現(xiàn)在基于MLP的網(wǎng)絡(luò)結(jié)構(gòu)計(jì)算效率的不足和以基于2D CNN的網(wǎng)絡(luò)結(jié)構(gòu)無法很好的利用時序信息。
2)本文所開發(fā)的3D CNN,能夠在利用時序信息的同時發(fā)揮CNN在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中的優(yōu)勢。其在二維圓柱繞流算例上的結(jié)果在MSE,SSIM和PSNR三個獨(dú)立指標(biāo)下呈現(xiàn)的準(zhǔn)確性和效率說明了該理論的可行性。3D CNN的訓(xùn)練時間效率相較于MLP提升了40%,是更為高效的算法。
未來,本文將研究如何提高模型的泛化能力,提高邊界預(yù)測的準(zhǔn)確性。