MerchantBank Consulting
サブページ画像

補足資料 for PINNs

Ⅰ PINNs
Ⅰ-1 PINNsは有限要素法に勝てない?
【0】はじめに
 ケンブリッジ大学[*1]の研究者は、「PINNsは、有限要素法に勝てない」と主張する論文[*2](以下、本論文)を発表した(23年2月8日)。言及されているPINNsは、プレーン・バニラなPINNsである。勝てない、の詳細については【1】を参照。以下では、プレーン・バニラなPINNsを対象としていることについて述べる。
 プレーン・バニラなPINNsを比較対象とすることには、あまり意味はないと思われる。機械学習・深層学習モデルには、「あらゆる問題に対して、良い性能を示すような万能モデルは、存在しない」ことが知られている(ノーフリーランチ定理と呼ばれる)。ニューラルネットワークは、その柔軟性に最大の特徴があり、その柔軟性故に、多くのバリアント(派生種)が生まれている。各バリアントは、特定タスクに対して、それぞれの強みを持っている。
 これは、PINNsも同様である。プレーン・バニラなPINNsは、良い結果をもたらさないことがしばしば、ある。そのため、多くのバリアントが開発されている。プレーン・バニラなPINNsを対象としてPINNs全体を評価することは、「プロンプトを工夫せずに、出力された結果でchat-GPTを評価すること」と同程度の意味しかないと考えられる。ただし、PINNsの基礎体力を測るという観点からは、意味があるだろう。

【1】本論文の主張
 本論文は、「プレーン・バニラなPINNsは、速度と精度で、有限要素法(FEM)に勝てない」と主張する。 3つの物理方程式(空間次元は、方程式によって、1次元から3次元)を対象として、比較が行われた。速度とは、「計算時間と評価時間†の長短」を意味している。L2相対誤差で計測される精度は、計算と評価それぞれについて算出される。
† 原語は、evaluation time。PINNsの場合は、学習済の代理モデルに対し新たな入力を行い、出力を得るまでの時間として測定される。FEMは、ある固定メッシュ上で解いた偏微分方程式の解を、別のメッシュに内挿することが可能である。つまり、FEMの場合は、別のメッシュに内挿する時間として測定される。

【2】セットアップ
(1) 対象とする物理方程式 
1⃣ ポアソン方程式
 ポアソン方程式は、2階楕円型線形偏微分方程式である。物理学の様々な場面で、用いられる。ポアソン方程式には解析解が存在するので、解析解をグランドトルゥースとして、L2相対誤差を計算する。本論文では、1次元から3次元までの空間次元を取り扱っている。
2⃣ アレン・カーン方程式
 アレン・カーン方程式は、反応拡散系を記述する2階放物型非線形偏微分方程式である。物理学の文脈では、相分離現象のモデル方程式として使用される。流体力学の文脈では混相流のモデル方程式として使われる。アレン・カーン方程式には、解析解は存在しない。従って、細かいメッシュを使ったFEMで求めた解をグランドトルゥースとして、L2相対誤差を計算する。空間次元は、1次元のみを取り扱っている。
† より正確に言うと、半線形(semi-linear)である。アレンカーン方程式は2階偏微分方程式であるが、非線形性は、2階偏微分項には存在しないため、半線形である。
3⃣ 半線形シュレーディンガー方程式
 非線形シュレーディンガー方程式は、2階双曲型非線形偏微分方程式である。この場合の非線形は、半線形である。半線形シュレーディンガー方程式が、どのような物理的場面で扱われるのか、寡聞にして知らない。(本論文で取り上げた)半線形シュレーディンガー方程式には、解析解は存在しない。従って、細かいメッシュを使ったFEMで求めた解をグランドトルゥースとして、L2相対誤差を計算する。空間次元は、1次元及び2次元を取り扱っている。

(2) FEM
 物理方程式の解は、パイソン・インターフェースを持つオープンソースのFEMソルバーである FEniCSを用いて求めた。FEMでは、変数関数を基底関数の線形結合で表現する。本論文では、基底関数として、区分線形関数(ハット(hat)関数)を採用している。基底関数として用いられるハット関数は、P1基底とも呼ばれる。P1基底の採用は、きわめて標準的である。
† 一般に、三角形上で用いられるk次の多項式である基底関数を、Pk基底と呼ぶ。従って、P1基底は三角形上で1次多項式を基底関数として用いる、という意味になる。

(3) PINNs
 モデル・アーキテクチャは、全結合のフィードフォワード・ニューラルネットワーク。幅と深さは、各物理方程式に対して、様々なバリエーションが用いられる。活性化関数はtanhを採用している。最適化は、2段階方式で行われた。まずAdamを使い、次にL-BFGSを使う。これは、収束を速めるために、PINNsでは普通に使われる方法である(L-BFGSが、学習開始時直ぐから使用されることは少ない)。学習率は、物理方程式によって異なるが、1×10-4もしくは、1×10-3を使用している。L-BFGSに切り替えるタイミングも、物理方程式によって異なる。
 コロケーション点をサンプリングする手法は、ラテン・ハイパーキューブ・ サンプリング法を採用している。なお、エポックごとにコロケーション点を再サンプリングする。ただし、L-BFGS では再サンプリングが許可されていないため、Adamから切り替えるタイミングで、1 度だけサンプリングする。
 ハードウェアは、NVIDIA Quadro P6000 GPUが使用された。ソフトウェア・ライブラリには、JAXが使用された。
