物理信息神經網絡 (PINN) 是一種神經網絡,它將微分方程描述的物理定律納入其損失函數中,以引導學習過程得出更符合基本物理定律的解。
PINN 可用于:
逼近偏微分方程 (PDE) 和常微分方程 (ODE) 的解。
求解逆問題,例如基于有限的數據估計模型參數。
使用 Deep Learning Toolbox,您可以構建和訓練 PINN,從而實現快速預測性分析。您可以將 PINN 與 MATLAB 和 Simulink 相集成,以進行系統級仿真、控制設計和設計優化。
物理信息神經網絡 (PINN) 在深度學習模型的訓練中包含支配現實的物理定律,從而能夠對復雜現象進行預測和建模,同時遵守基本物理原理。
PINN 的優點
PINN 是一類物理信息機器學習方法,可將物理知識與數據無縫集成。在求解涉及 PDE 和 ODE 的問題時,通常會將 PINN 與純數據驅動方法和傳統數值方法進行比較。
純粹數據驅動方法僅從輸入和輸出數據中學習數學關系,而 PINN 與之不同:
使用先驗物理知識。
在訓練數據集之外作出更準確的預測。
在訓練數據有限或含噪的情況下更有效。
與求解微分方程的傳統數值方法(如用于 PDE 的有限元分析)不同,PINN 具有以下特點:
無網格。
能逼近高維 PDE 解。
可求解缺失模型參數,如未知的 PDE 或 ODE 系數。
可求解沒有邊界數據的不適定問題。
可輕松納入稀疏或含噪測量。
雖然 PINN 與純粹數據驅動方法和傳統數值方法相比具有潛在優點,但也存在一些限制和挑戰,其中包括:
有限收斂理論
缺乏統一的訓練策略
計算高階導數的計算成本
難以學習 PDE 解的高頻和多尺度分量
然而,PINN 是充滿活力的研究領域,并且在不斷進步,有望解決和克服當前面臨的上述挑戰和限制。
如何在 PINN、數據驅動方法和傳統數值方法之間作出選擇,取決于您的具體應用。下表總結了每種方法的優點和限制。
特征比較:PINN、純數據驅動方法(僅從輸入-輸出數據中學習數學關系)和傳統數值方法(如用于逼近 PDE 解的有限元分析)。
PINN 傳統神經網絡的區別
與傳統神經網絡的不同之處在于,PINN 能夠以微分方程形式納入有關問題的先驗專業知識。這些附加信息使 PINN 能夠在給定的測量數據之外作出更準確的預測。此外,額外的物理知識還能在存在含噪測量數據的情況下對預測解進行正則化處理,從而使 PINN 能夠基于真正的基本信號進行學習,而不是對含噪數據過擬合。
例如,假設已收集某系統的含噪測量值 θ_{meas},目標是用前饋人工神經網絡預測系統的將來值 θ_{pred}。該網絡使用現有測量值進行訓練,并將用于預測未知的將來值。訓練回歸神經網絡通常需要盡量減小神經網絡預測值與所提供測量值之間的均方誤差。
傳統的神經網絡會調整參數,以盡量減小網絡預測值與觀測的測量之間的誤差。
神經網絡很難準確預測訓練數據之外的系統值。
使用 Deep Learning Toolbox 中的 trainnet 函數訓練的原始神經網絡會過擬合含噪測量值,在 t 超出可用范圍時表現不佳。
獲取更多數據可以提高預測效果,但這種方法可能成本過高,或對許多應用來說根本不適用。然而,領域專家往往對控制所研究系統的基本物理過程有更深入的了解。具體來說,在這里,測量值表示的是起重機上擺動的有效負載相對于垂直線的位移角度。此過程可以簡單地用阻尼擺來表示,對于小角度來說,可以用線性二階微分方程來近似建模:
θ^{''}(t)+2βθ^{′}(t)+ω^{2}_{0}θ(t)=0
PINN 并沒有忽略這些知識,而是將微分方程作為附加的物理信息項納入損失函數中。PINN 在域中的其他點上計算微分方程的殘差,這為 PINN 提供了更多信息,而無需更多測量值。此簡單示例當然可以通過解析方式求解,但它旨在說明 PINN 背后的概念。
Deep Learning Toolbox 中提供的 PINN 可調整其參數,以平衡網絡的預測值與觀測的測量值之間的誤差最小化和物理損失。
在訓練過程中,PINN 會在擬合給定測量值和基本物理過程之間找到平衡點。
與傳統神經網絡相比,使用 Deep Learning Toolbox 創建和訓練的 PINN 能在測量數據之外作出更好的預測,抗噪的穩定性也更強。(請參閱 MATLAB 代碼。)
通過納入額外的物理損失項,PINN 在存在含噪測量值和無測量數據情況下的預測效果優于傳統神經網絡。
PINN 的工作原理
PINN 使用優化算法以迭代方式更新神經網絡參數,直到指定的物理信息損失函數值降至可接受的水平,從而推動網絡趨向微分方程的解。
在針對擺方程這樣的 ODE 訓練 PINN 時,優化算法會調整神經網絡的參數,以將損失函數(包括自動微分 (AD) 的微分方程殘差、邊界和初始條件,以及可選的其他標注數據)降至可接受的水平。
PINN 包括損失函數 L,由以下幾個項組成:物理信息損失項 L_{Physics};計算網絡預測的值與初始和/或邊界數據規定的值之間誤差的可選項 L_{Conds};以及其他額外的測量值 L_{Data}。物理信息損失項使用自動微分 (AD) 或其他數值微分法計算微分方程在域中各點的殘差。由于物理信息項并不計算預測值與目標值之間的誤差,因此可以將此項視為無監督損失項,也就是說,可以使用域中的任何點對網絡進行訓練,即使沒有在這些點上的測量值也是如此。
PINN 于 2017 年首次推出,現在有許多變體,其中包括:
貝葉斯 PINN (BPINN),它們使用貝葉斯框架支持不確定性量化
變分 PINN (VPINN),它們將 PDE 的弱形式納入損失函數中
一階公式化 PINN (FO-PINN),它們在求解高階 PDE 時比標準 PINN 更快、更準確
此外,PINN 還可與不同神經網絡架構結合使用,如圖神經網絡 (GNN)、傅里葉神經算子 (FNO)、深度算子網絡 (DeepONet) 等,從而產生了出這些架構的所謂物理信息版本。
MATLAB 和 Deep Learning Toolbox 全面支持 PINN 的開發,從創建或導入不同神經網絡架構,到使用 AD 定義自定義物理信息損失函數,再到使用 ADAM 或 L-BFGS 等基于梯度的優化算法進行訓練,最后到使用高級 MATLAB 圖形可視化解。
PINN 的應用
PINN 可充分利用深度學習的強大功能,同時改進對物理定律的遵從,這使其成為一種多功能工具,適用于完全或部分已知物理定律的應用,例如具有未知系數的 PDE 或 ODE。PINN 的應用包括:
熱傳遞,專門用于熱分布和傳遞過程建模。PINN 可以將用于材料和系統熱過程建模的控制方程(如熱方程)嵌入損失函數中。這種方法可確保解符合這些物理定律,從而得出在物理上合理的預測。此外,PINN 還能取代高成本的數值仿真,在設計優化應用中快速逼近參數化的幾何形狀上的溫度分布。而且,PINN 還可用于逆問題以確定未知的材料屬性,如熱導率。
計算流體動力學 (CFD),特別是通過在損失函數中納入納維-斯托克斯方程來逼近流體的速度、壓力和溫度場。PINN 可用于無網格正仿真以準確預測這些量;也可用于逆問題,目的是從觀測的數據推斷未知參數或輸入,如邊界條件、源項或流體屬性。
結構力學,通過將彈性方程和結構動力學方程等控制物理定律直接嵌入損失函數中,求解正逆問題。這種集成使 PINN 能夠準確預測各種負載和條件下的變形、應力和應變等結構響應,以及根據觀測的數據識別未知的材料屬性或外部負載。PINN 利用物理原理指導學習過程,可減少對大量數據集的依賴,在傳統解析解不可行或數據匱乏的情況下尤其有用。PINN 的靈活性使其能夠處理復雜的問題,包括非線性材料行為和多物理建模。
在使用 Deep Learning Toolbox 創建和訓練 PINN 后,PINN 可與 Optimization Toolbox 無縫集成以用于設計優化、與 Simulink 連接以用于系統級仿真,還可用于其他各種應用。
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100712 -
函數
+關注
關注
3文章
4327瀏覽量
62569 -
機器學習
+關注
關注
66文章
8406瀏覽量
132561
原文標題:什么是物理信息神經網絡 (PINN)?
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論