GPT-PINN架構
勞倫斯利弗莫爾實驗室 DDPS 研討會
Brown CRUNCH小組研討會
Galerkin ROM 數值分析研討會
物理資訊神經網路 (PINN) 已證明自己是一個強大的工具,可以利用深度神經網路的表達能力和現代異構硬體的計算能力來獲取非線性偏微分方程 (PDE) 的數值解。然而,它的訓練仍然很耗時,特別是在多查詢和即時模擬設定中,而且其參數化往往過於過度。在本文中,我們提出了生成式預訓練 PINN(GPT-PINN)來緩解參數偏微分方程設定中的這兩個挑戰。 GPT-PINN 代表了參數系統的全新元學習範式。作為網絡的網絡,其外網絡/元網絡是超精簡的,只有一個隱藏層的神經元數量顯著減少。此外,每個隱藏神經元的活化函數都是在明智選擇的系統配置下預先訓練的(完整)PINN。元網路自適應地「學習」系統的參數依賴性,並一次「生長」這個隱藏層一個神經元。最後,透過包含在這組自適應選擇的參數值上訓練的極少數網絡,元網絡能夠準確有效地為整個參數域的參數系統產生替代解決方案。
1 麻薩諸塞大學達特茅斯分校數學系,麻薩諸塞州北達特茅斯
KG/B:
Python = 3.11.4
NumPy = 1.24.3
PyTorch = 2.1.2+cu121
Matplotlib = 3.7.1
AC:
Python = 3.9.12
NumPy = 1.24.3
PyTorch = 2.3.1+cu118
TensorFlow = 2.10.0
Matplotlib = 3.9.0
不同軟體包版本的組合可能會在幾乎沒有變化的情況下運行程式碼。
該程式碼的實現目的是主要在 GPU 上執行計算。 CPU計算可以完成,但是需要更長的時間。
Klein-Gordon、Allen-Cahn 和 Burgers 的方程式檔案目前可用。執行KG_main.py
、 B_main.py
或AC_main.py
(以及位於各自目錄中的資料夾中的其他檔案)將開始全 PINN 和 GPT-PINN 的訓練,將 GPT-PINN 隱藏層大小從1 至15(克萊因-戈登)或9(伯格斯和艾倫-卡恩)。然後根據各種參數對最終 GPT-PINN 進行測試,並且可以使用繪圖檔案( KG_plotting.py
、 B_plotting.py
或AC_plotting.py
)來視覺化訓練和測試的結果。 PINN 或 GPT-PINN 中的各種參數可以在主檔案中輕鬆變更。作為預設設置,一旦達到神經元總數,GPT-PINN 就會再次訓練,以找到使用最終神經元數量獲得的最大損失。這樣做是為了提供有關 GPT-PINN 最終狀態的更多資訊。
克萊因戈登運行時間
漢堡的運行時間
艾倫-卡恩運行時間
您可以在下面找到 Bibtex 引文:
@article{chen2024gpt,
title={GPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs},
author={Chen, Yanlai and Koohy, Shawn},
journal={Finite Elements in Analysis and Design},
volume={228},
pages={104047},
year={2024},
publisher={Elsevier}
}