† PDE損失項♭1をソフト正則化項♭2とする(プレーンバニラな)PINNsは「精度が悪過ぎて」ほぼ使えないと主張する論文[*3]では、学習の最初からL-BFGSを用いている。(公開が21年11月とやや古い)[*3]では、カリキュラム正則化という手法を使えば、精度(L2相対誤差)が2桁改善すると書かれている。カリキュラム正則化とは、学習が容易なパラメータから学習を始めて徐々にパラメータを大きくしていく、という手法を意味している(名前の由来は、カリキュラム学習)。複雑なことはせず、オプティマイザを「Adamから初めてL-BFGSに移行」とすることで解決するのではないだろうか?
♭1 PINNsの損失関数の内、「支配方程式=0」で構成される損失関数を指している。
♭2 損失関数=重み×PDE損失項+初期損失項+境界損失項、として、損失関数最小化を目指す手法は、ソフトと形容される。損失関数=0を目指すならハードである。先の損失関数では、PDF損失項のみに重みが付いていて、PDE損失項がソフト正則化項となっている。なお、正則化項が加算されているので、左辺は損失関数ではなく、コスト関数と呼ぶ方が正確である。

【3】比較結果
(0) 為念・リマインド 
 精度は、L2相対誤差で評価される(単位なし)。計算時間と評価時間の単位は、秒である。
(1) ポアソン方程式 
1⃣ 1次元ポアソン方程式 
 境界条件は、ディリクレ条件を使用した。
 PINNsのセットアップ:学習率1×10-4。エポック数15,000。隠れ層の数=0,1,2(隠れ層0を設定する必要があるだろうか?)。幅={5、10、20、40}。
㈠ 計算精度・・・PINNsは、層の深さと幅の組み合わせで、10-6~10-1と大きく振れる。FEMは、10-7~10-4である。FEMの方が精度が高い。
㈡ 計算時間・・・PINNsは、101秒のオーダー。一方、FEMは10-2秒 のオーダーであり、およそ3桁程度速いことになる。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である(つまり、FEMの方が高精度)。
㈣ 評価時間・・・PINNsは、10-1秒 のオーダー。FEMは、10-2秒 のオーダー。FEMが10倍位は速い。
2⃣ 2次元ポアソン方程式 
 境界条件は、混合境界条件(つまりある部分でディリクレ条件、他でノイマン条件)を使用した。
 PINNsのセットアップ:学習率1×10-3。エポック数25,000。隠れ層の数=0,1,2,3。幅={20、40、60、120}。
㈠ 計算精度・・・PINNsは、10-2~10-1。FEMは、10-5~10-3である。FEMの方が精度が高い。
㈡ 計算時間・・・PINNsは、102秒のオーダー。一方、FEMは10-1~101秒のオーダーであり、1~3桁程度速いことになる。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である(つまり、FEMの方が高精度)。
㈣ 評価時間・・・PINNsは、10-1秒 のオーダー。FEMは、101秒 のオーダー(計算時間よりも、遅い)。PINNsが2桁程度速い。
3⃣ 3次元ポアソン方程式 
 境界条件は、ディリクレ条件を使用した。
 PINNsのセットアップ:学習率1×10-3。エポック数20,000。隠れ層の数=1,2,3,4。幅={20、60}。
㈠ 計算精度・・・PINNsは、およそ10-3程度。FEMは、10-3~10-2である。PINNsの方が高精度と言っても良いのではないだろうか。
㈡ 計算時間・・・PINNsは、102秒のオーダー。一方、FEMは10-1秒~101秒。1~3桁程度速いことになる。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である。
㈣ 評価時間・・・PINNsは、10-1秒 のオーダー。FEMは、101秒 のオーダー。2次元のケースと同様に、PINNsが2桁程度速い。

(2) アレン・カーン方程式
 アレン・カーン方程式は、1次元のみである。境界条件は、周期境界条件を設定(つまりu(t,0)=u(t,1)という形式の境界条件)。
 PINNsのセットアップ:学習率1×10-4。エポック数50,000。ただし、最初の7,000 エポックの間は、「初期条件に関する損失関数(初期損失関数)に対してのみ」Adam オプティマイザーを実行した。これは、損失関数全体に対して最適化を実行すると、初期条件を学習するのに苦労したため、である。また、初期損失関数には、重み1,000を掛けた。隠れ層の数=2,3,4,5,6。幅={20、100、500}。
㈠ 計算精度・・・PINNsは、およそ10-1程度。FEMは、上限が10-1程度であり、FEMの方が精度が高い。
㈡ 計算時間・・・PINNsは、103秒~104秒。一方、FEMは10-2秒。FEMが、5~6桁程度速いことになる(相手にならないレベル)。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である(故に、FEMが高精度)。
㈣ 評価時間・・・PINNsは、10-1秒 のオーダー。FEMは、10-3秒。FEMが2桁程度速い。

