唐明健, 唐和生
(同濟(jì)大學(xué) 土木工程學(xué)院,上海 200092)
工程領(lǐng)域往往伴隨著許多力學(xué)正反問題的分析。如已知物體的材料或介質(zhì)參數(shù),以及受力狀態(tài)和邊界條件等,求解其應(yīng)力、應(yīng)變和位移等,這種問題稱為力學(xué)正問題;但有時正問題的某些條件或參數(shù)未知,需要通過獲取的變形或應(yīng)變等數(shù)據(jù),反向推算得出材料參數(shù)或邊界條件等情況,這種問題即為力學(xué)反問題[1-5]。這些力學(xué)正反問題都隨著其本身復(fù)雜程度的增加以及已知或測量數(shù)據(jù)有限而極具挑戰(zhàn)性。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,人工智能和機(jī)器學(xué)習(xí)等方法開始運(yùn)用到解決復(fù)雜力學(xué)問題中。目前,基于數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)方法應(yīng)用較為廣泛。如贠永峰等[6]研究建立了用于位移反分析的BP神經(jīng)網(wǎng)絡(luò),對隧道圍巖力學(xué)參數(shù)進(jìn)行反演;杜其通等[7]提出一種基于神經(jīng)網(wǎng)絡(luò)的動力學(xué)參數(shù)辨識方法,并應(yīng)用于機(jī)器人的模型控制系統(tǒng)。這種方法在一定程度上解決了一些用經(jīng)典數(shù)學(xué)物理手段難以求解的問題,但是仍然存在許多不足。首先,基于數(shù)據(jù)驅(qū)動的神經(jīng)網(wǎng)絡(luò)中,待識別的網(wǎng)絡(luò)參數(shù)僅與所提供的力學(xué)響應(yīng)數(shù)據(jù)有關(guān),通過這些數(shù)據(jù)訓(xùn)練最終得到的參數(shù)中所包含的力學(xué)信息比較有限;其次,這種網(wǎng)絡(luò)一般需要合適的網(wǎng)格點(diǎn)上對應(yīng)的數(shù)據(jù)或者較多的數(shù)據(jù)訓(xùn)練集支撐,實(shí)際采集數(shù)據(jù)時,如果限制于成本等原因,獲得的數(shù)據(jù)集有限,或者得到的數(shù)據(jù)局限于某一特定區(qū)域內(nèi),對整個區(qū)域的預(yù)測結(jié)果可能無法接近真實(shí)解答。
為提高基于數(shù)據(jù)驅(qū)動的模型的可解釋性和計(jì)算精度,近年來國內(nèi)外的一些學(xué)者提出了基于物理信息支撐的深度神經(jīng)網(wǎng)絡(luò)[8]。如Haghighat等[9]引入平衡方程與本構(gòu)關(guān)系,并應(yīng)用于彈性力學(xué)問題,實(shí)現(xiàn)對變形的預(yù)測;Chakraborty[10]提出了一種包含多重物理信息的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),可以從系統(tǒng)的控制微分方程中編碼得到有效的物理信息;張亦知等[11]針對湍流問題,基于物理?xiàng)l件的約束,建立了修正模型,對湍流摩擦阻力進(jìn)行預(yù)測。
本文在傳統(tǒng)的數(shù)據(jù)驅(qū)動模型基礎(chǔ)上,添加力學(xué)方程和本構(gòu)關(guān)系等一些物理信息約束條件,在損失函數(shù)中增加相應(yīng)的表征項(xiàng),并以彈性矩形薄板力學(xué)正反問題為例進(jìn)行分析。正問題為已知薄板基本參數(shù)、邊界條件和受力狀況,求解板內(nèi)各點(diǎn)撓度大?。环磫栴}為已知薄板基本參數(shù)、受力狀況以及板內(nèi)部分點(diǎn)的撓度,識別四條邊界條件的種類。對于力學(xué)正反問題,建立深度神經(jīng)網(wǎng)絡(luò)模型,并利用基于Keras包裝器的SciANN框架[12]編制深度學(xué)習(xí)的程序,對模型進(jìn)行訓(xùn)練和預(yù)測,并與基于數(shù)據(jù)驅(qū)動的模型預(yù)測結(jié)果進(jìn)行比對。
一般的神經(jīng)網(wǎng)絡(luò)基本框架如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)基本框架
假設(shè)神經(jīng)網(wǎng)絡(luò)一共有n個隱藏層,激活函數(shù)為σ,則第i層第j個神經(jīng)元的數(shù)據(jù)與前一層各神經(jīng)元的映射關(guān)系可表示為
(1)
假定神經(jīng)網(wǎng)絡(luò)的輸入變量為X,輸出變量為Y,神經(jīng)網(wǎng)絡(luò)待識別參數(shù)θ=[W,b],則神經(jīng)網(wǎng)絡(luò)的輸入與輸出層之間的映射關(guān)系可表示為
Y=N (X;θ)
(2)
式中N (·;θ)為參數(shù)θ下的神經(jīng)網(wǎng)絡(luò)算符。
力學(xué)正問題中,通常已知物體的材料參數(shù)和受力情況等條件。考慮一般性的力學(xué)正問題,假設(shè)待求物體的位移為u,所受外力為F,物理參數(shù)為λ,則可以將力學(xué)問題表示為
(3)
力學(xué)方程(3)通常需要合理的邊界條件(4)作為定解條件,
(4)
式中?Ω為待求解物體的邊界。
根據(jù)式(3,4)聯(lián)立可求解未知的物體位移,進(jìn)而求解其應(yīng)力和應(yīng)變等力學(xué)響應(yīng)量。
采用深度學(xué)習(xí)的方法對力學(xué)問題進(jìn)行求解時,需要確定其損失函數(shù)的表達(dá)式??紤]正問題的損失函數(shù)時,按照基于數(shù)據(jù)驅(qū)動的方法,只需要直接對物體的位移數(shù)據(jù)進(jìn)行訓(xùn)練,讓神經(jīng)網(wǎng)絡(luò)自主識別數(shù)據(jù)之間的關(guān)聯(lián)。此時,損失函數(shù)可表示為
(5)
式中u*為待求解物體位移的精確值。
(6)
(7)
綜合式(5~7),得到力學(xué)正問題的損失函數(shù)基本可表示為
(8)
力學(xué)反問題中,通常已知物體的實(shí)際變形或應(yīng)力和應(yīng)變情況,而物理參數(shù)、受力狀況和邊界條件等有一項(xiàng)未知。假設(shè)反問題中未知條件表現(xiàn)為λ的若干個參數(shù)λ(1),…,λ(m )待定,該問題的損失函數(shù)仍然按照式(8)的形式,對未知參數(shù)的識別則可一般性地表示為下列最優(yōu)化的問題。
(9)
在反問題參數(shù)識別中,上述最優(yōu)化問題的求解體現(xiàn)在迭代中對未知參數(shù)的更新。有關(guān)文獻(xiàn)提出了許多優(yōu)化算法,本文采用梯度下降算法[13]參數(shù)更新公式,對于第i個參數(shù)λ(i ),其更新表示為
(10)
以矩形薄板受均布荷載q作用的問題為例,空間坐標(biāo)系如圖2所示。
圖2 矩形薄板受均布荷載作用的基本問題
基于小撓度理論和Kirchhoff假設(shè)建立的矩形薄板彎曲基本方程[14]如下,
22w/D
(11)
式中w為矩形薄板的撓度,q為作用于薄板的均布荷載大小,D為薄板的抗彎剛度,D=Eδ3/[12(1-ν2)],E和ν分別為矩形薄板材料的彈性模量和泊松比,δ為薄板的厚度。
矩形薄板各點(diǎn)應(yīng)變與撓度之間的關(guān)系和應(yīng)力應(yīng)變的本構(gòu)關(guān)系為
τx y=E/[2(1+ν)]γx y
(12)
本文矩形薄板的力學(xué)正問題為,已知薄板的材料參數(shù)、四條邊界條件和受力情況,求解平面坐標(biāo)下各點(diǎn)的撓度大小w(x,y)。對于正問題,神經(jīng)網(wǎng)絡(luò)的主要輸出變量即為撓度大小,但為表征盡可能多的物理信息,考慮將應(yīng)力應(yīng)變的本構(gòu)關(guān)系引入到損失函數(shù)中。因此在正問題的神經(jīng)網(wǎng)絡(luò)輸出變量中,添加σx,σy和τx y作為輔助的輸出變量,并為每一個應(yīng)力分量添加一個子網(wǎng)絡(luò),每一個子網(wǎng)絡(luò)的輸入變量均相同,且各子網(wǎng)絡(luò)的隱藏層層數(shù)設(shè)置一致,整體神經(jīng)網(wǎng)絡(luò)框架由各子網(wǎng)絡(luò)組合而成,共同建立輸入和輸出變量的映射關(guān)系。
(13)
該問題的神經(jīng)網(wǎng)絡(luò)框架如圖3所示。
圖3 矩形薄板力學(xué)正問題的神經(jīng)網(wǎng)絡(luò)框架
本文矩形薄板的力學(xué)反問題為,利用薄板內(nèi)若干點(diǎn)的位移和薄板的基本材料參數(shù)和受力情況等已知信息,識別薄板的四條邊界條件。本文以簡支和固支兩種邊界為例進(jìn)行討論,即將邊界條件的識別轉(zhuǎn)化為二分類問題。為了對邊界進(jìn)行有效識別,引入α1,α2,α3和α4四個參數(shù),并添加損失函數(shù)項(xiàng)如下,將邊界條件的識別轉(zhuǎn)化為四個參數(shù)的取值識別,
(14)
各參數(shù)識別理論取值與實(shí)際薄板邊界條件對應(yīng)情況如圖4所示。
圖4 各參數(shù)取值與薄板邊界條件對應(yīng)情況
若考慮薄板具有多種邊界條件,假設(shè)第i條邊界?Ωi對應(yīng)第j種邊界條件,該邊界需要滿足的定解方程式為
(15)
類似于式(14),對于一般的薄板邊界條件識別,假設(shè)有n種邊界條件,可添加損失函數(shù)項(xiàng)為
(16)
對于式(16)參數(shù)的取值,討論方法與前面基本相同。因此,力學(xué)反問題的損失函數(shù)可表示為正問題式(13)和邊界識別項(xiàng)式(16)之和。
(17)
該問題的神經(jīng)網(wǎng)絡(luò)框架與正問題類似,撓度和應(yīng)力分量同樣采用子網(wǎng)絡(luò)。討論固支和簡支兩種邊界條件下,在原來的基礎(chǔ)上添加對四個參數(shù)的識別。網(wǎng)絡(luò)框架如 圖5 所示。
在矩形薄板力學(xué)正問題和反問題計(jì)算損失函數(shù)時,都涉及到對撓度數(shù)據(jù)進(jìn)行高階微分,如果采用一般的數(shù)值差分方法,其誤差較大,且高階的數(shù)值微分需要劃分足夠多的結(jié)點(diǎn)來保證計(jì)算精度,因此本文采用自動微分[15]的計(jì)算方法,可以在機(jī)器學(xué)習(xí)過程中大大降低計(jì)算代價,且計(jì)算精度不會明顯地受到網(wǎng)格點(diǎn)數(shù)的限制。計(jì)算時采用正向微分形式,可以通過一些目前已有的前饋神經(jīng)網(wǎng)絡(luò)模型[16,17]加以實(shí)現(xiàn)。
圖5 矩形薄板力學(xué)反問題的神經(jīng)網(wǎng)絡(luò)框架
矩形薄板力學(xué)正問題采用四邊簡支矩形薄板問題,其撓度可用雙重三角級數(shù)表示[14]。選取參數(shù)E=1000,ν=0.25,q=1000,a=b=1,薄板厚度取單位尺寸。
進(jìn)行模型的預(yù)測之前,首先對各種不同的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)迭代收斂效果進(jìn)行了測試。訓(xùn)練數(shù)據(jù)集為薄板上均勻劃分網(wǎng)格點(diǎn)20×20上的撓度和應(yīng)力數(shù)據(jù),單次訓(xùn)練選取的樣本數(shù)取為32,選取六種不同的神經(jīng)網(wǎng)絡(luò)隱藏層結(jié)構(gòu)分別為,① 3層各20個結(jié)點(diǎn);② 5層各20個結(jié)點(diǎn);③ 3層各40個結(jié)點(diǎn);④ 5層各40個結(jié)點(diǎn);⑤ 3層各80個結(jié)點(diǎn);⑥ 5層各80個結(jié)點(diǎn)。針對不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),利用數(shù)據(jù)集進(jìn)行模型訓(xùn)練,并設(shè)置當(dāng)損失函數(shù)取值在500次迭代中都沒有下降時停止訓(xùn)練,輸出結(jié)果。
對六種不同的網(wǎng)絡(luò)隱藏層拓?fù)浣Y(jié)構(gòu)訓(xùn)練,模型迭代收斂曲線如圖6所示??梢钥闯?,當(dāng)層數(shù)增加的時候,雖然最終預(yù)測的合理性偏向于更加準(zhǔn)確,但是訓(xùn)練過程中振蕩加劇。文獻(xiàn)[9]提出,當(dāng)設(shè)置的神經(jīng)網(wǎng)絡(luò)層數(shù)過多,容易導(dǎo)致訓(xùn)練過程中出現(xiàn)過擬合,因此實(shí)際選取神經(jīng)網(wǎng)絡(luò)層數(shù)時應(yīng)當(dāng)加以控制。橫向?qū)Ρ认嗤瑢訑?shù)不同結(jié)點(diǎn)數(shù)下的計(jì)算結(jié)果,當(dāng)計(jì)算結(jié)果接近收斂時,神經(jīng)網(wǎng)絡(luò)隱藏層結(jié)點(diǎn)數(shù)較多的模型的最終預(yù)測效果較好。綜合考慮模型訓(xùn)練速度、收斂曲線振蕩情況和預(yù)測效果,最終選擇隱藏層為三層各40個結(jié)點(diǎn)的神經(jīng)網(wǎng)絡(luò)作為該問題的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
圖6 不同網(wǎng)絡(luò)結(jié)構(gòu)下模型迭代收斂曲線(四邊簡支板)
利用均勻劃分網(wǎng)格20×20的模型訓(xùn)練并預(yù)測整個矩形薄板上各點(diǎn)撓度,并與精確計(jì)算值比較,結(jié)果如圖7所示,可以看出模型的預(yù)測效果良好。
圖7 薄板撓度預(yù)測與精確計(jì)算結(jié)果對比(四邊簡支板)
實(shí)際工程中,減少矩形薄板撓度數(shù)據(jù)的采集點(diǎn)數(shù)的同時保證計(jì)算精度,對于節(jié)省測量成本和加快訓(xùn)練時間等具有非常重要的意義。為此,對不同網(wǎng)格點(diǎn)數(shù)劃分下的模型分別進(jìn)行了訓(xùn)練,圖8展示了均勻網(wǎng)格劃分6×6和10×10下的模型預(yù)測結(jié)果。結(jié)果顯示,當(dāng)網(wǎng)格劃分接近10×10左右時,計(jì)算精度已經(jīng)達(dá)到要求,相應(yīng)的損失函數(shù)收斂速度也與20×20的網(wǎng)格點(diǎn)數(shù)基本無異,說明實(shí)際取10×10左右的均勻網(wǎng)格劃分已經(jīng)可以滿足計(jì)算要求。
圖8 不同網(wǎng)格結(jié)點(diǎn)數(shù)下預(yù)測結(jié)果對比(四邊簡支板)
為了進(jìn)一步說明基于物理信息的神經(jīng)網(wǎng)絡(luò)模型的計(jì)算效果,對基于數(shù)據(jù)驅(qū)動和基于物理信息的模型訓(xùn)練與預(yù)測結(jié)果進(jìn)行對比。計(jì)算結(jié)果顯示,在相同網(wǎng)格點(diǎn)數(shù)下,當(dāng)已知撓度數(shù)據(jù)均勻分布在整個薄板區(qū)域內(nèi)時,在相同迭代次數(shù)下,二者的預(yù)測精度沒有非常顯著的區(qū)別,這可能是因?yàn)榛跀?shù)據(jù)驅(qū)動的模型網(wǎng)絡(luò)參數(shù)較少,容易收斂,而基于物理力學(xué)信息的模型迭代收斂較慢。在網(wǎng)格點(diǎn)數(shù)均取為10×10的計(jì)算結(jié)果中,基于數(shù)據(jù)驅(qū)動的模型在初始訓(xùn)練迭代約1200次就基本收斂,而基于物理信息的模型需要迭代2500次左右。
但是,當(dāng)所得到的撓度數(shù)據(jù)局限于薄板某一區(qū)域內(nèi)時,雖然在已知數(shù)據(jù)的區(qū)域一側(cè)二者預(yù)測精度沒有明顯的區(qū)別,但是在對未知區(qū)域的撓度進(jìn)行預(yù)測時,基于數(shù)據(jù)驅(qū)動的神經(jīng)網(wǎng)絡(luò)的預(yù)測精度明顯低于考慮了物理信息的模型。本文選取了薄板的左半邊區(qū)域[0,0]×[1/2,1]內(nèi)的10×10撓度數(shù)據(jù)進(jìn)行訓(xùn)練,兩種網(wǎng)絡(luò)模型的預(yù)測結(jié)果如圖9所示。
圖9 兩種神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練預(yù)測結(jié)果對比(四邊簡支板)
本文以相鄰兩邊簡支其余邊固支,受均布荷載作用的矩形薄板問題作為矩形薄板力學(xué)反問題的計(jì)算實(shí)例。對于該問題的精確解答,根據(jù)文獻(xiàn)[18]提出的疊加法計(jì)算思想,可以求解出各點(diǎn)撓度數(shù)據(jù),進(jìn)而得到應(yīng)力和應(yīng)變。
選取與4.1節(jié)相同的基本物理參數(shù),取薄板兩條固定邊為x=0和y=0,并在均勻劃分網(wǎng)格 20×20的情況下,選取了六種不同的神經(jīng)網(wǎng)絡(luò)隱藏層拓?fù)浣Y(jié)構(gòu),進(jìn)行了收斂速度和學(xué)習(xí)效果的測試??紤]到反問題的邊界條件和撓度分布等比較復(fù)雜,選擇采用稍深層的網(wǎng)絡(luò)進(jìn)行測試,分別為 ① 4層各20個結(jié)點(diǎn);② 6層各20個結(jié)點(diǎn);③ 4層各40個結(jié)點(diǎn);④ 6層各40個結(jié)點(diǎn);⑤ 4層各80個結(jié)點(diǎn);⑥ 6層各80個結(jié)點(diǎn)。對六種不同的網(wǎng)絡(luò)隱藏層拓?fù)浣Y(jié)構(gòu)訓(xùn)練,模型迭代收斂曲線如圖10所示。
圖10 不同網(wǎng)絡(luò)結(jié)構(gòu)下模型迭代收斂曲線(兩邊固支兩邊簡支板)
經(jīng)過收斂情況和計(jì)算結(jié)果的綜合比對,最終選擇神經(jīng)網(wǎng)絡(luò)隱藏層為六層各20個結(jié)點(diǎn)的網(wǎng)絡(luò)模型,其收斂情況較好,且模型預(yù)測精度較高。
設(shè)定四個邊界參數(shù)的初始值均為0.5,利用 20×20的模型訓(xùn)練并預(yù)測矩形薄板各點(diǎn)撓度和四條邊界條件,與精確計(jì)算結(jié)果對比如圖11和表1所示,可以看出,整體而言該模型的預(yù)測效果較好。
圖11 薄板撓度預(yù)測與精確計(jì)算結(jié)果對比(兩邊固支兩邊簡支板)
反問題中,同樣對不同網(wǎng)格點(diǎn)數(shù)劃分下的模型分別進(jìn)行了訓(xùn)練,圖12展示了均勻劃分網(wǎng)格8×8和14×14下模型的預(yù)測結(jié)果。結(jié)果顯示,當(dāng)網(wǎng)格劃分接近14×14左右時,整個薄板區(qū)域內(nèi)的計(jì)算精度基本滿足要求。
圖12 不同網(wǎng)格結(jié)點(diǎn)數(shù)下預(yù)測結(jié)果對比圖(兩邊固支兩邊簡支板)
對力學(xué)反問題計(jì)算中對基于數(shù)據(jù)驅(qū)動和基于物理信息的模型訓(xùn)練與預(yù)測結(jié)果進(jìn)行比較。計(jì)算結(jié)果同樣表明,當(dāng)所選數(shù)據(jù)局限于某一區(qū)域內(nèi),對未知區(qū)域內(nèi)的薄板撓度進(jìn)行預(yù)測時,基于物理信息的模型預(yù)測精度遠(yuǎn)高于基于數(shù)據(jù)驅(qū)動的模型。本文選取薄板左上角區(qū)域[1/2,1/2]×[1,1]內(nèi)的14×14撓度數(shù)據(jù)進(jìn)行訓(xùn)練,計(jì)算結(jié)果如圖13所示。
圖13 兩種神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練預(yù)測結(jié)果對比(兩邊固支兩邊簡支板)
結(jié)果表明,基于物理信息的模型除在兩固支邊交界的位置預(yù)測精度受到較大影響,其余位置仍保持了較高的預(yù)測精度,而基于數(shù)據(jù)驅(qū)動的模型不僅在其他點(diǎn)上的撓度預(yù)測與實(shí)際值偏差非常大,同時在訓(xùn)練過程中發(fā)現(xiàn),基于數(shù)據(jù)驅(qū)動的模型迭代收斂的情況更容易受到所提供薄板撓度數(shù)據(jù)集的影響,當(dāng)數(shù)據(jù)集不充分,模型難以收斂到正確的結(jié)果。
基于物理信息的深度神經(jīng)網(wǎng)絡(luò),在原來依靠數(shù)據(jù)驅(qū)動的網(wǎng)絡(luò)模型基礎(chǔ)上,于損失函數(shù)中引入表征力學(xué)位移、應(yīng)力和應(yīng)變等之間的關(guān)系,使得在模型訓(xùn)練過程中神經(jīng)網(wǎng)絡(luò)的參數(shù)具備相應(yīng)的力學(xué)特征。本文以矩形薄板的力學(xué)正反問題為例,正問題為已知矩形薄板的基本參數(shù)與受力情況求薄板各點(diǎn)撓度,損失函數(shù)添加了撓度基本方程和應(yīng)力應(yīng)變本構(gòu)關(guān)系等項(xiàng);反問題為已知矩形薄板撓度和基本參數(shù)求四條邊界條件,在考慮簡支和固支兩種邊界條件時,將四個邊界條件的確定轉(zhuǎn)化為四個0~1參數(shù)的識別,并在損失函數(shù)中添加相應(yīng)的表征項(xiàng),通過模型訓(xùn)練確定邊界條件。以四邊簡支矩形薄板和相鄰兩邊簡支其余邊固支矩形薄板為算例進(jìn)行測試,根據(jù)收斂情況和預(yù)測精度選取了神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并將預(yù)測的矩形薄板撓度和邊界條件表示出來。結(jié)果顯示,基于物理信息的神經(jīng)網(wǎng)絡(luò)不僅對未知點(diǎn)撓度和邊界條件的預(yù)測效果很好,而且在已知局部區(qū)域推算整個矩形截面的撓度問題上,其計(jì)算精度遠(yuǎn)高于基于數(shù)據(jù)驅(qū)動的模型,因而在力學(xué)和工程領(lǐng)域更具備使用和推廣的價值。