微分方程式を解くための PINN ディープラーニング シリーズ 1: 解決フレームワーク

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

1. PINN の概要

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

2.PINN方式

PINN の主な概念を図 1 に示します。まず、出力結果をu ^ \hat{u}として構築します。あなた^のニューラル ネットワークは PDE 解のプロキシ モデルとして使用され、PDE 情報は制約として使用され、トレーニング用のニューラル ネットワーク損失関数にエンコードされます。
ここに画像の説明を挿入

損失関数は主に、偏微分構造損失 (PDE 損失)、境界値条件損失 (BC 損失)、初期値条件損失 (IC 損失)、実データ条件損失 (データ損失) の 4 つの部分で構成されます。特に、次の偏微分方程式問題を考えてみましょう。偏微分方程式の解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 の上 ニューラルネットワーク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 との一致の程度。

3. 問題定義の解決

d 2 u dx 2 = − 0.49 ⋅ sin ⁡ ( 0.7 x ) − 2.25 ⋅ cos ⁡ ( 1.5 x ) u ( − 10 ) = − sin ⁡ ( 7 ) + cos ⁡ ( 15 ) + 1 u ( 10 ) = sin ⁡ ( 7 ) + cos ⁡ ( 15 ) − 1 \begin{aligned} \frac{\mathrm{d}^2 u}{\mathrm{~d} x^2} &=-0.49 \cdot \sin (0.7 x)-2.25 \cdot \cos (1.5 x) \\ u(-10) &=-\sin (7)+\cos (15)+1 \\ u(10) &=\sin (7)+\ cos (15)-1 \end{整列} dx _2d2u ( 1 0 )u ( 1 0 )=0 4 9sin ( 0 . 7 x )2 5cos ( 1 . 5 x )=( 7 )+cos ( 1 5 )+1=( 7 )+cos ( 1 5 )1
実際の解は
u : = sin ⁡ ( 0.7 x ) + cos ⁡ ( 1.5 x ) − 0.1 xu:=\sin (0.7 x)+\cos (1.5 x )-0.1 xあなた:=sin ( 0 . 7 x )+cos ( 1 . 5 x )0 1 ×

4. 結果表示

画像の説明を追加してください

画像の説明を追加してください

おすすめ

転載: blog.csdn.net/weixin_45521594/article/details/127659979