• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      廣義乘子法求解構(gòu)造變分問題的神經(jīng)網(wǎng)絡(luò)方法

      2023-11-22 09:12:12歐陽(yáng)曄
      工程力學(xué) 2023年11期
      關(guān)鍵詞:乘子邊界條件廣義

      歐陽(yáng)曄,江 巍,吳 怡,馮 強(qiáng),鄭 宏,3

      (1.三峽庫(kù)區(qū)地質(zhì)災(zāi)害教育部重點(diǎn)實(shí)驗(yàn)室,湖北,宜昌 443002;2.三峽大學(xué)土木與建筑學(xué)院,湖北,宜昌 443002;3.北京工業(yè)大學(xué)建筑工程學(xué)院,北京 100124)

      在工程領(lǐng)域,力學(xué)問題的數(shù)學(xué)模型往往都是以微分方程的形式提出的,微分方程與初邊值條件一起構(gòu)成了微分方程的定解問題[1]。求解偏微分方程的途徑可分為解析法與數(shù)值解法兩大類。解析法適用于形狀規(guī)則的簡(jiǎn)單問題,以逆解法、半逆解法為代表。實(shí)際問題的邊界條件往往比較復(fù)雜,解析法求解困難,于是發(fā)展出了以有限差分法、有限單元法等為代表的數(shù)值解法,這些算法的求解效果嚴(yán)重依賴事先剖分的網(wǎng)格。此外,有限差分法在不同的方程上需使用不同的差分格式;有限單元法針對(duì)不同的問題需選取不同的單元類型,這些局限性大大影響了其應(yīng)用范圍[2]。

      神經(jīng)網(wǎng)絡(luò)算法的飛速發(fā)展[3]和Tensorflow[4]、Pytorch[4-5]等深度神經(jīng)網(wǎng)絡(luò)框架的發(fā)布,使得近年來神經(jīng)網(wǎng)絡(luò)的應(yīng)用研究呈現(xiàn)井噴式發(fā)展,如葉繼紅和楊振宇[6]采用生成式對(duì)抗神經(jīng)網(wǎng)絡(luò)生成的風(fēng)場(chǎng)數(shù)據(jù)與目標(biāo)數(shù)據(jù)之間具有相同的特性;許澤坤和陳雋[7]利用神經(jīng)網(wǎng)絡(luò)準(zhǔn)確預(yù)測(cè)了地震作用下框架結(jié)構(gòu)的非線性結(jié)構(gòu)響應(yīng);程詩(shī)焱等[8]基于BP 神經(jīng)網(wǎng)絡(luò)提出的地震易損性曲面分析方法,利用該方法可以得到可信的損傷概率結(jié)果;趙林鑫等[9]將比例邊界有限元法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,建立適用于薄板結(jié)構(gòu)裂紋狀缺陷識(shí)別的反演模型;鄭秋怡等[10]建立了基于長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)的大跨拱橋溫度-位移相關(guān)模型,可準(zhǔn)確描述多元溫度與位移的非線性映射關(guān)系。為克服傳統(tǒng)數(shù)值解法求解偏微分方程時(shí)的局限性,國(guó)內(nèi)外學(xué)者嘗試將神經(jīng)網(wǎng)絡(luò)引入偏微分方程的求解,深度Ritz 法[11]、深度伽遼金法[12]、深度能量法[13]等相繼被提出,并取得了初步成功應(yīng)用。RAISSI 等[14-15]提出的物理信息神經(jīng)網(wǎng)絡(luò)(Physics Informed Neural Networks,PINN),將原問題的物理信息嵌入到神經(jīng)網(wǎng)絡(luò)中,通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)獲得近似解;LU 等[16]提出了一種改善PINN訓(xùn)練效率的自適應(yīng)細(xì)化算法,并開發(fā)了DeepXDE 求解器;郭宏偉和莊曉瑩[17]提出了一種使用Adam 與LBFGS 兩種優(yōu)化器訓(xùn)練神經(jīng)網(wǎng)絡(luò)的策略,克服了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練的結(jié)果易陷入局部最優(yōu)解的問題;黃鐘民等[18]發(fā)展了一種耦合神經(jīng)網(wǎng)絡(luò)方法用于求解面內(nèi)變剛度薄板的位移與撓度;唐明健和唐和生[19]使用神經(jīng)網(wǎng)絡(luò)求解了矩形薄板的力學(xué)正反問題;HE 等[20]從逼近論的角度證明了使用ReLU 激活函數(shù)的神經(jīng)網(wǎng)絡(luò)與有限元是等價(jià)的。

      上述研究中,邊界條件的施加與傳統(tǒng)有限元略有不同?,F(xiàn)有研究中神經(jīng)網(wǎng)絡(luò)的損失函數(shù)是一個(gè)包含控制方程與邊界條件的泛函,通常使用經(jīng)典罰函數(shù)法進(jìn)行構(gòu)造,將原約束優(yōu)化問題轉(zhuǎn)化為無約束優(yōu)化問題,如郭宏偉等[17]、黃鐘民等[18,21]。理論上罰函數(shù)法中罰因子的數(shù)值應(yīng)為一個(gè)無窮大的數(shù)[22],在實(shí)際計(jì)算中,罰因子取得過大會(huì)造成方程的病態(tài)導(dǎo)致無法求解,取得過小則無法起到懲罰的作用,其值不易把控。以L1精確罰函數(shù)法[23]為代表的改進(jìn)方法,可有效克服經(jīng)典罰函數(shù)法中罰因子需趨近于無窮的局限,并在非線性規(guī)劃問題的神經(jīng)網(wǎng)絡(luò)求解中取得成功應(yīng)用[24-25],罰因子的具體取值仍依賴于人為確定。

      Lagrange 乘子法[26]也可將約束優(yōu)化問題轉(zhuǎn)化為無約束優(yōu)化問題,但采用Lagrange 乘子法構(gòu)建的神經(jīng)網(wǎng)絡(luò)同樣存在一定不足。當(dāng)神經(jīng)網(wǎng)絡(luò)損失函數(shù)對(duì)應(yīng)的Lagrange 函數(shù)在平衡點(diǎn)處其Hessian 矩陣為非正定矩陣時(shí),該平衡點(diǎn)將偏離原問題的最優(yōu)解[24]。理論上,廣義乘子法可克服Lagrange 乘子法的這一局限[22]。鑒于此,針對(duì)邊界條件復(fù)雜的偏微分方程組,本文提出一種采用廣義乘子法施加邊界條件的神經(jīng)網(wǎng)絡(luò)方法。該方法首先通過神經(jīng)網(wǎng)絡(luò)獲得預(yù)測(cè)解,再使用廣義乘子法構(gòu)建損失函數(shù)并計(jì)算損失值,最后利用梯度下降法進(jìn)行參數(shù)尋優(yōu),判斷損失值是否滿足要求;若不滿足,則更新罰因子與乘子后再進(jìn)行求解,直至損失滿足要求。為驗(yàn)證新方法的求解精度和計(jì)算效率,本文求解了Kirchhoff 薄板和簡(jiǎn)支梁?jiǎn)栴},并與使用經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法、Lagrange乘子法施加邊界條件的神經(jīng)網(wǎng)絡(luò)求解進(jìn)行比較。此外,采用不同拓?fù)浣Y(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)和域內(nèi)配點(diǎn)求解Kirchhoff 薄板問題,探討了神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與域內(nèi)配點(diǎn)數(shù)對(duì)新方法求解精度的影響。

      1 微分方程及其泛函

      工程技術(shù)領(lǐng)域,許多自然規(guī)律是以偏微分方程(組)的形式提出的,常見的偏微分方程分為三大類:橢圓型方程、拋物型方程、雙曲型方程,上述方程的共同點(diǎn)在于方程內(nèi)部包含待求解的未知場(chǎng)量及其導(dǎo)數(shù),即:

      式中:A為偏微分方程組;u為物理量;Ω 為問題求解區(qū)域。靜態(tài)場(chǎng)問題邊值條件通常分為三類:第一類條件為指定未知場(chǎng)量在邊界上的值;第二類條件為指定未知場(chǎng)量在邊界外法線方向上的值;第三類條件為上述兩類邊界條件的線性組合,即:

      式中:B為邊界條件組;Γ 為求解區(qū)域的邊界。

      式(1)所示的控制方程與式(2)所示的邊值條件一起構(gòu)成了微分方程的定解問題。通常來說,微分方程對(duì)解的要求較高,若直接對(duì)微分方程進(jìn)行求解較為困難,因此常使用加權(quán)余量法獲得微分方程的等效積分弱形式,弱形式會(huì)降低對(duì)解的要求。對(duì)滿足線性、自伴隨的微分方程而言,采用伽遼金加權(quán)余量法所獲得的等效積分弱形式與使用自然變分原理獲得的泛函是相同的,弱形式將具備明確的物理意義,例如,彈性力學(xué)中平衡微分方程的等效積分弱形式就是虛功方程。對(duì)不滿足線性、自伴隨的微分方程而言,需使用構(gòu)造變分原理來獲得泛函,使用罰函數(shù)法構(gòu)造的泛函表達(dá)式如下:

      式中:v為一組與A(u)方程個(gè)數(shù)相同的任意函數(shù);M為罰因子,是一個(gè)標(biāo)量。

      2 神經(jīng)網(wǎng)絡(luò)方法

      2.1 神經(jīng)網(wǎng)絡(luò)基本原理

      神經(jīng)網(wǎng)絡(luò)是一個(gè)由權(quán)重w、偏置b、激活函數(shù)σ 等定義的非線性函數(shù),神經(jīng)網(wǎng)絡(luò)的輸入x,輸出為u(x),其前向傳播可表達(dá)為:

      式中,下標(biāo)l表示神經(jīng)網(wǎng)絡(luò)的層數(shù),F(xiàn)l(l=1, 2, 3, … ,l)為第l層的映射規(guī)則,定義為:

      初始狀態(tài)下,神經(jīng)網(wǎng)絡(luò)中參數(shù)θ={w;b}是隨機(jī)生成的,不能滿足實(shí)際要求,需進(jìn)行參數(shù)更新,現(xiàn)階段常使用BP 算法進(jìn)行參數(shù)更新。

      萬(wàn)能近似定理[20]指出,神經(jīng)網(wǎng)絡(luò)具有逼近任意復(fù)雜非線性函數(shù)的能力。神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大非線性函數(shù)擬合能力的關(guān)鍵在于其激活函數(shù)是非線性的?,F(xiàn)有研究中常使用ReLU 函數(shù)和Tanh 函數(shù)兩種激活函數(shù)。ReLU 函數(shù)[27]的表達(dá)式為:

      該函數(shù)及其導(dǎo)數(shù)圖形如圖1(a)和圖1(c)所示。ReLU 函數(shù)形式簡(jiǎn)單、計(jì)算成本低,可避免出現(xiàn)梯度消失現(xiàn)象。Tanh 函數(shù)具有C∞性質(zhì),其表達(dá)式為:

      圖1 兩種常用的神經(jīng)網(wǎng)絡(luò)激活函數(shù)及其導(dǎo)數(shù)Fig.1 Two widely used activation function in neural network and their derivatives

      當(dāng)式(3)涉及未知場(chǎng)量的高階導(dǎo)數(shù)時(shí),Tanh函數(shù)更為適用,因此在目前神經(jīng)網(wǎng)絡(luò)求解力學(xué)問題中廣泛使用[17-18],該函數(shù)及其導(dǎo)數(shù)圖形如圖1(b)、圖1(d)和圖1(e)所示,本文采用Tanh 函數(shù)為激活函數(shù)。

      2.2 深度配點(diǎn)法

      深度配點(diǎn)法是由RAISSI 等[14-15]提出的一種由物理信息驅(qū)動(dòng)的神經(jīng)網(wǎng)絡(luò)模型。根據(jù)萬(wàn)能近似定理,偏微分方程組的解u可使用神經(jīng)網(wǎng)絡(luò)來逼近。對(duì)于深度配點(diǎn)法,需首先在求解域內(nèi)布置一系列的散點(diǎn)xΩ,另外邊界上也需布置一系列的散點(diǎn)xΓ。圖2 給出了一矩形區(qū)域的配點(diǎn)示意,點(diǎn)★代表xΩ,點(diǎn)●代表xΓ,散點(diǎn)x={xΩ;xΓ}構(gòu)成了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。

      圖2 配點(diǎn)示意圖Fig.2 Schematic diagram of collocation points

      從偏微分方程出發(fā)構(gòu)建如圖3 所示的物理信息網(wǎng)絡(luò)。左邊的神經(jīng)網(wǎng)絡(luò)作為偏微分方程的近似解,輸入為散點(diǎn)坐標(biāo),輸出 ^u(x;θ)由式(4)計(jì)算。右邊的物理信息則是將近似解^u帶入控制方程與邊界條件中所產(chǎn)生的余量。

      圖3 物理信息網(wǎng)絡(luò)示意圖Fig.3 Diagram of Physics Informed Neutral Network

      深度配點(diǎn)法一般采用經(jīng)典罰函數(shù)法施加邊界條件,建立的神經(jīng)網(wǎng)絡(luò)損失函數(shù)表達(dá)式為:

      式中:NA、NB分別為微分方程與邊界條件方程的個(gè)數(shù);PΩ、PΓi分別為域內(nèi)、相應(yīng)邊界上的配點(diǎn)數(shù);M為罰因子;其中A(x;θ)與B(x;θ)共享同一套超參數(shù)θ,并且都是坐標(biāo)的函數(shù)。當(dāng)loss 取得最小值時(shí),^u(x;θ)就是偏微分方程的近似解。

      將經(jīng)典罰函數(shù)法替換為L(zhǎng)1精確罰函數(shù)法,則神經(jīng)網(wǎng)絡(luò)損失函數(shù)的表達(dá)式變化為:

      式中,|·|為絕對(duì)值。

      如果使用Lagrange 乘子法施加邊界條件,建立的神經(jīng)網(wǎng)絡(luò)損失函數(shù)為:

      式中,ki為L(zhǎng)agrange 乘子。

      2.3 采用廣義乘子法施加邊界條件的深度配點(diǎn)法

      如引言中所述,使用經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法、Lagrange 乘子法施加邊界條件的神經(jīng)網(wǎng)絡(luò)在求解時(shí)均存在一定的局限性。廣義乘子法[20]結(jié)合了罰函數(shù)與Lagrange 乘子法的優(yōu)點(diǎn),使得罰因子在適當(dāng)大的情況下也能求得原約束問題的解。因此,本文將廣義乘子法引入神經(jīng)網(wǎng)絡(luò)之中,提出一種基于廣義乘子法施加邊界條件的神經(jīng)網(wǎng)絡(luò)方法。該方法左邊的神經(jīng)網(wǎng)絡(luò)仍由式(4)計(jì)算,右邊的物理信息則基于廣義乘子法構(gòu)建,最終建立的神經(jīng)網(wǎng)絡(luò)損失函數(shù)表達(dá)式為:

      式中:M為罰因子;ki為相應(yīng)邊界方程對(duì)應(yīng)的乘子,當(dāng)loss 取得最小值時(shí),^u(x;θ)就是偏微分方程的近似解。使用梯度下降法訓(xùn)練參數(shù)θ,從而使得loss 取得最小值,具體做法如下:

      S1 在求解域內(nèi)與邊界上布置一系列的配點(diǎn);

      S2 利用廣義Lagrange 乘子法將約束問題轉(zhuǎn)化無約束的待優(yōu)化函數(shù),得到式(11);

      S3 構(gòu)建前饋神經(jīng)網(wǎng)絡(luò),并將其作為試函數(shù);

      S4 給定初始值θ0,初始乘子初始罰因子M0,放大系數(shù)α>1,誤差閾值ε,參數(shù)γ∈(0,1)。這里,各量的上標(biāo)代表迭代次數(shù);

      S5 問題求解:以θn-1為起始點(diǎn),利用梯度下降法求解當(dāng)前乘子、罰因子下的最優(yōu)解θn,具體做法為:

      ① 計(jì)算損失函數(shù)loss 的值,判斷損失函數(shù)的值是否達(dá)到精度要求;若達(dá)到要求,則進(jìn)入S6,若未達(dá)到要求,則進(jìn)入②。

      ② 將損失標(biāo)量loss 對(duì)神經(jīng)網(wǎng)絡(luò)參數(shù)θ 求偏導(dǎo),并更新神經(jīng)網(wǎng)絡(luò)參數(shù),其更新公式為:

      式中:Δθn-1為θn-1的更新量;η 為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率。參數(shù)更新完畢后進(jìn)入①。

      S6 判斷迭代終止條件:根據(jù)下式計(jì)算邊界上的誤差h(θn),若h(θn)<ε 成立,則停止迭代并輸出θn;否則,進(jìn)入步驟S7;

      否則:

      S8 更新乘子項(xiàng):使用如下公式更新乘子項(xiàng)及迭代次數(shù),并返回步驟S5:

      3 算例分析

      本文求解程序均采用Python 的Tensorflow2.6版本進(jìn)行編寫,運(yùn)行平臺(tái)為Windows10,硬件配置為CPU:Intel Xeon E-2224 @ 3.40 GHz,GPU:NIVIDIA Quadro RTX 4000。

      3.1 周邊簡(jiǎn)支矩形Kirchhoff 薄板

      如圖4 所示的周邊簡(jiǎn)支矩形Kirchhoff 薄板,邊長(zhǎng)a=b=1 m,薄板厚度h=0.01 m,彈性模量E=10 MPa,泊松比ν=0.2,板中面的均布荷載為q=10 N/m2,該問題的重三角級(jí)數(shù)解[28]為:

      圖4 Kirchhoff 矩形薄板示意圖Fig.4 Diagram of a Kirchhoff thin rectangular plate

      該問題的微分控制方程為:

      其邊界條件為:

      式中:Γ={Γ1,Γ2,Γ3,Γ4}為邊界,分別代表{x=0,x=a,y=0,y=a}四條邊;Mn為彎矩。

      根據(jù)廣義乘子法構(gòu)建的損失函數(shù)為:

      式中:PΩ、PΓi分別為域內(nèi)、相應(yīng)邊界上的配點(diǎn)數(shù);ki為相應(yīng)邊界方程對(duì)應(yīng)的乘子。

      初始設(shè)定罰因子M=1,乘子ki=1(i=1, 2, …, 8),放大系數(shù)α=2,誤差閾值ε=1×10-3,參數(shù)γ=0.01,采用本文提出方法進(jìn)行求解。按照?qǐng)D2 的方式在求解域與邊界上進(jìn)行配點(diǎn),其中域內(nèi)配點(diǎn)20×20 個(gè),邊界上每邊配點(diǎn)40 個(gè)。神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)設(shè)置為2-1*30-1,表示輸入層神經(jīng)元數(shù)量為2,分別為配點(diǎn)的橫縱坐標(biāo);隱藏層層數(shù)為1,隱藏層神經(jīng)元數(shù)量設(shè)置為30 個(gè);輸出層神經(jīng)元數(shù)量為1,為配點(diǎn)的撓度預(yù)測(cè)解,優(yōu)化器選取Adam,學(xué)習(xí)率設(shè)置為0.01。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,若損失值連續(xù)500 輪沒下降則自動(dòng)更新罰因子、乘子后再進(jìn)行計(jì)算,且在每輪罰因子、乘子下的訓(xùn)練不超過10000 輪。

      經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法、Lagrange乘子法施加邊界條件建立的神經(jīng)網(wǎng)絡(luò)求解該算例時(shí),配點(diǎn)方式、神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、激活函數(shù)、優(yōu)化器和學(xué)習(xí)率等設(shè)定均與本文算法求解時(shí)的設(shè)定保持一致,訓(xùn)練完畢后取損失值最小的一輪作為輸出結(jié)果。為探討罰因子取值對(duì)結(jié)果的影響,經(jīng)典罰函數(shù)法和L1精確罰函數(shù)法的罰因子分別取M=1、10、50、100、500 和1000。Lagrange 乘子法的乘子初始值設(shè)定與本文算法求解時(shí)的設(shè)定相同。

      以配點(diǎn)處的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)解與重三角級(jí)數(shù)解[28]的絕對(duì)誤差平均值作為參考,對(duì)上述神經(jīng)網(wǎng)絡(luò)求解結(jié)果的精度進(jìn)行比較。如圖5 所示,使用經(jīng)典罰函數(shù)法時(shí),計(jì)算誤差隨著罰因子的增加呈先減小后增加的趨勢(shì),當(dāng)M=50 時(shí)其數(shù)值精度最高,絕對(duì)誤差平均值為5×10-4m。這表明在使用基于經(jīng)典罰函數(shù)法構(gòu)建的神經(jīng)網(wǎng)絡(luò)時(shí),盲目的增大罰因子其效果可能適得其反。當(dāng)罰因子M=1 時(shí),L1精確罰函數(shù)法具有最好的求解精度,此時(shí)絕對(duì)誤差平均值為5.2×10-4m。隨著罰因子增大,其誤差反而快速增加至與Lagrange 乘子法同數(shù)量級(jí)。對(duì)于本算例而言,Lagrange 乘子法的求解精度最低,絕對(duì)誤差平均值達(dá)到1.4×10-2m,其原因正如引言中所提及的,Lagrange 乘子法建立的神經(jīng)網(wǎng)絡(luò)損失函數(shù)對(duì)應(yīng)的Lagrange 函數(shù)在平衡點(diǎn)處的Hessian矩陣可能為非正定矩陣。本文建立的廣義乘子法經(jīng)過5 次參數(shù)更新之后,罰因子M=32 時(shí)絕對(duì)誤差平均值減小至4.6×10-4m,5 次參數(shù)更新的詳細(xì)情況參見表1。

      表1 Kirchhoff 薄板算例罰因子、乘子更新值Table 1 The updating of penalty factor and multipliers in Kirchhoff thin plate example

      圖5 四種神經(jīng)網(wǎng)絡(luò)模型撓度結(jié)果的絕對(duì)誤差平均值Fig.5 Mean value of the absolute deflection errors resulted by four neural network models

      以矩形簡(jiǎn)支薄板邊界處的撓度計(jì)算結(jié)果為參考,進(jìn)一步對(duì)經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法和本文算法進(jìn)行比較。邊界處撓度理論上為零,經(jīng)典罰函數(shù)法罰因子M=50 時(shí),撓度絕對(duì)值最小為6.1×10-4m;L1精確罰函數(shù)法罰因子M=1 時(shí),撓度絕對(duì)值最小為4.2×10-4m;本文算法經(jīng)過5 次參數(shù)更新后,撓度絕對(duì)值最小達(dá)到3.2×10-4m。本文算法求解出的薄板撓度云圖如圖6 所示,經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法和Lagrange 乘子法均可以獲得與圖6 接近的撓度分布,結(jié)果的主要區(qū)別在于計(jì)算精度。

      圖6 本文算法求解的薄板撓度云圖Fig.6 Deflect distribution of thin plate resulted by the proposed algorithm

      基于上述比較分析,可以發(fā)現(xiàn)本文方法的求解精度整體上要優(yōu)于其他方法。經(jīng)典罰函數(shù)法和L1精確罰函數(shù)法,當(dāng)罰因子取值合適時(shí),求解精度與本文方法具有一定的可比性;若罰因子取值不合理,則計(jì)算結(jié)果誤差較大。由于避開了罰因子的取值問題,因此本文方法的實(shí)用性強(qiáng)于罰函數(shù)法。

      3.2 均布荷載作用下的簡(jiǎn)支梁

      設(shè)有一受均布荷載作用的簡(jiǎn)支梁,如圖7 所示,梁長(zhǎng)l=1 m、梁寬b=0.01 m,梁高h(yuǎn)=0.01 m,均布荷載q=10 N/m2,彈性模量E=1.0 GPa,求梁的撓度方程w(x)。

      圖7 平面簡(jiǎn)支梁示意圖Fig.7 Diagram of a simple supported beam

      該問題的控制方程為:

      邊界條件為:

      使用廣義乘子法構(gòu)造的損失函數(shù)為:

      使用本文涉及的四種不同神經(jīng)網(wǎng)絡(luò)進(jìn)行求解時(shí),神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)均設(shè)定為1-1*10-1,優(yōu)化器為Adam,學(xué)習(xí)率設(shè)定為0.01,域內(nèi)配點(diǎn)數(shù)為10,邊界配點(diǎn)數(shù)為2?;?.1 節(jié)中算例求解的經(jīng)驗(yàn),使用罰函數(shù)時(shí)應(yīng)避免罰因子取值過大,本算例執(zhí)行時(shí),經(jīng)典罰函數(shù)法罰因子采用50 和100 兩種取值,L1精確罰函數(shù)法的罰因子采用1 和50 兩種取值。廣義乘子法求解時(shí)初始設(shè)定為:罰因子M=5,乘子k1=k2=k3=k4=1,放大系數(shù)α=5,誤差閾值ε=1×10-5,參數(shù)γ=0.25。Lagrange 乘子法的乘子初始值設(shè)定與廣義乘子法保持一致。

      四種神經(jīng)網(wǎng)絡(luò)求解得到的撓度曲線如圖8 所示。經(jīng)典罰函數(shù)法、Lagrange 乘子法和廣義乘子法計(jì)算得到的撓度結(jié)果與解析解近乎完全重合,其絕對(duì)誤差量級(jí)為10-4m。L1精確罰函數(shù)法計(jì)算所得的撓度結(jié)果誤差則相對(duì)較大,其絕對(duì)誤差量級(jí)為10-2m,這進(jìn)一步證明了罰因子取值對(duì)基于罰函數(shù)法構(gòu)建的神經(jīng)網(wǎng)絡(luò)求解結(jié)果的影響。

      圖8 采用不同神經(jīng)網(wǎng)絡(luò)計(jì)算的平面彎曲梁撓度曲線Fig.8 Deflection curve of plane bending beam by different neural network models

      圖9 給出了不同神經(jīng)網(wǎng)絡(luò)求解時(shí)的誤差-耗時(shí)曲線。可以發(fā)現(xiàn),由于數(shù)學(xué)理論的不同,四種神經(jīng)網(wǎng)絡(luò)求解過程呈現(xiàn)顯著的差異。罰函數(shù)法的單次訓(xùn)練過程耗時(shí)較短,在向最終解逼近的過程中呈現(xiàn)反復(fù)的來回震蕩現(xiàn)象,L1精確罰函數(shù)法的震蕩幅度略小于經(jīng)典罰函數(shù)法,但在本算例中由于罰因子取值不太合理所以誤差無法繼續(xù)降低。Lagrange 乘子法初期誤差下降較快且無明顯震蕩,當(dāng)誤差下降至10-2m 量級(jí)后,其向最終解逼近時(shí)呈現(xiàn)逐步向下的來回震蕩。本文采用的廣義乘子法,經(jīng)過4 次迭代后誤差達(dá)到收斂標(biāo)準(zhǔn)。第一次迭代時(shí)耗時(shí)較長(zhǎng),原因在于初始值距離最終解較遠(yuǎn),計(jì)算參數(shù)可能不合理。隨迭代輪數(shù)增加,其計(jì)算參數(shù)將根據(jù)最終解的預(yù)測(cè)位置實(shí)時(shí)調(diào)整,后續(xù)迭代明顯耗時(shí)減少。在向最終解逼近過程中,誤差雖然也存在震蕩現(xiàn)象,但每次震蕩后誤差均會(huì)大幅降低。比較四種神經(jīng)網(wǎng)絡(luò)求解該問題的耗時(shí)可發(fā)現(xiàn),本文提出方法總耗時(shí)最少,與Lagrange 乘子法相比甚至呈現(xiàn)數(shù)量級(jí)的區(qū)別,因此在計(jì)算效率方面本文提出的方法明顯優(yōu)于其它的神經(jīng)網(wǎng)絡(luò)方法。

      圖9 采用不同神經(jīng)網(wǎng)絡(luò)計(jì)算的誤差-耗時(shí)曲線Fig.9 Error and time-consuming curves by different neural network models

      此算例求解時(shí),廣義乘子法神經(jīng)網(wǎng)絡(luò)求解4 次迭代過程中的參數(shù)更新情況如表2 所示。

      表2 簡(jiǎn)支梁算例罰因子、乘子更新值Table 2 The updating of penalty factor and multipliers in simple supported beam example

      4 廣義乘子法神經(jīng)網(wǎng)絡(luò)求解的影響因素分析

      4.1 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)求解過程的影響

      針對(duì)3.1 節(jié)中的Kirchhoff 薄板問題,構(gòu)造隱藏層層數(shù)為1 層、2 層和3 層,每層神經(jīng)元數(shù)量分別為10 個(gè)、20 個(gè)和30 個(gè)的神經(jīng)網(wǎng)絡(luò),對(duì)其進(jìn)行求解,觀察神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)求解過程的影響。為簡(jiǎn)單起見將拓?fù)浣Y(jié)構(gòu)表示為2-L*N-1,其中,L為隱藏層層數(shù),N為每層隱藏層的神經(jīng)元數(shù)量,其他參數(shù)設(shè)置與3.1 節(jié)中保存一致。使用不同拓?fù)浣Y(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)進(jìn)行求解,最終得到的誤差耗時(shí)曲線如圖10 所示。

      圖10 不同結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)求解的誤差-耗時(shí)曲線Fig.10 Error and time-consuming curves by different neural network structures

      可以發(fā)現(xiàn),隱藏層層數(shù)為1 層時(shí),神經(jīng)網(wǎng)絡(luò)結(jié)果的絕對(duì)誤差平均值均可收斂至10-3m 左右,增加隱藏層神經(jīng)元數(shù)量可顯著降低神經(jīng)網(wǎng)絡(luò)結(jié)果的誤差。隱藏層層數(shù)為2 層時(shí),隱藏層神經(jīng)元數(shù)量增加對(duì)于降低神經(jīng)網(wǎng)絡(luò)結(jié)果的誤差有一定作用,但是誤差曲線在收斂過程中可能會(huì)產(chǎn)生較大振蕩。隱藏層層數(shù)為3 層時(shí),神經(jīng)網(wǎng)絡(luò)結(jié)果始終存在一定誤差,而且該誤差不會(huì)隨著神經(jīng)元數(shù)量的增加而減小。增加隱藏層層數(shù)與增加神經(jīng)元數(shù)量都會(huì)導(dǎo)致求解耗時(shí)增加,但相對(duì)來說,隱藏層層數(shù)對(duì)計(jì)算效率影響更大。基于上述比較,可認(rèn)為本文建立的廣義乘子法神經(jīng)網(wǎng)絡(luò)求解偏微分方程時(shí),過多的隱藏層層數(shù)反而會(huì)導(dǎo)致計(jì)算效率和求解精度降低。

      4.2 配點(diǎn)數(shù)與隱藏層神經(jīng)元數(shù)量

      理論上,神經(jīng)網(wǎng)絡(luò)的計(jì)算精度與訓(xùn)練集的大小和隱藏層神經(jīng)元數(shù)量密切相關(guān)。基于前面的分析,使用2-1*N-1 的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其中N=5、10、15、20、30、50,其他參數(shù)設(shè)置與3.1 節(jié)中保持一致,選取5×5、10×10、15×15、20×20、30×30 和50×50 等六種不同的配點(diǎn)方式,探討不同配點(diǎn)數(shù)量在不同隱藏層神經(jīng)元數(shù)量下的收斂情況,并將結(jié)果繪制于圖11。

      圖11 不同配點(diǎn)數(shù)與隱藏層神經(jīng)元數(shù)量組合求解的誤差Fig.11 Error resulted by different combinations of collocation points and neurons in the hidden layer

      可以發(fā)現(xiàn),配點(diǎn)數(shù)為5×5 時(shí),不同隱藏層神經(jīng)元數(shù)量的神經(jīng)網(wǎng)絡(luò)求解結(jié)果的絕對(duì)誤差平均值均較大;使用其他配點(diǎn)方式,當(dāng)隱藏層神經(jīng)元數(shù)量超過20 個(gè)時(shí),神經(jīng)網(wǎng)絡(luò)求解結(jié)果的誤差均能降低至10-3m 以下。因此,使用本文建立的廣義乘子法神經(jīng)網(wǎng)絡(luò)求解偏微分方程時(shí),配點(diǎn)數(shù)量不宜過少,且隱藏層神經(jīng)元數(shù)量應(yīng)達(dá)到一定標(biāo)準(zhǔn)。

      5 結(jié)論

      針對(duì)以往物理信息神經(jīng)網(wǎng)絡(luò)采用經(jīng)典罰函數(shù)法進(jìn)行求解時(shí)罰因子取值難以確定的問題,本文結(jié)合廣義乘子法提出一種改進(jìn)方法,經(jīng)算例驗(yàn)證,可得出如下結(jié)論:

      (1)與使用經(jīng)典罰函數(shù)法、L1精確罰函數(shù)法和Lagrange 乘子法施加邊界條件構(gòu)造的神經(jīng)網(wǎng)絡(luò)相比,采用廣義乘子法施加邊界條件構(gòu)造的神經(jīng)網(wǎng)絡(luò)具有更好的數(shù)值精度和更高的求解效率,而且求解過程更加穩(wěn)定。

      (2)使用本文提出的方法求解偏微分方程組時(shí),神經(jīng)網(wǎng)絡(luò)隱藏層層數(shù)不宜過多。隱藏層層數(shù)設(shè)置合理的前提下,隱藏層神經(jīng)元數(shù)量和配點(diǎn)數(shù)量均應(yīng)達(dá)到一定標(biāo)準(zhǔn)。

      猜你喜歡
      乘子邊界條件廣義
      Rn中的廣義逆Bonnesen型不等式
      再談單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
      一類帶有Stieltjes積分邊界條件的分?jǐn)?shù)階微分方程邊值問題正解
      帶有積分邊界條件的奇異攝動(dòng)邊值問題的漸近解
      從廣義心腎不交論治慢性心力衰竭
      雙線性傅里葉乘子算子的量化加權(quán)估計(jì)
      單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
      單位球上正規(guī)權(quán)Zygmund空間上的點(diǎn)乘子
      有限群的廣義交換度
      帶Robin邊界條件的2維隨機(jī)Ginzburg-Landau方程的吸引子
      彭州市| 姜堰市| 西盟| 阿鲁科尔沁旗| 依安县| 嘉峪关市| 进贤县| 白山市| 延安市| 曲麻莱县| 吴川市| 文昌市| 乐昌市| 卢氏县| 浮山县| 五大连池市| 进贤县| 上饶市| 乐亭县| 稻城县| 额敏县| 桃园市| 崇左市| 长治市| 呼伦贝尔市| 中阳县| 洱源县| 晋州市| 且末县| 夏河县| 西丰县| 宁明县| 望都县| 都安| 宜兴市| 贞丰县| 伊春市| 石渠县| 东兴市| 翁牛特旗| 安阳市|