偏微分方程式を保持したニューラルネットワーク


こんにちはデータアナリティクス部のフバチ(Robert Hubacz)です。以前、偏微分方程式(PDE)を解くための特別なツールである「物理情報ニューラルネットワーク(PINN)」について紹介しました。PDEは自然現象や科学的イベントを理解するのに役立ちます。PINNは少量のデータやデータがなくても機能するため、多くの研究者が関心を持っています。しかし、PINNは一度訓練されると、状況が変わった場合には再訓練が必要です。例えば、パイプ内の水の流れが少し変わるだけでも、PINNを再訓練しなければなりません。一方、未知の状況を予測することは、ニューラルネットワークが作られた主な理由の一つです。

そこで、このブログではPDEを解決するために設計された別のニューラルネットワークについて紹介したいと思います。これらのネットワークは、解決を目指すPDEの構造を反映するように設計されています(Sharma et al., 2023)。具体例として、PDEを保持したニューラルネットワーク(PPNN)というネットワークです(Liu et al., 2024)。

偏微分方程式

偏微分方程式(PDE)は、科学や工学のさまざまな現象を記述するための数学的ツールです(図1を参照)。これらの方程式は、温度、音、物質の濃度、さらには粒子の動きなど、物理量が時間と空間においてどのように変化するかを表現します。具体的な例としては、次のようなものがあります:

熱方程式:一定の時間にわたって領域の温度がどのように変化するかを理解するために使用されます。
反応拡散方程式:化学反応が発生する空間における特定の物質の濃度の変化を表します。
波動方程式:音波などの振動や波の動きを説明します。
シュレーディンガー方程式:電子のような微小粒子の振る舞いを説明します。
ラプラス方程式:真空中での電位の変化など、特定の電気的ポテンシャルに関連します。
ナビエ・ストークス方程式:流体がどのように流れ動くかを記述します。
これらのPDEは、さまざまな科学的および工学的問題の理解と解決に不可欠です。

図1.偏微分方程式の例としての反応拡散方程式

 

図2.離散化後の反応拡散方程式 (2次元の場合)

これらの方程式は非常に複雑な現象を記述するため、正確に解くことがしばしば困難です。したがって、科学者たちは完全な解を見つける代わりに、コンピューターや特定の方法を使用して十分に良い解を探します。一般的な方法の一つに「有限差分法」があります。この方法には次のステップが必要です(図2および図3を参照):

グリッドの作成:現象が起こる空間(例えば、水でいっぱいのプールや化学反応器の内部など)を点のグリッドに分割します。図3には、2次元グリッドの例を示しています。
離散化:PDEでは「導関数」が時間または空間における変化を記述するために使用されます。離散化の間に、これらの導関数はコンピューターが簡単に扱えるような単純な方程式で近似されます。例えば、空間における物理量の値の変化を記述する導関数は、グリッド上の隣接点の値に基づいて計算されます。図2には、離散化後のPDEの例を示しています。
このアプローチにより、PDEをコンピュータが扱えるより単純な数学問題に変換し、段階的に解いて近似解を見つけることができます。

図3.CNNを使用してラプラシアンを計算する方法

PDEを保持したニューラルネットワーク

最近の研究で、グリッドポイントで表される空間はピクセルで構成された画像のように考えられることがわかっています。この類似性から、専門家たちは偏微分方程式をより効率的に解決するために畳み込みニューラルネットワーク(CNN)と呼ばれる人工知能の一種を使用し始めました。このようなネットワークは、PDEがどのように離散化されるかに基づいて設計され、PDEを保持したニューラルネットワーク(PPNN)と呼ばれます( Liu et al., 2024)。PPNNの重みは、畳み込みフィルターの形式であり、その値の一部は離散化プロセス中に決定されます。これは、フィルターの一部がPPNNの訓練中に学習され、他の部分はPDEの離散化スキームを保持するために一定のままであることを意味します (図4を参照)。

