Physics-Informed Neural Networks (PINNs) とは
Physics-Informed Neural Networks (PINNs) は、微分方程式で記述された物理法則を損失関数に組み込み、基礎となる物理法則との整合性が高い解へと学習プロセスを導くニューラル ネットワークです。PINNs を使用すると、以下を行うことができます。
Deep Learning Toolbox™ を使用すると、PINNs を構築して学習させることができ、迅速な予測分析が可能になります。PINNs を MATLAB® と Simulink® に統合することで、システムレベルのシミュレーション、制御設計、設計の最適化を行うことができます。
![ディープラーニングと物理学の知識がどのように組み合わされて PINNs が形成されるかを示す図。](https://jp.mathworks.com/discovery/physics-informed-neural-networks/_jcr_content/mainParsys/columns/e4219b80-580a-4cc2-a14e-84b7087007c5/image.adapt.full.medium.png/1736218273054.png)
Physics-Informed Neural Networks (PINNs) は、ディープラーニング モデルの学習に支配的な物理法則を組み込むことで、基本的な物理原理の遵守を促す一方で、複雑な現象の予測やモデリングを可能にします。
PINNs の利点
PINNs は、物理法則に基づく機械学習手法の一種で、物理学の知識をシームレスにデータと統合します。PINNs は、よく単なるデータ駆動型の手法や、PDE や ODE を解く従来の数値法と比較されます。
入出力データからでしか数学的関係を学習できないデータ駆動型の手法とは異なり、PINNs には次のような特徴があります。
- 既存の物理学の知識を活用する。
- 学習データの範囲外でも精度の高い予測を行う。
- 学習データが限られていたり、ノイズの多い場合でも効果が高い。
PDE の有限要素解析など、微分方程式を解く従来の数値法とは異なり、PINNs には次のような特徴があります。
- メッシュフリーである。
- 高次元の PDE の解を近似できる。
- 未知の PDE や ODE の係数など、欠落しているモデルパラメーターを解くことができる。
- 境界データが存在しない不良設定問題を解くことができる。
- まばらな測定値やノイズを含む測定値を容易に組み込むことができる。
PINNs には、データ駆動型の手法や従来の数値法と比べると潜在的な利点がある一方で、次のような制約や課題があります。
- 収束理論が限定される。
- 一貫した学習戦略が欠如している
- 高次導関数を計算する際の計算コスト
- PDE の解の高周波成分とマルチスケール成分を学習するのが困難である
PINNs は活発に研究が進められている分野であるため、こうした現在の課題や制約に対処して克服できるよう、継続的な進歩が期待されています。
PINNs、データ駆動型の手法、従来の数値法の選択は用途に依存します。以下の表は、各手法の利点と制約をまとめたものです。
データ駆動型の手法 | 従来の数値法 | PINNs | |
既知の物理法則を組み込む | |||
学習データが限られていたり、ノイズの多い場合でも適切に法則化する | |||
順問題と逆問題を同時に解く | |||
高次元の PDE を解く | |||
高速な "オンライン" 予測を可能にする | |||
メッシュフリーである | |||
収束理論を十分に理解している | |||
高周波やマルチスケールの PDE に適切に対応する |
PINNs と従来のニューラル ネットワークの違い
PINNs は、微分方程式の形で問題に関する専門知識を事前に組み込むことができる点で、従来のニューラル ネットワークと異なります。この追加情報により、PINNs は与えられた測定データの範囲外でも精度の高い予測を行うことができます。さらに、物理学の知識が追加されることによって、ノイズが多い測定データが存在する場合でも予測解を正則化し、PINNs がノイズの多いデータを過学習するのではなく、データの中に隠れている真のパターンを学習できるようにします。
たとえば、目的のシステムのノイズを含む測定値
![測定データとグラウンドトゥルースを示すニューラル ネットワーク プロットおよび平均二乗誤差損失関数の図。](https://jp.mathworks.com/discovery/physics-informed-neural-networks/_jcr_content/mainParsys/columns_copy/e4219b80-580a-4cc2-a14e-84b7087007c5/image.adapt.full.medium.png/1736218273125.png)
従来のニューラル ネットワークは、ネットワークの予測と観測された測定値の間の誤差を最小化するためにパラメーターを調整します。
ニューラル ネットワークでは、学習データの範囲外でシステムの値を正確に予測するのは困難です。
Deep Learning Toolbox の trainnet
関数を使用して学習を行った単純なニューラル ネットワークは、ノイズを含む測定値を過学習し、学習範囲外の t に対しては性能が低下します。(MATLAB コードを参照してください。)
より多くのデータを学習することで予測精度が向上する可能性はありますが、この手法では用途の多くでコストがかかりすぎたり、実現できなかったりする場合があります。しかし、多くの場合、この分野の専門家には研究対象のシステムの動作を司る基礎的な物理過程に関する深い知識があります。具体的には、このシナリオでは、測定値はクレーンから吊り下げられた荷物の垂直からの変位角度を表しています。この物理過程は、減衰振子によって単純に表すことができ、小さな角度の場合には、線形の 2 階微分方程式で近似的にモデル化できます。
PINNs は、この知識を無視するのではなく、微分方程式を物理法則に基づく追加項として損失関数に組み込みます。PINNs は、領域内の追加ポイントで微分方程式の残差を評価します。これにより、より多くの測定値を必要とせずに、PINNs に追加の情報が提供されます。この単純な例は解析的に解くことはできますが、PINNs の背後にある概念を表しています。
![Physics-Informed Neural Network、振子の微分方程式、測定データとグラウンドトゥルースのプロットの図。](https://jp.mathworks.com/discovery/physics-informed-neural-networks/_jcr_content/mainParsys/columns_copy_copy_co/e4219b80-580a-4cc2-a14e-84b7087007c5/image.adapt.full.medium.png/1736218273201.png)
Deep Learning Toolbox で利用できる PINNs は、ネットワークの予測と観測された測定値の間の誤差と物理損失を最小化するようにパラメーターを調整します。
学習中、PINNs は与えられたデータを適合させるだけでなく、基礎的な物理過程にも従うようにバランスを見いだします。
Deep Learning Toolbox で作成して学習させた PINNs は、 測定データの範囲外でも高い精度で予測でき、従来のニューラル ネットワークよりもノイズに対する耐性があります。(MATLAB コードを参照してください。)
PINNs は、追加の物理損失項を組み込むことにより、ノイズを含む測定値が存在する場合や、測定値がないデータ領域において、従来のニューラル ネットワークよりも優れた性能を発揮します。
PINNs の仕組み
PINNs は、最適化アルゴリズムを使用して、指定された物理法則に基づく損失関数の値が許容可能なレベルに減少するまでニューラル ネットワークのパラメーターを反復的に更新し、ネットワークを微分方程式の解に近づけます。
![振子の学習方程式、初期状態、追加の測定データ、および損失関数を含む Physics-Informed Neural Network の図。](https://jp.mathworks.com/discovery/physics-informed-neural-networks/_jcr_content/mainParsys/columns_copy_copy_co_1298958835/e4219b80-580a-4cc2-a14e-84b7087007c5/image.adapt.full.medium.png/1736218273275.png)
振子の方程式のような ODE のために PINNs を学習させる場合、最適化アルゴリズムは、自動微分 (AD) から得られる微分方程式の残差、境界および初期状態、オプションの他のラベルデータを含む損失関数を許容可能なレベルに減少させるために、ニューラル ネットワークのパラメーターを調整します。
PINNs には損失関数
PINNs は 2017 年に初めて導入されましたが、現在では次のような多くのバリエーションがあります。
- Bayesian PINNs (BPINNs) は、ベイズフレームワークを使用して不確かさの定量化を可能にします。
- Variational PINNs (VPINNs) は、PDE の弱形式を損失関数に組み込みます。
- First-order formulated PINNs (FO-PINNs) は、標準的な PINNs よりも高速かつ正確に高次 PDE を解くことができます。
さらに、PINNs は、Graph Neural Networks (GNNs)、Fourier Neural Operators (FNOs)、Deep Operator Networks (DeepONets) などのさまざまなニューラル ネットワーク アーキテクチャと組み合わせて使用でき、これらのアーキテクチャのいわゆる物理法則に基づいたバージョンを実現します。
MATLAB と Deep Learning Toolbox は、さまざまなニューラル ネットワーク アーキテクチャの作成またはインポートから、AD を使用した物理法則に基づくカスタム損失関数の定義、ADAM や L-BFGS などの勾配ベースの最適化アルゴリズムを使用した学習、さらには高度な MATLAB グラフィックスを使用した解の視覚化に至るまで、PINNs の開発を包括的にサポートします。
PINNs の用途
PINNs は、物理法則への適合性を向上させながらディープラーニングの力を活用します。このため、未知の係数を持つ PDE や ODE の場合など、物理法則が完全または部分的にわかっている場合に適用できる汎用性の高いツールになります。PINNs の用途には以下が含まれます。
- 熱伝達。具体的には、熱の分布と伝達のプロセスをモデル化します。PINNs は、熱方程式など、材料およびシステムの熱プロセスをモデル化する支配方程式を損失関数に組み込むことができます。この手法により、解がこれらの物理法則に従うことになり、物理的に妥当な予測が導き出されます。また、PINNs は、コストがかかる数値シミュレーションの代わりに、設計最適化の用途でパラメーター化された形状全体の温度分布を迅速に近似することができます。さらに、PINNs は、熱伝導率などの未知の材料特性を特定するために逆問題でも使用できます。
- 数値流体力学 (CFD)。具体的には、ナビエ・ストークス方程式を損失関数に組み込むことで、流体の速度、圧力、温度場を近似します。PINNs は、メッシュフリーの順問題のシミュレーションで、これらの数量を正確に予測するために使用でき、また観測データから境界状態、ソース項、流体特性などの未知のパラメーターや入力を推定することが目的の逆問題にも使用できます。
- 構造力学。弾性や構造力学の方程式などの支配的な物理法則を損失関数に直接組み込んで、順問題と逆問題の両方を解きます。この統合により、PINNs は、さまざまな荷重や条件下で変形、応力、ひずみなどの構造応答を正確に予測できるほか、観測データに基づいて未知の材料特性や外部荷重も特定できます。PINNs は、従来の解析解が実行不可能であるか、データが不足しているシナリオで特に役立ち、物理原理を活用して学習プロセスを導くことにより、広範なデータセットへの依存を軽減します。PINNs は、その柔軟性により、非線形材料挙動やマルチフィジックス モデリングなど、複雑な問題も処理できます。
Deep Learning Toolbox で作成して学習させた PINNs は、設計の最適化を可能にする Optimization Toolbox™ とのシームレスな統合や、システムレベルのシミュレーションが可能な Simulink への接続など、さまざまな用途で活用することができます。
製品使用例および使い方
ソフトウェア リファレンス
参考: Deep Learning Toolbox, Partial Differential Equation Toolbox, 有限要素解析, 低次元化モデリング, ハミルトニアン ニューラル ネットワーク, ニューラル ODE を使用した動的システムモデリング, ディープラーニング, 畳み込みニューラル ネットワーク (CNN), 敵対的生成ネットワーク (GAN), 長・短期記憶 (LSTM) ネットワーク, リカレント ニューラル ネットワーク (RNN), ニューラル ネットワーク