GPT-PINN アーキテクチャ
ローレンス・リバモア研究所でのDDPSセミナー
Brown CRUNCHグループセミナー
Galerkin ROM の数値解析セミナー
Physics-Informed Neural Network (PINN) は、ディープ ニューラル ネットワークの表現力と最新の異種ハードウェアの計算能力を活用して、非線形偏微分方程式 (PDE) の数値解を取得するための強力なツールであることが証明されています。ただし、トレーニングには依然として時間がかかり、特にマルチクエリやリアルタイム シミュレーション設定では時間がかかり、パラメーター化が過剰になることがよくあります。この論文では、パラメトリック PDE の設定における両方の課題を軽減する生成事前トレーニング PINN (GPT-PINN) を提案します。 GPT-PINN は、パラメトリック システムのためのまったく新しいメタ学習パラダイムを表します。ネットワークのネットワークとして、その外側/メタネットワークは超削減され、ニューロンの数が大幅に減少した隠れ層が 1 つだけあります。さらに、各隠れニューロンでのその活性化関数は、慎重に選択されたシステム構成で事前トレーニングされた (完全な) PINN です。メタネットワークは、システムのパラメトリック依存性を適応的に「学習」し、この隠れ層を一度に 1 つのニューロンずつ「成長」させます。最終的に、メタネットワークは、適応的に選択されたパラメータ値のこのセットでトレーニングされた非常に少数のネットワークを包含することにより、パラメータ ドメイン全体にわたるパラメトリック システムの代理解を正確かつ効率的に生成できます。
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 から増加します。 1 ~ 15 (Klein-Gordon) または 9 (Burgers' および Allen-Cahn)。最終的な 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}
}