図4.PPNN-PDEを保持したニューラルネットワーク(Liu et al., 2024). unは、特定のタイムステップn での物理量の値を表します; un+1は、次のタイムステップ n+1でのその物理量の予測値で、PPNN というツールを使用して計算されます; 𝜆は、私たちが研究している現象が起こる特定の条件を記述するパラメータのベクトル(リスト)です。𝜆は、ニューラルネットワークによって予測される結果に影響を与えます。反応拡散方程式のような例では、時間の経過とともに物質がどのように広がり、反応するかを見ています:u は物質の濃度を意味します; 𝜆には拡散係数Dが含まれることがあり、これは物質がどれくらい早く、どのように広がるかを示します。

PPNNを説明するために、反応拡散方程式の例を使ってみましょう。この方程式は、異なる物質が時間とともにどのように混ざり合い、反応するかを示します。テーブルのような平面でこれが起こるのを想像してください。これが私たちの2次元の例です。

まず、テーブルを点のグリッドに分割されたものと考えます。各点は個別に調べることができます。このプロセスを理解するために3つの図を使用します:

図1は、物質がテーブル上でどのように混ざり合い、反応するかの基本的な概念を示しています。
図2は、このプロセスをより小さなステップに分解します(「離散化」と呼ばれます)。これは、各物質の量が時間と空間にわたってどのように変化するかを非常に詳しく示します。例えば、ある瞬間から次の瞬間に何が起こるかを知るために、小さな時間ステップ(Δt)を使用します。ある時間ステップでの物質の濃度を見て、次の時間ステップの濃度を計算します。
図3は、テーブル全体で濃度がどのように変化するかを把握するためのツールである畳み込みフィルターの使用方法を示しています。
要約すると、PPNNは特定の時点でのグリッド上の各点における物質の量を見て、それからCNNを使用してこれらの量がどのように場所から場所へ変化するかを把握します。最終的に、PPNNは次の時間ステップでの物質の量がどのようになるかを予測します。これにより、テーブル上で物質がどのように混ざり合い、反応するかを理解し、予測するのに役立ちます。

PPNNは2つの異なるニューラルネットワークで構成されています(図4参照):

訓練可能なネットワーク:ResNetと呼ばれるCNNの一種で、次の時間ステップで何が起こるかを予測するように設計されています。PPNNの訓練中に、このネットワークは学習し、その設定(重み)を調整します。
PDEを保持するネットワーク:その設定がPDEの構造に合わせて固定され、訓練中には変更されない別のタイプのCNNです。
以前に紹介したPINNとは異なり、PPNNは学習するために特別な種類のデータセットが必要です。このデータセットには、グリッド内の異なる点で、特定の物理量が時間とともにどのように変化するかに関する情報が含まれています。これらの変化は、それらが発生する条件に依存します。例えば、ネットワークが物質が混ざり合って広がる反応(上記の反応拡散方程式の例のように)をモデル化している場合、物質の濃度とそれらがどのように広がるかを知る必要があります。これは拡散係数と呼ばれるもので制御されます(図1参照)。

PPNNをこの拡散係数の異なる設定のデータで訓練することにより、さまざまな条件下で物質の濃度がどのように変化するかを学びます。一度訓練が完了すると、新しい異なる拡散係数の設定を与えられても、ネットワークは以前に学習した内容に基づいて濃度がどのように変化するかを予測できるという訳です。

文献:

論文:

Liu X.-Y., Zhu M., Lu L., Sun H., Wang J.-X. (2024): Multi-resolution partial differential equations preserved learning framework for spatiotemporal dynamics, Communications Physics volume 7, Article number: 31
Sharma P., Chung W. T., Akoush B., Ihme M. (2023): A Review of Physics-Informed Machine Learning in Fluid Mechanics, Energies, 16, 2343.

ウェブサイト:

INTRODUCTION TO PHYSICS-INFORMED NEURAL NETWORKS – ecomott blog
PDEs, Convolutions, and the Mathematics of Locality
Partial Differential Equations (PDEs), Convolutions, and the Mathematics of Locality – video