微分方程式系列 4 を解くための深層学習: 適応活性化関数に基づく PINN 解法 - バーガー方程式逆問題

以下では、微分方程式を解くための組み込み物理知識ニューラル ネットワーク (PINN) を紹介します。まず,PINNの基本的な方法を紹介し,適応活性化関数に基づくPINN解法フレームワークを使用して,Pytorchを使用して時間項を持つ1次元Burger方程式の逆問題を解く。
Embedded Physical Knowledge Neural Network (PINN) の概要と関連論文
微分方程式を解くためのディープ ラーニング シリーズ 1: PINN ソリューション フレームワーク (ポアソン 1d)
微分方程式を解くためのディープ ラーニング シリーズ 2: バーガー方程式の前方問題を解くための PINN
微分方程式を解くためのディープ ラーニングシリーズ 3: PINN はバーガー方程式の逆問題を解く
微分方程式シリーズ IV を解くためのディープラーニング: 適応活性化関数に基づいて、PINN はバーガー方程式の逆問題を解く
微分方程式シリーズ V を解くためのディープラーニング: PINN はナビエ・ストークス方程式の直接問題と逆問題

1. PINN の概要

ニューラル ネットワークは、強力な情報処理ツールとして、コンピューター ビジョン、生物医学、石油およびガス工学の分野で広く使用されており、多くの分野で技術革新を引き起こしています。深層学習ネットワークは非常に強力な学習能力を備えており、物理法則を発見できるだけでなく、偏微分方程式を解くこともできます。近年、深層学習に基づく偏微分方程式の解法が新たな研究の注目スポットとなっています。埋め込み物理情報ニューラル ネットワーク (PINN) は、従来の数値領域における科学マシンのアプリケーションであり、方程式の解決、パラメーターの反転、モデルの発見、制御、モデルの検出など、偏微分方程式 (PDE) に関連するさまざまな問題を解決するために使用できます。最適化など

2.PINN方式

PINN の主な概念を図 1 に示します。まず、出力結果をu ^ \hat{u}として構築します。あなた^のニューラル ネットワークは PDE 解のプロキシ モデルとして使用され、PDE 情報は制約として使用され、トレーニング用のニューラル ネットワーク損失関数にエンコードされます。損失関数は主に、偏微分構造損失 (PDE 損失)、境界値条件損失 (BC 損失)、初期値条件損失 (IC 損失)、実データ条件損失 (データ損失) の 4 つの部分で構成されます。
ここに画像の説明を挿入

図 1: PINN の概略図

