前回の記事 では、PINNを用いて偏微分方程式(PDE)の近似解を求める順問題を解説しました。今回は逆問題、すなわち「観測データが与えられたとき、PDEの未知パラメータを推定する問題」を取り上げます。実験や観測からデータは得られているが支配方程式のパラメータが不明、というケースは流体力学・熱工学・材料工学など多くの分野で現れます。この記事では、Raissi et al.(2017)の原著論文に基づき、PINNによる逆問題の定式化と解法を解説します。
問題設定
偏微分方程式の一般形
PDEの一般形を次のように表します。
u t + N [ u ; λ ] = 0 , x ∈ Ω , t ∈ [ 0 , T ] (1) u_t + \mathcal{N}[u;\,\lambda] = 0, \quad x \in \Omega,\; t \in [0, T] \tag{1} u t + N [ u ; λ ] = 0 , x ∈ Ω , t ∈ [ 0 , T ] ( 1 )
各記号の意味は以下のとおりです。
記号 意味 u ( t , x ) u(t, x) u ( t , x ) 時刻 t t t 、位置 x x x における物理量(速度・温度など) N [ ⋅ ; λ ] \mathcal{N}[\cdot\,;\lambda] N [ ⋅ ; λ ] λ \lambda λ をパラメータとする非線形微分演算子λ \lambda λ PDEの未知パラメータ Ω \Omega Ω 空間領域 T T T 終端時刻
順問題では λ \lambda λ が既知で u u u を求めました。逆問題では、u u u の観測データが与えられたとき、λ \lambda λ を推定します。
Burgers方程式を例に
Burgers方程式を例に逆問題の解き方を説明します。順問題では∂ u / ∂ x \partial u / \partial x ∂ u / ∂ x の係数、粘性係数 λ = 0.01 / π \lambda = 0.01/\pi λ = 0.01/ π を既知として u u u を求めましたが、逆問題では係数を未知として定式化します。
∂ u ∂ t + λ 1 u ∂ u ∂ x − λ 2 ∂ 2 u ∂ x 2 = 0 , x ∈ [ − 1 , 1 ] , t ∈ [ 0 , 1 ] (2) \frac{\partial u}{\partial t} + \lambda_1 u\frac{\partial u}{\partial x} - \lambda_2 \frac{\partial^2 u}{\partial x^2} = 0, \quad x \in [-1, 1],\; t \in [0, 1] \tag{2} ∂ t ∂ u + λ 1 u ∂ x ∂ u − λ 2 ∂ x 2 ∂ 2 u = 0 , x ∈ [ − 1 , 1 ] , t ∈ [ 0 , 1 ] ( 2 )
λ 1 \lambda_1 λ 1 と λ 2 \lambda_2 λ 2 は未知のパラメータです。真値は λ 1 = 1 \lambda_1 = 1 λ 1 = 1 、λ 2 = 0.01 / π \lambda_2 = 0.01/\pi λ 2 = 0.01/ π ですが、学習の前はこれを知らない前提で進めます。
式(2)の左辺全体を残差 f f f と定義します。
f : = ∂ u ∂ t + λ 1 u ∂ u ∂ x − λ 2 ∂ 2 u ∂ x 2 (3) f := \frac{\partial u}{\partial t} + \lambda_1 u\frac{\partial u}{\partial x} - \lambda_2 \frac{\partial^2 u}{\partial x^2} \tag{3} f := ∂ t ∂ u + λ 1 u ∂ x ∂ u − λ 2 ∂ x 2 ∂ 2 u ( 3 )
f = 0 f = 0 f = 0 はBurgers方程式を満足することを意味します。
ニューラルネットワークと λ \lambda λ の定義
順問題と同様に、u ( t , x ) u(t, x) u ( t , x ) を近似するNN u n e t u_\mathrm{net} u net を定義します。
要素 内容 入力層 ( t , x ) (t,\, x) ( t , x ) の2次元中間層 全結合層 × 複数(活性化関数:tanh \tanh tanh ) 出力層 u u u の1次元
逆問題における順問題との最大の違いは、λ 1 \lambda_1 λ 1 と λ 2 \lambda_2 λ 2 をNNの重みと同様に学習パラメータとして扱う点です。u n e t u_\mathrm{net} u net の重みと λ 1 \lambda_1 λ 1 、λ 2 \lambda_2 λ 2 を同時に最適化することで、観測データと整合するパラメータを自動的に同定します。
損失関数
損失関数は順問題と同じ形で定義します。
L = L u + L f (4) \mathcal{L} = \mathcal{L}_u + \mathcal{L}_f \tag{4} L = L u + L f ( 4 )
L u = 1 N u ∑ i = 1 N u ∣ u n e t ( t u i , x u i ) − u i ∣ 2 (5) \mathcal{L}_u = \frac{1}{N_u}\sum_{i=1}^{N_u}\left|u_\mathrm{net}(t_u^i,\, x_u^i) - u^i\right|^2 \tag{5} L u = N u 1 i = 1 ∑ N u u net ( t u i , x u i ) − u i 2 ( 5 )
L f = 1 N f ∑ i = 1 N f ∣ f ( t f i , x f i ) ∣ 2 (6) \mathcal{L}_f = \frac{1}{N_f}\sum_{i=1}^{N_f}\left|f(t_f^i,\, x_f^i)\right|^2 \tag{6} L f = N f 1 i = 1 ∑ N f f ( t f i , x f i ) 2 ( 6 )
各記号の意味は以下のとおりです。
記号 意味 N u N_u N u 観測データ点数 { t u i , x u i , u i } i = 1 N u \{t_u^i,\, x_u^i,\, u^i\}_{i=1}^{N_u} { t u i , x u i , u i } i = 1 N u 時空間に散在した観測点と u u u の観測値 N f N_f N f 領域内部に配置するコロケーション点数 { t f i , x f i } i = 1 N f \{t_f^i,\, x_f^i\}_{i=1}^{N_f} { t f i , x f i } i = 1 N f 領域 Ω × [ 0 , T ] \Omega \times [0, T] Ω × [ 0 , T ] 内に配置した点
L u \mathcal{L}_u L u は観測データとの誤差を、L f \mathcal{L}_f L f はPDEの残差を評価します。この L \mathcal{L} L を u n e t u_\mathrm{net} u net の重みと λ 1 \lambda_1 λ 1 、λ 2 \lambda_2 λ 2 の両方に関して同時に最小化することで、観測データを再現しつつPDEを満たすパラメータが得られます。
順問題では境界条件・初期条件の点のみを L u \mathcal{L}_u L u に使いましたが、逆問題では時空間内に散在する観測データ(N u = 2000 N_u = 2000 N u = 2000 点)を用います。コロケーション点は N f = 10000 N_f = 10000 N f = 10000 点を配置します。
残差の計算方法
残差 f f f の計算には、順問題と同様に自動微分を用います。u n e t u_\mathrm{net} u net の出力 u u u を起点として入力 t , x t, x t , x への自動微分を行うことで、∂ u / ∂ t \partial u/\partial t ∂ u / ∂ t 、∂ u / ∂ x \partial u/\partial x ∂ u / ∂ x 、∂ 2 u / ∂ x 2 \partial^2 u/\partial x^2 ∂ 2 u / ∂ x 2 が得られます。これを式(3)に代入することで f f f を算出できます。
逆問題では λ 1 \lambda_1 λ 1 と λ 2 \lambda_2 λ 2 も学習パラメータであるため、L \mathcal{L} L の λ 1 \lambda_1 λ 1 ・λ 2 \lambda_2 λ 2 に対する勾配も自動微分で計算され、重みの更新と同時に λ \lambda λ が更新されます。
数値実験の結果
論文では、Burgers方程式の参照解から N u = 2000 N_u = 2000 N u = 2000 点のデータを抽出し、λ 1 \lambda_1 λ 1 と λ 2 \lambda_2 λ 2 を推定しています。
パラメータ 真値 ノイズなし推定誤差 λ 1 \lambda_1 λ 1 1 1 1 0.023 % 0.023\% 0.023% λ 2 \lambda_2 λ 2 0.01 / π ≈ 0.00318 0.01/\pi \approx 0.00318 0.01/ π ≈ 0.00318 0.006 % 0.006\% 0.006%
観測データにノイズが含まれる場合も、ノイズ比率10%程度であれば十分な精度での推定が可能であることが示されています。
まとめ
逆問題でのPINNのキーポイントは2つです。
未知パラメータ λ \lambda λ をNNの重みと同様に学習パラメータとして扱う
損失関数を u n e t u_\mathrm{net} u net の重みと λ \lambda λ に関して同時に最小化する
順問題と損失関数の形は同じですが、λ \lambda λ も最適化対象に加えることで、観測データから支配方程式のパラメータを自動的に同定できます。例えば、あるガスの流速データが得られている一方で、そのガスの粘性係数や反応速度定数などのパラメータが不明なケースに、そのまま適用できる手法です。
参考文献
M. Raissi, P. Perdikaris, G.E. Karniadakis, "Physics Informed Deep Learning (Part II): Data-driven Discovery of Nonlinear Partial Differential Equations", arXiv:1711.10566, 2017. https://arxiv.org/abs/1711.10566