(3) 半線形シュレーディンガー方程式
1⃣ 1次元 
 境界条件は、周期境界条件を課した。解は複素数値で、実部と虚部がある。ほぼ同じ結果なので、実部に対してのみ、結果を示す。
 PINNsのセットアップ:学習率1×10-4。エポック数50,000。隠れ層の数=2,3,4,5。幅={20、100}。
㈠ 計算精度・・・PINNsは、およそ10-1程度。FEMも10-1程度であるが、PINNsの方が精度が高い。
㈡ 計算時間・・・PINNsは、103秒。一方、FEMは101秒に至らない。FEMが、2桁程度速いことになる。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である(故に、PINNsの方が高精度)。
㈣ 評価時間・・・PINNsは、10-1秒 のオーダー。FEMは、10-2秒に至らない。FEMが1桁程度速い。
2⃣ 2次元 
 境界条件は、周期境界条件を課した。2次元でも、実部と虚部の結果は、ほぼ同じなので、実部に対してのみ、結果を示す。
 PINNsのセットアップ:学習率1×10-3。エポック数50,000。隠れ層の数=2,3,4。幅={20、100}。
㈠ 計算精度・・・PINNsは、およそ100程度。FEMは10-1程度であり、FEMの方が精度が高い。
㈡ 計算時間・・・PINNsは、103秒。一方、FEMは100秒~101秒。FEMが、2~3桁程度速いことになる。
㈢ 評価精度・・・PINNs及びFEMの評価精度は、どちらも計算精度と同程度である(故に、FEMの方が高精度)。
㈣ 評価時間・・・PINNsは、10-1秒~100秒。FEMは、10-1秒に至らない。FEMがおよそ1桁程度速い。

【4】考察 
(1) 本論文では、プレーンバニラなPINNsはFEM勝てないと総括している。それは、そうだろう。 ただ局地戦で言うと、プレーンバニラなPINNsでさえ、2次元及び3次元ポアソン方程式では、計算精度・評価精度で勝っている(少なくとも負けていない)。計算時間は負けているが、評価時間では2桁程度速い。PINNsは計算時間で、FEMや差分法と勝負することは想定していないから、評価時間で勝てば十分であろう。
(2) 反応拡散方程式であるアレン・カーン方程式に対して、プレーンバニラなPINNsが役に立たないという結果が得られた。それも、そうなのであろうという感じ。Ⅰ-5 PINNsのベンチマークでは、カオス的挙動を示す偏微分方程式というカテゴリーで、グレイ・スコット方程式(GS方程式)という反応拡散方程式が取り上げられている。GS方程式に対しては、FB-PINNsというバリアントが良い結果を示した。良いといっても10-2程度であるが、本論文におけるFEMの精度は10-1程度であるから、PINNSの方が高精度である。なお、このケースのグランドトルゥースも有限要素法を使った数値解である(ソルバーはCOMSOL)。
 アレン・カーン方程式にFB-PINNsが有効かは分からないが、アレン・カーン方程式に相性が良いPINNsを用意すれば良いだけ、という話であろう。
(3) 本論文では、「アレン・カーン方程式は、PINNsと相性が良いと予想した」と書かれているが、「プレーンバニラなPINNsと相性が良い」わけは無いだろう。
(4) なお、本論文では、最適化手法として「まずAdam、その後L-BFGS」が採用されている。既述通り、これはPINNsで普通に使われる(特殊ではないという意味)。L-BFGSに切り替えるタイミングが悪いと性能が落ちることが知られているが、本論文では、その心配はないと思われる。
(5) また、本論文では、初期損失関数の重みを調整することで、たまたま良い結果を得ている。損失関数の重みを調整することで、PINNsの性能を向上させることは、常とう手段である。従って、当然の結果とも言えるだろう。さらに言えば、他の損失関数の重みも適応的に調整させる枠組みを採用すれば、さらに良い結果が得られるであろう。
(6) 半線形シュレーディンガー方程式であっても2次元のケースでは、プレーンバニラなPINNsでさえ、計算精度・評価精度は、FEMに勝っている。その方が、サプライズである。
(7) アレン・カーン方程式は、実務上というか産業応用を考えた場合に、重要な方程式である。ただ、より重要な方程式として、ナヴィエ・ストークス方程式(NS方程式)がある。特に、高レイノルズ数と圧縮性流体を考える必要がある航空宇宙分野でPINNsが使えると、インパクトが大であろう。

【尾注】
*1 所属学科は、応用数学と理論物理学、コンピュータ科学、数学とコンピュータ科学のようである。
*2 Tamara G. Grossmann et al.、CAN PHYSICS-INFORMED NEURAL NETWORKS BEAT THE FINITE ELEMENT METHOD?、https://arxiv.org/pdf/2302.04107.pdf
*3 Aditi S. Krishnapriyan et al.、Characterizing possible failure modes in physics-informed neural networks、https://arxiv.org/pdf/2109.01050.pdf


お問い合わせ
  

TOP