特に、次の偏微分方程式問題を考えてみましょう。偏微分方程式の解u ( x ) u(x)u ( x )Ω ⊂ R d \Omega \subset \mathbb{R}^{d}おおRdの定義、ここでx = ( x 1 , … , xd ) \mathbf{x}=\left(x_{1}, \ldots, x_{d}\right)バツ=( ×1バツd)
f ( x ; ∂ u ∂ x 1 , … , ∂ u ∂ xd ; ∂ 2 u ∂ x 1 ∂ x 1 , … , ∂ 2 u ∂ x 1 ∂ xd ) = 0 , x ∈ Ω f\left( \mathbf{x} ; \frac{\partial u}{\partial x_{1}}, \ldots, \frac{\partial u}{\partial x_{d}} ; \frac{\partial^{2} u}{\partial x_{1} \partial x_{1}}, \ldots, \frac{\partial^{2} u}{\partial x_{1} \partial x_{d}} \right)=0 , \quad \mathbf{x} \in \Omegaf( x ;×1あなた×dあなた;×1×12×1×d2)=0 バツΩ
同時に、次の境界
B ( u , x ) = 0 on ∂ Ω \mathcal{B}(u, \mathbf{x})=0 \quad \text { on } \quad \partial \Omega を満たします。B ( u ×=0 の上 ∂Ω _

PINN ソリューションのプロセスには主に次のものが含まれます。

  • 最初のステップは、D 層の全結合層のニューラル ネットワーク モデルを定義することです:
    N Θ : = LD ∘ σ ∘ LD − 1 ∘ σ ∘ ⋯ ∘ σ ∘ L 1 N_{\Theta}:=L_D \circ \シグマ \circ L_{D-1} \circ \sigma \circ \cdots \circ \sigma \circ L_1NTh:=LDpLD 1ppL1
    式中:
    L 1 ( x ) : = W 1 x + b 1 , W 1 ∈ R d 1 × d , b 1 ∈ R d 1 L i ( x ) : = W ix + bi , W i ∈ R di × di − 1 , bi ∈ R di , ∀ i = 2 , 3 , ⋯ D − 1 , LD ( x ) : = WD x + b D , WD ∈ RN × d D − 1 , b D ∈ RN 。\begin{aligned} L_1(x) &:=W_1 x+b_1, \quad W_1 \in \mathbb{R}^{d_1 \times d}, b_1 \in \mathbb{R}^{d_1} \\ L_i (x) &:=W_i x+b_i, \quad W_i \in \mathbb{R}^{d_i \times d_{i-1}}, b_i \in \mathbb{R}^{d_i}, \forall i =2,3, \cdots D-1, \\ L_D(x) &:=W_D x+b_D, \quad W_D \in \mathbb{R}^{N \times d_{D-1}}, b_D \ \mathbb{R}^N で。\end{整列}L1( × )L私は( × )LD( x ): =W1バツ+b1W1Rd1× db1Rd1: =W私はバツ+b私はW私はRd私は× di 1b私はRd私は∀i _=2 3 D1 : =WDバツ+bDWDRN × dD 1bDRN .
    σ \sigmaσは活性化関数、WWWBBbは重みとバイアスのパラメータです。
  • 2 番目のステップは、ニューラル ネットワークu ^ \hat{u}を測定するためです。あなた^と近束の間の差、失関数を考慮して:
    L ( θ ) = wf LPDE ( θ ; T f ) + wi LIC ( θ ; Ti ) + wb LBC ( θ , ; T b ) + wd LD ata ( θ , ; T データ ) \mathcal{L}\left(\boldsymbol{\theta}\right)=w_{f} \mathcal{L}_{PDE}\left(\boldsymbol{\theta}; \mathcal{ T}_{f}\right)+w_{i} \mathcal{L}_{IC}\left(\boldsymbol{\theta} ; \mathcal{T}_{i}\right)+w_{b} \mathcal{L}_{BC}\left(\boldsymbol{\theta},; \mathcal{T}_{b}\right)+w_{d} \mathcal{L}_{データ}\left(\ボールドシンボル{\theta},; \mathcal{T}_{data}\right)L()=wLPDE_ _(;T)+w私はLIC _(;T私は)+wbLBC _(;Tb)+wdLデータ_ _ _(;Tダタ_ _ _)
    ここで:
    LPDE ( θ ; T f ) = 1 ∣ T f ∣ ∑ x ∈ T f ∥ f ( x ; ∂ u ^ ∂ x 1 , … , ∂ u ^ ∂ xd ; ∂ 2 u ^ ∂ x 1 ∂ x 1 , … , ∂ 2 u ^ ∂ x 1 ∂ xd ) ∥ 2 2 LIC ( θ ; Ti ) = 1 ∣ Ti i ∣ ∑ x ∈ Ti i ∥ u ^ ( x ) − u ( x ) ∥ 2 2 LBC ( θ ; T b ) = 1 ∣ T b ∣ ∑ x ∈ T b ∥ B ( u ^ , x ) ∥ 2 2 LD ata ( θ ; T データ ) = 1 ∣ T データ ∣ ∑ x ∈ T データ ∥ u ^ ( x ) − u ( x ) ∥ 2 2 \begin{aligned} \mathcal{L}_{PDE}\left(\boldsymbol{\theta} ; \mathcal{T}_{f}\right) &=\frac{1 }{\left|\mathcal{T}_{f}\right|} \sum_{\mathbf{x} \in \mathcal{T}_{f}}\left\|f\left(\mathbf{x } ; \frac{\partial \hat{u}}{\partial x_{1}}, \ldots, \frac{\partial \hat{u}}{\partial x_{d}} ; \frac{\partial ^{2} \hat{u}}{\partial x_{1} \partial x_{1}}、\ldots、\frac{\partial^{2} \hat{u}}{\partial x_{1} \partial x_{d}} \right)\right\|_{2}^{2} \\ \mathcal{L}_{IC}\left(\boldsymbol{\theta};\mathcal{T}_{i}\right) &=\frac{1}{\left|\mathcal{T}_{i}\right|} \sum_{\mathbf{x}\in \mathcal{T }_{i}}\|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \\ \mathcal{L}_{BC} \left(\ballsymbol{\theta};\mathcal{T}_{b}\right) &=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\ mathbf{x} \in \mathcal{T}_{b}}\|\mathcal{B}(\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal {L}_{データ}\left(\太字記号{\theta}; \mathcal{T}_{データ}\right) &=\frac{1}{\left|\mathcal{T}_{データ} \ right|} \sum_{\mathbf{x} \in \mathcal{T}_{data}}\|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_ { 2}^{2} \end{整列}=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\mathbf{x}\in \mathcal{T}_{b}}\|\mathcal{B} (\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal{L}_{データ}\left(\太字記号{\theta}; \mathcal{T} _ {データ}\right) &=\frac{1}{\left|\mathcal{T}_{data}\right|} \sum_{\mathbf{x}\in \mathcal{T}_{data} } \|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \end{aligned}=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\mathbf{x}\in \mathcal{T}_{b}}\|\mathcal{B} (\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal{L}_{データ}\left(\太字記号{\theta}; \mathcal{T} _ {データ}\right) &=\frac{1}{\left|\mathcal{T}_{data}\right|} \sum_{\mathbf{x}\in \mathcal{T}_{data} } \|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \end{aligned}LPDE_ _(;T)LIC _(;T私は)LBC _(;Tb)Lデータ_ _ _(;Tダタ_ _ _)=T1xTf( x ;×1あなた^×dあなた^;×1×12あなた^×1×d2あなた^)22=T私は1xT私はあなた^ (×)u ( x ) 22=Tb1xTbB (あなた^x ) 22=Tダタ_ _ _1xTダタ_ _ _あなた^ (×)u ( x ) 22
    わ、わ_{f}wウィウィ_{イ}w私はwb w_{b}wbそしてwd w_{d}wd重量です。T f \mathcal{T}_{f}TT i \mathcal{T}_{i}T私はT b \mathcal{T}_{b}TbT データ \mathcal{T}_{data}Tダタ_ _ _PDEからの残差点、初期値、境界値、真値を表します。ここでT f ⊂ Ω \mathcal{T}_{f} \subset \OmegaTΩ は、ニューラル ネットワークの出力u ^ \hat{u}あなた^ PDE との一致の程度。
  • 最後に、予測精度を満たすネットワーク パラメーターが見つかるまで、勾配最適化アルゴリズムを使用して損失関数を最小化します。KaTeX 解析エラー: 未定義の制御シーケンス: \theat 位置 1: \̲t̲h̲e̲a̲t̲^{*}

逆問題の場合、つまり方程式内の一部のパラメーターが不明であることに注意してください。PDE 方程式と境界条件のみがわかっており、PDE パラメーターが不明な場合、逆問題は不定問題となるため、いくつかの観測点などの他の情報がわかっている必要がありますuの値。この場合、PINN メソッドは方程式内のパラメーターを未知の変数として使用し、それらをトレーナーに追加して最適化することができます。損失関数にはデータ損失が含まれます。

3. 適応活性化関数に基づくPINN

ブラウン大学 Jagtap は 19 年に適応活性化関数に基づく PINN を提案しました。具体的には、活性化関数にトレーニング可能なパラメータが導入され、最適化プロセスに関与する損失関数のトポロジーが動的に変化するため、このパラメータはトレーニング プロセス中に最適化され、ネットワークの最高のパフォーマンスが達成されます。固定活性化関数を備えた従来の PINN と比較して、適応活性化関数に基づく PINN は学習能力が優れており、特に初期トレーニングにおいて、収束速度と解の精度が大幅に向上します。

  • 固定活性化関数を持つニューラル ネットワークは次のように表されます。
    L k ( xk − 1 ) : = wkxk − 1 + bku Θ ( x ) = ( L k ∘ σ ∘ L k − 1 ∘ … ∘ σ ∘ L 1 ) ( x ) \begin{aligned} &\mathcal{L}_k\left(x^{k-1}\right):=w^kx^{k-1}+b^k \\ &u_{\Theta} (x) =\left(\mathcal{L}_k \circ \sigma \circ \mathcal{L}_{k-1} \circ \ldots \circ \sigma \circ \mathcal{L}_1\right)( x) \ end{整列}L( ×k 1 ): =wk ×k 1+bkあなたTh( × )=( LpLk 1pL1)( x )
    式では、固定活性化関数を使用します。
  • 適応パラメーターに基づくニューラル ネットワークの取得では、出力が活性化関数を通過する前にパラメーターが追加されます。
    σ ( a L k ( xk − 1 ) ) a ∗ = arg ⁡ min ⁡ a ∈ R + \ { 0 } ( J ( a ) ) \begin{aligned} &\sigma\left(a \mathcal{L}_k\left(x^{k-1}\right)\right) \\ &a^*=\underset{a \in \mathbb {R}^{+} \backslash\{0\}}{\arg \min }(J(a)) \end{aligned}p( L _( ×k 1 ))ある=a R+ \{ 0}arg _( J ( a ) )
    式内: 変数パラメータa ∗ a^{*}あるはニューラル ネットワーク オプティマイザーに追加され、トレーニング プロセス中にニューラル ネットワークの重みパラメーターを使用して最適化されます。

Jagtap AD、Kawaguchi K、Karniadakis G E. 適応活性化関数は、物理学に基づいたディープ ニューラル ネットワークの収束を加速します [J]。計算物理学ジャーナル、2020、404: 109136。

4. 問題定義の解決 - 逆問題

ut + uux = vuxx , x ∈ [ − 1 , 1 ] , t > 0 u ( x , 0 ) = − sin ⁡ ( π x ) u ( − 1 , t ) = u ( 1 , t ) = 0 \begin {aligned} u_t+u u_x &=v u_{xx}, x \in[-1,1], t>0 \\ u(x, 0) &=-\sin (\pi x) \\ u( -1, t) &=u(1, t)=0 \end{aligned}あなた+あなた、あなた×u ( x ,0 )u ( 1 ,t )=あなた_× ×バツ[ 1 1 ] t>0=( π x )=u ( 1 ,t )=0

式内: パラメータvvvは未知のパラメータであり、実際の値はv ∈ [ 0 , 0.1 / π ] v \in[0,0.1 / \pi]v[ 0 ,0.1 / π ] . _ _ 図 2 に示すように、数値解はホップ・コール変換によって得られます。
タスクの要件:

  • 課題は、境界条件と微分方程式を知ることですが、方程式のパラメーターは不明であり、u と方程式パラメーターを解くことです。
  • この問題は典型的な逆問題、方程式パラメータ最適化の逆問題です。

    画像の説明を追加してください
図 2: バーガーの数値解法

5. 結果表示

トレーニングプロセスとパラメータ変更図を図 3 に示します。トレーニングの初期段階では、適応活性化関数を使用した PINN がより速く下降し、正確な値に収束できることがはっきりとわかります。

ここに画像の説明を挿入

図 3: 学習プロセスの問題パラメータと学習誤差の変化図

トレーニング中の予測結果を図 4-6 に示します。

ここに画像の説明を挿入

図 4: 予測誤差のプロット

ここに画像の説明を挿入

図 5: 予測グラフ

ここに画像の説明を挿入

図 6: さまざまな時点での予測結果

おすすめ

転載: blog.csdn.net/weixin_45521594/article/details/127781628
おすすめ