PINN深度学习求解微分方程系列一:求解框架

pinn山里娃 2024-07-12 14:31:22 阅读 76

下面我将介绍内嵌物理知识神经网络(PINN)求解微分方程。首先介绍PINN基本方法,并基于Pytorch框架实现求解一维Poisson方程。

内嵌物理知识神经网络(PINN)入门及相关论文

深度学习求解微分方程系列一:PINN求解框架(Poisson 1d)

深度学习求解微分方程系列二:PINN求解burger方程正问题

深度学习求解微分方程系列三:PINN求解burger方程逆问题

深度学习求解微分方程系列四:基于自适应激活函数PINN求解burger方程逆问题

1.PINN简介

神经网络作为一种强大的信息处理工具在计算机视觉、生物医学、 油气工程领域得到广泛应用, 引发多领域技术变革.。深度学习网络具有非常强的学习能力, 不仅能发现物理规律, 还能求解偏微分方程.。近年来,基于深度学习的偏微分方程求解已是研究新热点。内嵌物理知识神经网络(PINN)是一种科学机器在传统数值领域的应用方法,能够用于解决与偏微分方程 (PDE) 相关的各种问题,包括方程求解、参数反演、模型发现、控制与优化等。

2.PINN方法

PINN的主要思想如图1,先构建一个输出结果为

u

^

\hat{u}

u^的神经网络,将其作为PDE解的代理模型,将PDE信息作为约束,编码到神经网络损失函数中进行训练。

在这里插入图片描述

损失函数主要包括4部分:偏微分结构损失(PDE loss),边值条件损失(BC loss)、初值条件损失(IC loss)以及真实数据条件损失(Data loss)。特别的,考虑下面这个的PDE问题,其中PDE的解

u

(

x

)

u(x)

u(x)在

Ω

R

d

\Omega \subset \mathbb{R}^{d}

Ω⊂Rd定义,其中

x

=

(

x

1

,

,

x

d

)

\mathbf{x}=\left(x_{1}, \ldots, x_{d}\right)

x=(x1​,…,xd​):

f

(

x

;

u

x

1

,

,

u

x

d

;

2

u

x

1

x

1

,

,

2

u

x

1

x

d

)

=

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 \Omega

f(x;∂x1​∂u​,…,∂xd​∂u​;∂x1​∂x1​∂2u​,…,∂x1​∂xd​∂2u​)=0,x∈Ω

同时,满足下面的边界

B

(

u

,

x

)

=

0

 on 

Ω

\mathcal{B}(u, \mathbf{x})=0 \quad \text { on } \quad \partial \Omega

B(u,x)=0 on ∂Ω

为了衡量神经网络

u

^

\hat{u}

u^和约束之间的差异,考虑损失函数定义:

L

(

θ

)

=

w

f

L

P

D

E

(

θ

;

T

f

)

+

w

i

L

I

C

(

θ

;

T

i

)

+

w

b

L

B

C

(

θ

,

;

T

b

)

+

w

d

L

D

a

t

a

(

θ

,

;

T

d

a

t

a

)

\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}_{Data}\left(\boldsymbol{\theta},; \mathcal{T}_{data}\right)

L(θ)=wf​LPDE​(θ;Tf​)+wi​LIC​(θ;Ti​)+wb​LBC​(θ,;Tb​)+wd​LData​(θ,;Tdata​)

式中:

L

P

D

E

(

θ

;

T

f

)

=

1

T

f

x

T

f

f

(

x

;

u

^

x

1

,

,

u

^

x

d

;

2

u

^

x

1

x

1

,

,

2

u

^

x

1

x

d

)

2

2

L

I

C

(

θ

;

T

i

)

=

1

T

i

x

T

i

u

^

(

x

)

u

(

x

)

2

2

L

B

C

(

θ

;

T

b

)

=

1

T

b

x

T

b

B

(

u

^

,

x

)

2

2

L

D

a

t

a

(

θ

;

T

d

a

t

a

)

=

1

T

d

a

t

a

x

T

d

a

t

a

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(\boldsymbol{\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}_{Data}\left(\boldsymbol{\theta}; \mathcal{T}_{data}\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​(θ;Tf​)LIC​(θ;Ti​)LBC​(θ;Tb​)LData​(θ;Tdata​)​=∣Tf​∣1​x∈Tf​∑​∥∥∥∥​f(x;∂x1​∂u^​,…,∂xd​∂u^​;∂x1​∂x1​∂2u^​,…,∂x1​∂xd​∂2u^​)∥∥∥∥​22​=∣Ti​∣1​x∈Ti​∑​∥u^(x)−u(x)∥22​=∣Tb​∣1​x∈Tb​∑​∥B(u^,x)∥22​=∣Tdata​∣1​x∈Tdata​∑​∥u^(x)−u(x)∥22​​

w

f

w_{f}

wf​,

w

i

w_{i}

wi​、

w

b

w_{b}

wb​和

w

d

w_{d}

wd​是权重。

T

f

\mathcal{T}_{f}

Tf​,

T

i

\mathcal{T}_{i}

Ti​、

T

b

\mathcal{T}_{b}

Tb​和

T

d

a

t

a

\mathcal{T}_{data}

Tdata​表示来自PDE,初值、边值以及真值的residual points。这里的

T

f

Ω

\mathcal{T}_{f} \subset \Omega

Tf​⊂Ω是一组预定义的点来衡量神经网络输出

u

^

\hat{u}

u^与PDE的匹配程度。

3.求解问题定义

d

2

u

 

d

x

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{aligned}

 dx2d2u​u(−10)u(10)​=−0.49⋅sin(0.7x)−2.25⋅cos(1.5x)=−sin(7)+cos(15)+1=sin(7)+cos(15)−1​

真实解为

u

:

=

sin

(

0.7

x

)

+

cos

(

1.5

x

)

0.1

x

u:=\sin (0.7 x)+\cos (1.5 x)-0.1 x

u:=sin(0.7x)+cos(1.5x)−0.1x

4.结果展示

请添加图片描述

请添加图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。