劉文慧,石琳,郭勇,袁冬芳*
(1.內蒙古科技大學 信息工程學院,內蒙古 包頭 014010;2.內蒙古科技大學 理學院,內蒙古 包頭 014010)
微分方程常用的數值方法有Runge-Kutta方法、線性多步方法、預測校正方法、有限元、有限差分和有限體積等[1,2].傳統的數值方法計算存儲量和計算時間嚴重制約了高維問題的求解.近年來,人工神經網絡在圖像識別技術,語音識別和文本分析得到巨大的應用[3-5].在電力系統[6]方面、化學工程[7]和環境工程等[8]領域引入神經網絡方法來解決各自領域未能解決的任務.經過證明,多層神經網絡可以逼近任何非線性函數,因此利用這個良好的性質對微分方程的求解進行研究.
1997年LAGARIS等[9]開始用人工神經網絡對常微分方程研究,通過算例看出求解的高精度和泛化性.JIANYUA用徑向基神經網絡來求解橢圓型偏微分方程[10].后來,相關研究人員利用小波神經網絡研究非線性函數一階導數的逼近[11].LEE S T[12]基于小波神經網絡,利用蝴蝶優化算法求解二維橢圓偏微分方程,最后從算例說明其算法的高精度和高效率性.
神經網絡由最初的單層感知器發展到現在的多層神經網絡結構.多層結構的神經網絡具有更大容量,可逼近更大更復雜模型.神經網絡的基本結構是由神經元構成,如圖1,神經元有輸入信號和輸出信號.兩者信號之間通過神經元內部決定,神經元的數學模型有Sigmoid函數,Tanh函數,Relu函數等.不同的場景應用的激活函數不同.

圖1 單個神經元結構圖
采用Sigmoid函數作為激活函數.其公式為
(1)
相關理論證明多層神經網絡可逼近任何非線性函數.采用3層神經網絡作為訓練模型,模型見圖2.3層神經網絡的基本結構由輸入層、隱藏層和輸出層組成,其中輸入和輸出的關系見式(2).

圖2 3層神經網絡示意圖
N(X)=w2φ(w1φ(wX+b)+b1) .
(2)
當神經網絡結構確定后,要對神經網絡進行學習,優化出逼近真實模型的神經網絡參數.學習之前需要設置1種衡量的指標來判斷真實模型和逼近模型的誤差.常用的誤差公式是均方差函數,對于m個訓練樣本{(x1,y1),(x2,y2)…(xm,ym)},神經網絡輸出{n1,n2…,nm},則根據均方差函數建立損失函數為:
(3)
神經網絡模型是關于權值w和閾值b的函數,不同的權值和閾值表示不同的模型.神經網絡主要對權值和閾值進行學習,在每次迭代后更新w和b逼近真實模型.當損失函數建立后,選擇1種神經網絡學習方法.神經網絡學習的方法有梯度下降法和共軛梯度法.梯度下降法常作為神經網絡的學習規則.權值和閾值學習規則為:
wt=wt-1+Δw,
(4)
bt=bt-1+Δb,
(5)
(6)
(7)
式中:η為學習率,學習率太大不容易收斂,太小導致神經網絡學習速度過慢.
微分方程的一般形式及定解條件可描述為:
(8)
對于某個具體的方程既要滿足微分,還要滿足邊界條件約束為
(9)
為了采用神經網絡求解微分方程,將損失函數構造為兩項和的形式,如式(10).損失函數中的第一項滿足對微分方程的約束,如式(11),第二項滿足對邊界條件的約束,如式(12).
Loss=LossMSE,D+LossMSE,B.Cs,
(10)
(11)
LossMSE,B.Cs=mean((N(xB.Cs)-Ψ(XB.Cs))2+(N(XB.Cs)-Ψ(XB.Cs))2+(2N(XB.Cs)-2Ψ(XB.Cs))2+…(nN(XB.Cs)-nΨ(XB.Cs))2) .
(12)
考察4個微分方程算例來進行說明.
算例1:
其中求解的區間在[0,1].該方程的邊界條件
該方程的解析解
Ψ(x)=-2ln(1+x2) .
選擇具有2個隱藏層,10個神經元,學習率為0.001的3層神經網絡進行模型訓練.
由圖3可見,神經網絡得到的近似解和解析解十分相似,平均誤差在千分之一.為進一步說明神經網絡的高精度特性,將真實模型的一階導數和二階導數與神經網絡的一階導數和二階導數進行對比,對比圖如圖4所示,由圖可看出神經網絡近似解的一階即二階導數和真實解導數的誤差也在千分之一.神經網絡的精度比傳統精度有著很大提升.為了驗證模型的精度,在方程定義區間隨機選取100個點樣本進行測試驗證,可看出測試樣本的精度和解析解也是十分吻合,如圖5所示.

圖3 算例1訓練模型和真實模型及其誤差圖(a)神經網絡訓練和真實模型圖;(b)訓練和真實模型誤差圖

圖4 算例1訓練模型和真實模型一階導及二階導圖(a)神經網絡訓練和真實模型一階導;(b)神經網絡訓練和真實模型二階導

圖5 算例1測試模型和真實模型及其誤差圖(a)神經網絡測試和真實模型圖;(b)測試和真實模型誤差圖
算例2:
邊界條件:
φ(0,y)=0,φ(1,y)=0,
φ(x,0)=0,φ(x,1)=sin(πx) ,
定義區間[0,1]×[0,1],方程解析解

圖6 算例2解析解和神經網絡訓練解圖(a)真實模型圖;(b)神經網絡訓練模型

圖7 算例2解析解和神經網絡訓練解絕對誤差圖
算例3:考察二階偏微分方程.
邊界條件:
φ(0,y)=y3,φ(1,y)=(1+y3)e-1,
φ(x,0)=xe-x,φ(x,1)=(1+x)e-x,
求解范圍[0,1]×[0,1],方程解析解
φ(x,y)=e-x(x+y3) .

圖8 算例3解析解和神經網絡訓練解圖(a)真實模型圖;(b)神經網絡訓練模型

圖9 算例3解析解和神經網絡訓練解絕對誤差圖
算例4考察二階偏微分方程:
其中:
邊界條件:
φ(0,y)=ey+2-1(1+y)2
φ(1,y)=ey-1+2-1(1+y)2
φ(x,0)=e-x+2-1,φ(x,1)=e1-x+2
求解范圍[0,1]×[0,1],方程解析解為:
φ(x,y)=ey-x+2-1(1+y)2

圖10 算例4解析解和神經網絡訓練解(a)真實模型圖;(b)神經網絡訓練模型

圖11 算例4解析解和神經網絡訓練解絕對誤差圖
采用神經網絡方法對偏微分方程的求解提供了1種通用的解決方案.基于神經網絡的方法與傳統數值方法相比優勢在于良好的泛化性以及高效的求解效率.通過4個算例充分說明神經網絡方法能夠精確的逼近微分方程的真實解.方法為微分方程的求解提供了新的解決方案.此外,將繼續針對邊界梯度較大的微分方程研究基于神經網絡的求解方法.