こんにちは、AITCの飯干です。前回に引き続き、物理現象をシミュレーションするニューラルネットワークPINNsについてご紹介します。
前回記事のご紹介
前回のコラムでは、"式で表すことができた物理現象はPINNsでシミュレーションが可能"という説明を行いました。 前回記事をご覧になってない方はぜひお読みいただければと思います。
この前回記事を読まれた方の中には、「実際にどのような現象をシミュレーションすることができるのか?」と、疑問に思われた方もいらっしゃるのではないでしょうか?
その答えは、「PINNsではほぼすべての物理現象に対応できます、その物理現象を式で記述できていれば」になります。
PINNsを紹介すると、シミュレーションではその結果が合っているか?合ってないのか?とよく聞かれます。言い換えると、そのシミュレーションは精度が高いのか?ということです。PINNsによるシミュレーションも、その他の手法と同じく実際の現象との差が少なければ精度が高い(=誤差が小さい)と言えます。これまでのPINNs研究報告の数々は、その精度ともよばれる再現性を、実験結果との比較や他の数値シミュレーションと比較してPINNsの妥当性を主張してきました。
PINNsシミュレーションを検証した例
例えば、前回ご紹介した参考文献では、左から右に流れる流体中に円柱を浸して下流に発生する渦現象を検証した例を説明しています。
流れの物理現象を汎用的に表現したナビエ・ストークスの方程式をニューラルネットワークに適用しました。流体を満たす深さ方向を一様(一定)と仮定して平面のx,y方向のみの2次元に設定して、ニューラルネットワークを推論した結果です。左から右への流体の中に円柱を浸して下流に発生する渦のシミュレーションを実行しました。
流体は非圧縮性の水のような液体としています。
こちらの図では、x=0,y=0の位置に小さな円柱が設置されていて、その円柱の周囲を左から右へ液体が流れていく様子をシミュレーションしています。
流れの速さはカラーで表していて、全体の流れに対して赤色が濃くなるほど流れが速く、青色が濃くなるほど流れが遅くなっている場所を表します。
下の図では、さらに時間軸tを追加して立体的にシミュレーション結果を示しています。左の図では時刻tのx方向の流速、右の図ではある時刻のy方向の流速になります。図中の青い点は、ある時刻あるx,y平面の観測点(ノード)を表しています。
そして、tと書いてある右斜め上方向への軸に時間が進んでいると想像してください。
また、こちらの図はある時点の円柱のx座標を0とした場合の下流側の圧力分布を推論した事例です。一般に圧力は最大、最小の圧力差として評価します。左がPINNsの結果、右が数値シミュレーションの結果です。
左右の結果を比較してみると、PINNsの結果と数値シミュレーションの結果は一致するということがわかります。
PINNsシミュレーションの応用例
先に示したPINNsシミュレーションの初期の研究発表に続き、たくさんのPINNs手法と研究発表がありました。
最近では実用に近い研究発表が多数あり、例えば下の図のような自動車の電子機器への排気系の熱影響をPINNsで熱流体びの連成シミュレーションをして公表された事例(参考資料2)もあります。
この事例では、下の図で示している自動車のサブフレームに高温になる排気系の付近に電子部品への熱の影響を予測しています。
図の左は、自動車ボディー後部の排気系を含むサブフレームの形状、左右の車輪の間に設置した排気系(高温になる部品)と電子機器の位置関係を表しています。図の中央と右側はその拡大図です。
こちらの図では数値シミュレーションとPINNsシミュレーションを比較した結果を評価しています。
図中、上側が排気系上部をPINNsシミュレーションと数値シミュレーションの水平断面における比較結果。下の図が電子部品のPINNsシミュレーションと数値シミュレーションの垂直断面における比較結果です。
それぞれ左が参照(Reference)した数値シミュレーション、中央がPINNsシミュレーション(Predict)、右がその差異(diff)で、相互に小さいことを示しています。つまり、良く合っていて精度が高いということを主張しています。
この研究論文では、いくつかの物理定数を変数として定義しておいて(パラメトリック)、一度に学習してニューラルネットワークを構築する手法を試行しています。これにより、PINNsシミュレーションの推論の段階では素早く答えを出すことが可能となります。
PINNsによる推論は、通常の数値シミュレーションに比べて3桁から4桁以上(ケースによりますが)の高速化が報告されています。
このような研究成果によって、複数の変数を使用して最適解を求めようとするパラメトリック最適化問題にも応用できるのではないか?ということでさらなる応用研究に発展しています。
自動車業界のような車両のPINNsシミュレーション以外にも、電機電子業界では電子機器の熱流体シミュレーションやその連成シミュレーションなど多数の試行がされています。
その他の事業分野では、プラントや装置産業への応用、医療業界や地質、地球規模の気候シミュレーションまで応用の範囲が広がっています。
下の図は、NVIDIA社のModulusというPINNsシミュレーションの例題で、電子機器中核となる超高密半導体の冷却シミュレーション例です。
また、脳動脈瘤による血管に対する負荷を予測した結果もあります。
その他の応用として地球の気象分野でも、観測データをPINNsと混合させた地球シミュレーションの事例も公表されています(参考資料4)。
この事例で使われているNVIDIA Modulusには、電磁気学、構造強度、振動などの例題がありますので下記URLもご覧ください。
PINNsシミュレーション用のSDKについて
このようにPINNsは様々な研究がなされてきており、NVIDIAのような企業からPINNsのSDKが公開されるようになりました。NVIDIA Modulusは、Linuxとそれなりに高速なGPUが必要ですが、Apache 2.0のライセンスとして幅広く試用していたくことができるようになっています。
いかがでしたか?PINNsシミュレーションに関して、興味は湧いてきましたか?
次回は、NVIDIA ModulusによるPINNsシミュレーションの実際を環境設定と手順でご説明します。
参考資料:
1)"Hidden Fluid Mechanics: A Navier-Stokes Informed Deep Learning Framework for Assimilating Flow Visualization Data" 2018 , Maziar Raissi, Alireza Yazdani, George Em Karniadakis(Brown Univ.)
arxiv.org
2)”INVESTIGATION OF PHYSICS-INFORMED DEEP LEARNING FOR THE PREDICTION OF PARAMETRIC, THREE-DIMENSIONAL FLOW BASED ON BOUNDARY DATA” 2022,Philip Heger, Markus Full, Daniel Hilger, Norbert Hosters他,(BMW) arxiv.org
3)動脈瘤シミュレーション:
docs.nvidia.com
4)地球シミュレーション earth4:
www.nvidia.com
5)NVIDIA Modulus:
NVIDIA Modulus - NVIDIA Docsdocs.nvidia.com
ご相談を希望される方は、お気軽にこちらのお問い合わせフォームからご連絡ください。
筆者
AIコンサルティンググループ コンサルタント
飯干 茂義
JSAE正会員、JDLA 2020#1