A novel meta-learning initialization method for physics-informed neural networks

摘要

Physics-informed neural networks (PINN)可以看作是通用的PDE求解器,但是,PINN存在两点缺陷:1.在特定问题上训练效率慢;2.真实样本少的情况下,即使迭代多次,仍得不到好的结果。为了克服PINN的两个缺陷,在这篇报告中,拓展了PINN,将元学习的Reptile算法应用于PINN中,针对两类先验信息,提出了两种算法。在我们的方法中,通过利用先验信息,经过预训练后,能够实现在少量真实样本甚至没有真实样本的新的问题上更快收敛。最后,在一维和二维的泊松方程的算例上演示和验证了提出的两种算法,并将提出的算法应用于二维热布局问题上。

1 Introduction

在过去的几年里,深度学习以深度神经网络(NNs)的形式,已经有效地广泛应用于各个领域12,如计算机视觉,自然语言处理以及基因组学。虽然在这些及相关领域取得了显著成绩,但是深度学习还广泛未广泛应用于科学计算中。然而,在最近一系列的工作中已经成功的将神经网络应用于求解微分方程(PDE)34,其中,PINN是用于解决PDE正向、逆向问题的通用框架12

2 Background

1.1 PINN

如今,神经网络被广泛用于解决各种科学计算问题,在最近一系列的工作中已经成功的将神经网络应用于求解微分方程(PDE)34,其中,PINN是用于解决PDE正向、逆向问题的通用框架12。PINN的主要思想如图1,先构建一个输出结果为 u ^ \hat{u} u^的神经网络,将其作为PDE解的代理模型,将PDE信息作为约束,编码到神经网络损失函数中进行训练。损失函数主要包括4部分:偏微分结构损失(PDE loss),边值条件损失(BC loss)、初值条件损失(IC loss)以及真实数据条件损失(Data loss)56。特别的,考虑下面这个的PDE问题,其中PDE的解 u ( x ) u(x) u(x) Ω ⊂ R d \Omega \subset \mathbb{R}^{d} ΩRd定义,其中 x = ( x 1 , … , x d ) 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;x1u,,xdu;x1x12u,,x1xd2u)=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(θ)=wfLPDE(θ;Tf)+wiLIC(θ;Ti)+wbLBC(θ,;Tb)+wdLData(θ,;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)=Tf1xTff(x;x1u^,,xdu^;x1x12u^,,x1xd2u^)22=Ti1xTiu^(x)u(x)22=Tb1xTbB(u^,x)22=Tdata1xTdatau^(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的匹配程度。

图1 PINN 示意图

虽然,PINN广泛应用于各种领域求解PDE,但是,PINN存在两个缺陷:1.计算效率慢;2.在真实样本少的情况下,即使PINN迭代多次,效果仍然不好。为了克服以上两个缺陷,可以采用先进行预训练,然后进行PINN求解的方法。

1.2 Reptile

为了实现在不同任务上训练模型,使得模型可以仅仅利用少量数据,就可以解决新的任务,使用了二阶信息的Model-Agnostic Meta-Learning(MAML)7 被提出。在MAML基础上,提出了使用一阶信息的Reptile8,Reptile只需要简单地每个任务上执行SGD而不需要像MAML一样计算两次微分,这使得Reptile消耗的计算量和内存更少,但达到MAML相似的效果。如今,Reptile已经成为预训练的重要方法。

Reptile优化算法

其中, ϕ \phi ϕ是模型参数, U τ k U_{\tau}^{k} Uτk更新 φ φ φ的算子,表示在task τ \tau τ中更新 k k k次, ϵ \epsilon ϵ表示更新步长。

2 核心算法:

为了克服PINN的两个缺陷:1.计算效率慢;2.在真实样本少的情况下,即使PINN迭代多次,效果仍然不好,这篇报告提出了两种算法。利用不同先验信息进行Reptile预训练NN,在将得到的NN参数加载,然后再采用PINN求解PDE的方法。在实际工程中,当只知道零阶先验信息时,即知道原函数服从某个分布,可以采用算法2进行预训练后求解PDE,特别注意的是,算法2仅仅是在预训练的时候用到原函数的零阶先验信息。然而,在某些特别情况下,零阶先验信息不可得,但是高阶先验信息可以获取,即知道原函数的高阶导数服从某个分布,同样可以采取预训练的方法,在预训练的时候构造PDE loss(以及BC loss) ,经过Reptile预训练,NN加载参数后, 再采用PINN求解PDE。

2.1 PINN with Reptile under zero order information

针对零阶先验信息的PDE,即求解PDE前已知PDE的解服从某个分布。首先,对这个先验分布随机采样得到不同的task,在每个task下随机采样,建立真实值与网络预测值的loss函数,采取SGD或者Adam的方法更新网络参数,然后,再将不同task得到的网络参数以 θ ~ − θ \widetilde{\theta}-\theta θ θ方向更新 θ \theta θ,更新步长采用线性策略。最后,将预训练得到的网络采用PINN的方法对需要求解PDE进行构造PDE loss,BC loss 、 IC loss以及Data loss,采取Adam优化方法优化loss,求得PDE解的代理模型,具体步骤见算法2。特别注意的时,对于零阶先验信息仅仅在在预训练过程中才被使用。

2.2 PINN with Reptile under higher order information

针对高阶先验信息的PDE,求解PDE前已知PDE的高阶导数服从某个分布。首先,对这个先验分布随机采样得到不同的task,在每个task下确定PDE和BC的residual points,通过训练点建立关于PDE和BC的loss函数 L 1 \mathcal{L}_{1} L1,训练NN找到每个task下使 L 1 \mathcal{L}_{1} L1最小的参数 θ ∗ \theta_{*} θ,采取SGD或者Adam的方法更新网络参数,然后,再将不同task得到的网络参数以 θ ~ − θ \widetilde{\theta}-\theta θ θ方向更新 θ \theta θ,更新步长采用线性策略。最后,将预训练得到的网络加载,再采用PINN的方法求解,构造PDE loss,BC loss 、 IC loss以及Data loss,采取Adam优化方法优化loss,求得PDE解的代理模型,具体步骤见算法3。

3 实验部分

以一维、二维泊松方程为例,对提出的两种算法进行演示与验证,并再二维热布局问题上得到了应用。实验1主要对一维松方程进行求解,实验2主要对二维泊松方程进行求解,实验3主要将算法3应用于热布局问题上。

3.1 实验1(一维泊松方程)

在这一章的两个算例被设计求解下面这个问题,对提出的两种算法进行演示与验证。算例1对零阶先验信息进行预处理,再用PINN求解PDE;算例2对二阶先验信息进行预处理,再采用PINN的方法求解PDE。

问题1描述:考虑一个两端具有狄利克雷边界条件的一维泊松方程,需要求解如下方程:
d 2 u d x 2 = − 0.49 ⋅ sin ⁡ ( 0.7 x ) − 2.25 ⋅ cos ⁡ ( 1.5 x ) u ( − 10 ) = u ^ ( − 10 ) u ( 10 ) = u ^ ( 10 ) \begin{aligned} \frac{d^{2} u}{d x^{2}} &=-0.49 \cdot \sin (0.7 x)-2.25 \cdot \cos (1.5 x) \\ u(-10) &=\hat{u}(-10) \\ u(10) &=\hat{u}(10) \end{aligned} dx2d2uu(10)u(10)=0.49sin(0.7x)2.25cos(1.5x)=u^(10)=u^(10)真实的解为:
u ^ : = sin ⁡ ( 0.7 x ) + cos ⁡ ( 1.5 x ) − 0.1 x , ∀ x ∈ [ − 10 , 10 ] \hat{u}:=\sin (0.7 x)+\cos (1.5 x)-0.1 x, \quad \forall x \in[-10,10] u^:=sin(0.7x)+cos(1.5x)0.1x,x[10,10]

3.1.1 算例1(算法2)

问题求解:

  • 在已知原函数 u u u的零阶信息,服从如下的分布: u ^ : = ζ 1 sin ⁡ ( η 1 x ) + ζ 2 cos ⁡ ( η 2 x ) − ζ 3 x + η 3 , ζ i ∼  uniform [ 0 , 2 ] ∀ i = 1 , 2 ζ 3 ∼  uniform [ 0 , 1 ] η 1 ∼  uniform [ 0 , 1 ] η 2 ∼  uniform [ 1 , 2 ] η 3 ∼  uniform [ 0 , 1 ] \begin{array}{c} \hat{u}:=\zeta_{1}\sin (\eta_{1} x)+\zeta_{2}\cos (\eta_{2} x)-\zeta_{3} x +\eta_{3} , \quad \\ \zeta_{i} \sim \text { uniform}[0,2] \forall i=1,2\\ \zeta_{3} \sim \text { uniform}[0,1]\\ \eta_{1} \sim \text { uniform}[0,1]\\ \eta_{2} \sim \text { uniform}[1,2]\\ \eta_{3} \sim \text { uniform}[0,1] \end{array} u^:=ζ1sin(η1x)+ζ2cos(η2x)ζ3x+η3,ζi uniform[0,2]i=1,2ζ3 uniform[0,1]η1 uniform[0,1]η2 uniform[1,2]η3 uniform[0,1]
  • 首先,选取了一个网络4层,每层含50个神经元的MLP网络,通过对零阶先验信息采用Reptile的方法进行训练,从原函数的分布中随机选取4000个任务,随机采样2000个样本点,采用Adam算法在每个任务更新参数20次,学习率设置0.001。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取了不同的样本点,进行了四个实验,训练样本点设置见下表1,其中 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata分别表示PDE,边值以及真值的residual points的数量。值得注意的是 N d a t a N_{data} Ndata表示每个epoch所用到的初始真实样本点数目,在每个epoch会使用不同的真实样本。
表1 PINN与算法2每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
15002500
250250
310210

图2-6中红线表示真实原函数,蓝色曲线表示神经网络得到PDE的解。第1行表示未经过预训练的PINN方法,第2行表示采用算法2的方法,前4列表示不同Iteration下神经网络结果,最后1列表示900Iteration下对应loss变化。在图2中,可以看出采用算法2能很快在300 Iteration时就能很快收敛,未经预训练的PINN即使训练达到600 Iteration仍不能很快收敛。通过减少训练样本点,得到不同Iteration训练结果如图3和图4,从图中可以看到即使大幅度减少训练样本,采用算法2的方法仍然能在300 Iteration取得很好的结果。相比之下,随着训练样本减少未经预训练的PINN方法,即使训练更多的Iteration仍得不到好的结果。综上可以看出,即使使用较小的训练样本,算法2依然能得到较好的结果。

图2 第1组PINN与算法2求解问题1结果图
图3 第2组PINN与算法2求解问题1结果图
图4 第3组PINN与算法2求解问题1结果图

为了进一步分析采用预训练的PINN方法对真实训练样本数目( N d a t a N_{data} Ndata)的敏感性,在整个训练中两种方法 N d a t a N_{data} Ndata仅使用100个进行训练,即真值的residual point总共100个,和第1-3组数据测试不同在于,第4组在每个Iteration中采用相同的真值的residual point。图5展示了不同Iteration采用算法2的方法与未经过预训练的PINN方法的结果,从图中可以看出,即使仅采用100个真实样本值,经过预训练的PINN方法在300 Iteration就能收敛到很好的效果,相比之下,未经预训练的PINN即使到了900 Iteration仍不能收敛。在图6中,算法2在没有使用真值进行训练,仅使用PDE residual point,下同样能在900 Iteration达到收敛趋势,而相比之下未经过预训练的PINN方法即使在900 Iteration根本没有收敛趋势。这两组实验说明了算法2对真值的训练样本依赖性不强,即使不使用真实样本也能在较小Iteration下达到收敛,而未经过预训练的PINN方法即使在较多Iteration下页不能收敛。

表2 算法2与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
4102100
550020
图5 第4组PINN与算法2求解问题1结果图
图6 第5组PINN与算法2求解问题1结果图

3.1.2 算例2(算法3)

问题求解:

  • 在已知原函数二阶先验信息,服从如下分布: d 2 u d x 2 = − α 2 ⋅ sin ⁡ ( α x ) − β 2 ⋅ cos ⁡ ( β x ) α ∼  uniform [ 0 , 1 ] β ∼  uniform [ 0 , 2 ] \begin{aligned} \frac{d^{2} u}{d x^{2}} &=-\alpha^{2} \cdot \sin (\alpha x)-\beta^{2} \cdot \cos (\beta x) \\ \alpha &\sim \text { uniform}[0,1] \\ \beta&\sim \text { uniform}[0,2] \end{aligned} dx2d2uαβ=α2sin(αx)β2cos(βx) uniform[0,1] uniform[0,2]
  • 首先,选取了一个网络4层,每层含50个神经元的MLP网络,通过对二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取40个任务,随机采样10000个PDE residual point,在每个任务下更新参数1000次,构建只包含PDE损失的loss采用Adam算法更新参数,学习率设置0.001。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表2参数的训练样本进行训练,值得注意的是 N d a t a N_{data} Ndata表示每个epoch所用到的初始真实样本点数目,在每个epoch会使用不同的真实样本。
表3 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
15002500
250250
310210

图8-12中红线表示真实原函,蓝色曲线表示神经网络预测的原函数。第1行表示未经过预训练的PINN方法,第2行表示采用算法3的方法,前4列表示不同Iteration下神经网络结果,最后1列表示900Iteration下对应loss变化。在图9和图10中,大幅减少训练样本数目后,算法3的方法能很快在300 Iteration时就能很快收敛,未经预训练的PINN即使训练达到900 Iteration仍不能很快收敛。进一步说明了采用二阶先验信息的预训练的网络能很快收敛。综上可以看出,即使使用较小的训练样本,算法2依然能得到较好的结果。

图8 第1组PINN与算法3求解问题1结果图
图9 第2组PINN与算法3求解问题1结果图
图10 第3组PINN与算法3求解问题1结果图

为了进一步分析采用预训练的PINN方法对初始真实训练样本数目的敏感性,训练参数如下表,值得注意的是,这里的 N i N_{i} Ni表示每个Iteration采用相同真值真实样本数目( N d a t a N_{data} Ndata)。图11使用100个真实样本进行训练,即真值的residual point总共100个,图11展示了不使用初始真实样本进行训练。从图11,可以看出,即使只知道真实原函数100个点的值,采用算法3的方法仍能很快收敛,相比之下,使用了更少样本点的不经过预训练的PINN结果非常差,在较大Iteration下仍不能收敛。从图12,在不使用真值进行训练时,不经过预训练的PINN方法,经过多次Ieration后并没有收敛趋势,而算法3在相同条件下,在900 Iteration下结果已经很好。这两组实验说明了算法3对真值的训练样本依赖性不强,即使不使用真实样本也能在较小Iteration下达到收敛,而未经过预训练的PINN方法即使在较多Iteration下页不能收敛。

表4 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
4102100
550020
图11 第4组PINN与算法3求解问题1结果图
图12 第5组PINN与算法3求解问题1结果图

3.2 实验2(二维泊松方程)

在这一章两个算例被设计求解问题2,对提出的两种算法进行演示与验证。算例1零阶先验信息进行Reptile预处理,再进行PINN求解;算例2对二阶先验信息进行Reptile预处理,再进行PINN求解。

问题2描述:考虑一个两端具有狄利克雷边界条件的二维泊松方程,需要求解如下方程:
− Δ u = f Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u &=f \\ \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} ΔuΩuΩ=f=[0,1]×[0,1]=0
其中
f = ∑ 0 ≤ i ≤ 3 , 0 ≤ j ≤ 3 η i j ⋅ sin ⁡ ( i x π ) ⋅ sin ⁡ ( j y π ) f=\sum_{0 \leq i \leq 3,0 \leq j \leq 3} \eta_{i j} \cdot \sin (i x \pi) \cdot \sin (j y \pi) f=0i3,0j3ηijsin(ixπ)sin(jyπ)
系数取值: η i j = π 2 ( i 2 + j 2 ) μ i j {\eta_{i j}=\pi^{2}(i^{2}+j^{2})}\mu_{i j} ηij=π2(i2+j2)μij 1 ≤ i ≤ 3 , 1 ≤ j ≤ 3 1 \leq i \leq 3,1 \leq j \leq 3 1i3,1j3

表5 问题2待求PDE方程系数取值
μ 11 \mu_{11} μ11 μ 12 \mu_{12} μ12 μ 13 \mu_{13} μ13
0.70.45- 0.23
μ 21 \mu_{21} μ21 μ 22 \mu_{22} μ22 μ 23 \mu_{23} μ23
- 0.10.95-0.95
μ 31 \mu_{31} μ31 μ 32 \mu_{32} μ32 μ 33 \mu_{33} μ33
0.95- 0.950.95

3.2.1 算例1(算法2)

问题求解:

  • 已知原函数的零阶先验信息,服从如下分布:
    u = ∑ 0 ≤ i ≤ 3 , 0 ≤ j ≤ 3 ζ i j ⋅ sin ⁡ ( i x π ) ⋅ sin ⁡ ( j y π ) u=\sum_{0 \leq i \leq 3,0 \leq j \leq 3} \zeta_{i j} \cdot \sin (i x \pi) \cdot \sin (j y \pi) u=0i3,0j3ζijsin(ixπ)sin(jyπ)
    ζ i j ∼ [ − 1 , 1 ] \zeta_{ij}\sim[-1,1] ζij[1,1]
  • 首先,选取了一个网络5层,每层含50个神经元的MLP网络,通过对二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取4000个任务,随机采样20000个PDE residual point,在每个任务下更新参数1000次,构建只包含PDE损失的loss采用Adam算法更新参数,学习率设置0.001。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表5参数的训练样本进行训练,,其中 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata分别表示PDE,边值以及初值的residual points的数量。值得注意的是 N i N_{i} Ni表示每个epoch所用到的初始真实样本点数目,在每个epoch会使用不同的真实样本。
表6 算法2与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1100016001000
21000400100
35004000
41004000

待求PDE解的真值如图12。4组不同数据训练结果如图14-17,其中第1行表示未经过预训练的PINN方法结果,第二行表示用算法3的结果,前4列表示不同Iteration下神经网络结果,最后1列表示4000Iteration下对应loss变化。如图14,采用算法2,在200 Iteration已经能够得到效果比较好,但是不经过预训练的PINN方法在1000 Iteration时也只是学到了真值的大致分布,局部结果并不好,在4000 Iteration时loss值也比算法2大。如图15,在大幅减小了真值训练样本数目,甚至不使用真值训练样本后,算法2也同样能在200 Iteration下马上学得整体分布,而且在200 Iteration下loss已经收敛到较小值,而不经过预训练的PINN方法在4000 Iteration时才能达到算法2 在200 Iteration时相当的loss。在图16和图17中,在不使用真值训练样本,不经过预训练的PNN方法在4000 Iteration仍不能学到真值的分布,而算法2仍在200 Iteration已经学得真值整体分布,在500 Iteration下已经收敛,说明算法2的训练样本数目依赖性不强,较小训练样本便能收敛。综上所述,相比于未经过预训练的PINN方法,算法2能在更少真实训练样本甚至没有真实训练样本时在更快收敛。

图14 第1组PINN与算法2求解问题2结果图
图15 第2组PINN与算法2求解问题2结果图
图16 第3组PINN与算法2求解问题2结果图
图17 第4组算法2求解问题2结果图

3.2.2 算例2(算法3)

问题求解:

  • 知道原函数的二阶先验信息,服从如下分布:
    − Δ u = ∑ 0 ≤ i ≤ 3 , 0 ≤ j ≤ 3 δ i j ⋅ sin ⁡ ( i x π ) ⋅ sin ⁡ ( j y π ) \begin{aligned} -\Delta u &=\sum_{0 \leq i \leq 3,0 \leq j \leq 3} \delta_{i j} \cdot \sin (i x \pi) \cdot \sin (j y \pi) \\ \end{aligned} Δu=0i3,0j3δijsin(ixπ)sin(jyπ) δ i j = π 2 ( i 2 + j 2 ) λ i j , 1 ≤ i ≤ 3 , 1 ≤ j ≤ 3 {\delta_{i j}=\pi^{2}(i^{2}+j^{2})}\lambda_{i j},1 \leq i \leq 3,1 \leq j \leq 3 δij=π2(i2+j2)λij,1i3,1j3 λ i j ∼ [ − 1 , 1 ] \lambda_{ij}\sim[-1,1] λij[1,1]
  • 首先,选取了一个网络5层,每层含100个神经元的MLP网络,通过对二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取4000个任务,随机采样1000个PDE residual point,在每个任务下更新参数1000次,构建只包含PDE损失的loss采用Adam算法更新参数,学习率设置0.001。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表参数的训练样本进行训练,,其中 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata分别表示PDE,边值以及初值的residual points的数量。值得注意的是 N d a t a N_{data} Ndata表示每个Iteration所用到的初始真实样本点数目,在每个epoch会使用不同的真实样本。
表7 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1100016001000
21000400100
35004000
41004000

待求PDE解的真值如图12。4组不同数据训练结果如图18-21,其中第1行表示未经过预训练的PINN方法,第2行表示采用算法3的方法,前4列表示不同Iteration下神经网络结果,最后1列表示4000Iteration下对应loss变化。。如图18,采用算法3的方法loss能很快下降收敛,在200 Iteration下,采用算法3的方法已经把整个真值轮廓学得很好了,而没有经过预训练的PINN方法在1000 Iteration只学到真值部分轮廓。从图19中,在大幅减小了真值训练样本数目,甚至不使用真值训练样本后,算法2也同样能在200 Iteration下马上学得整体分布,而且在200 Iteration下loss已经收敛到较小值,而不经过预训练的PINN方法在4000 Iteration时才能达到算法2 在200 Iteration时的相当的loss。在图20和图21中,在不使用真值训练样本,不经过预训练的PNN方法在4000 Iteration仍不能学到真值的分布,而算法2仍在200 Iteration已经学得真值整体分布,在500 Iteration下已经收敛,说明算法2的训练样本数目依赖性不强,较小训练样本便能收敛。综上所述,相比于未经过预训练的PINN方法,算法3能在更少真实训练样本甚至没有真实训练样本时在更快收敛。

图18 第1组PINN与算法3求解问题2结果图
图19 第2组PINN与算法3求解问题2结果图
图20 第3组PINN与算法3求解问题2结果图
图21 第4组PINN与算法3求解问题2结果图

3.3 实验3(二维热布局)

这一章主要针对二维布局问题设计了问题3的三种情况,对提出的算法3进行了演示与验证。算例1利用算法3对5个热源的二阶信息进行预训练,再求解5个热源布局的PDE;算例2利用算法3对10个热源的二阶信息进行预训练,再求解10个热源布局的PDE;算例3对1,5,10热源的二阶信息进行混合预训练,再求解8个热源布局的PDE。
问题3:
考虑二维布局问题,可以由如下方程描述:
− Δ u ( x , y ) = s ( x , y ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y) &=s(x, y) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0 \end{aligned} Δu(x,y)x,yΩuΩ=s(x,y)=[0,1]×[0,1]=0
其中,热源有 n n n个n
s ( x , y ) = ∑ i = 1 n f ( x , y ; a i , b i , c i ) s(x, y)=\sum_{i=1}^{n} f\left(x, y ; a_{i}, b_{i}, c_{i}\right) s(x,y)=i=1nf(x,y;ai,bi,ci)

热源由如下方案生成
f ( x , y ; a i , b i , c i ) = c ⋅ exp ⁡ ( − ( x − a i ) 2 + ( y − b i ) 2 0.01 ) a i ∼ [ 0.1 , 0.9 ] b i ∼ [ 0.1 , 0.9 ] c i ∼ [ 0.8 , 1.2 ] \begin{aligned} f(x, y ; a_{i}, b_{i}, c_{i}) &=c \cdot \exp \left(-\frac{(x-a_{i})^{2}+(y-b_{i})^{2}}{0.01}\right) \\ a_{i} & \sim[0.1,0.9] \\ b_{i} & \sim[0.1,0.9] \\ c_{i} & \sim[0.8,1.2] \end{aligned} f(x,y;ai,bi,ci)aibici=cexp(0.01(xai)2+(ybi)2)[0.1,0.9][0.1,0.9][0.8,1.2]

算例1描述:待求PDE由5个热源组成,具体描述如下,通过fenics求得5个热源及该方程对应的真实热场如图。

− Δ u ( x , y ) = ∑ i = 1 5 c i ⋅ exp ⁡ ( − ( x − a i ) 2 + ( y − b i ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y) &=\sum_{i=1}^{5}c_{i} \cdot \exp \left(-\frac{(x-a_{i})^{2}+(y-b_{i})^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=i=15ciexp(0.01(xai)2+(ybi)2)=[0,1]×[0,1]=0

表8 算例1热源方程中参数取值
a 1 a_{1} a1 a 2 a_{2} a2 a 3 a_{3} a3 a 4 a_{4} a4 a 5 a_{5} a5
0.150.5160.860.840.40
b 1 b_{1} b1 b 2 b_{2} b2 b 3 b_{3} b3 b 4 b_{4} b4 b 5 b_{5} b5
0.550.540.310.180.74
c 1 c_{1} c1 c 2 c_{2} c2 c 3 c_{3} c3 c 4 c_{4} c4 c 5 c_{5} c5
0.880.860.991.071.13

算例2描述:待求PDE由10个热源组成,具体描述如下:

− Δ u ( x , y ) = ∑ i = 1 10 c i ⋅ exp ⁡ ( − ( x − a i ) 2 + ( y − b i ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y) &=\sum_{i=1}^{10}c_{i} \cdot \exp \left(-\frac{(x-a_{i})^{2}+(y-b_{i})^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=i=110ciexp(0.01(xai)2+(ybi)2)=[0,1]×[0,1]=0

表9 算例2热源方程中参数取值
a 1 a_{1} a1 a 2 a_{2} a2 a 3 a_{3} a3 a 4 a_{4} a4 a 5 a_{5} a5 a 6 a_{6} a6 a 7 a_{7} a7 a 8 a_{8} a8 a 9 a_{9} a9 a 10 a_{10} a10
0.100.200.24,0.290.630.650.700.770.880.89
b 1 b_{1} b1 b 2 b_{2} b2 b 3 b_{3} b3 b 4 b_{4} b4 b 5 b_{5} b5 b 6 b_{6} b6 b 7 b_{7} b7 b 3 b_{3} b3 b 9 b_{9} b9 b 10 b_{10} b10
0.520.260.700.560.830.670.830.270.900.67
c 1 c_{1} c1 c 2 c_{2} c2 c 3 c_{3} c3 c 4 c_{4} c4 c 5 c_{5} c5 c 6 c_{6} c6 c 7 c_{7} c7 c 8 c_{8} c8 c 9 c_{9} c9 c 10 c_{10} c10
1.030.920.821.071.11,1.170.810.850.880.95

算例3描述:待求PDE由10个热源组成,具体描述如下,通过fenics求得5个热源及该方程对应的真实热场如图。

− Δ u ( x , y ) = ∑ i = 1 8 c i ⋅ exp ⁡ ( − ( x − a i ) 2 + ( y − b i ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y) &=\sum_{i=1}^{8}c_{i} \cdot \exp \left(-\frac{(x-a_{i})^{2}+(y-b_{i})^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=i=18ciexp(0.01(xai)2+(ybi)2)=[0,1]×[0,1]=0

表10 算例3热源方程中参数取值
a 1 a_{1} a1 a 2 a_{2} a2 a 3 a_{3} a3 a 4 a_{4} a4 a 5 a_{5} a5 a 6 a_{6} a6 a 7 a_{7} a7 a 8 a_{8} a8
0.150.180.200.310.430.560.70.8
b 1 b_{1} b1 b 2 b_{2} b2 b 3 b_{3} b3 b 4 b_{4} b4 b 5 b_{5} b5 b 6 b_{6} b6 b 7 b_{7} b7 b 8 b_{8} b8
0.340.310.650.860.650.380.640.12
c 1 c_{1} c1 c 2 c_{2} c2 c 3 c_{3} c3 c 4 c_{4} c4 c 5 c_{5} c5 c 6 c_{6} c6 c 7 c_{7} c7 c 8 c_{8} c8
0.841.071.120.831.121.110.990.91

3.3.1 算例1(5个热源)

问题求解:

  • 已知二阶先验信息,由5个热源组成的二阶先验分布构成。

− Δ u ( x , y ) = ∑ i = 1 5 c i ⋅ exp ⁡ ( − ( x − a ) 2 + ( y − b ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y)&=\sum_{i=1}^{5} c_{i} \cdot \exp \left(-\frac{(x-a)^{2}+(y-b)^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=i=15ciexp(0.01(xa)2+(yb)2)=[0,1]×[0,1]=0
其中
a i ∼ [ 0.1 , 0.9 ] b i ∼ [ 0.1 , 0.9 ] c i ∼ [ 0.8 , 1.2 ] \begin{aligned} a_{i} & \sim[0.1,0.9] \\ b_{i} & \sim[0.1,0.9] \\ c_{i} & \sim[0.8,1.2] \end{aligned} aibici[0.1,0.9][0.1,0.9][0.8,1.2]

  • 首先,选取了一个网络5层,每层含100个神经元的MLP网络,通过对包含5个二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取1000个任务,随机采样1000个PDE residual point以及1000 BC residual point,在每个任务下更新参数1000次,构建包含PDE损失和BC损失的loss,采用Adam算法更新参数,学习率设置0.001,采样学习率下降策略,每500 Iteration变为原来学习率的0.8倍。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表11参数的训练样本进行训练。
图22 5个热源与对应热场
表11 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1400040000
24004000
31004000

通过fenic求解,得到待求10个热源真实热场分布如图22。3组不同数据训练结果如图23-25,其中第1行表示未经过预训练的PINN方法,第2行表示采用算法3的方法。前4列表示不同Iteration下神经网络结果,最后1列表示2000Iteration下对应loss变化。如图23,采用算法3的方法loss能快速下降收敛,在1000 Iteration下Pred loss已经降到 1 0 − 6 10^{-6} 106,而没有经过预训练的PINN方法在2000 Iteration下loss也只能降到 1 0 − 5 10^{-5} 105。从图24和25中,在大幅减小训练样本数目后,算法3的Pred loss也同样能在1000 Iteration下迅速降到$10^{-6},甚至在每个Iteration只使用500个residual points下,算法3也能很快收敛,相比之下,不采用预训练的PINN方法在大幅减少训练样本后都不能收敛。综上所述,相比于未经过预训练的PINN方法,算法3能在更少训练样本时更快收敛,同时也能收敛到更小的loss。

图23 第1组PINN与算法3求解算例1结果图
图24 第2组PINN与算法3求解算例1结果图
图25 第3组PINN与算法3求解算例1结果图

3.3.2 算例2(10个热源)

问题求解:

  • 已知二阶先验信息,由10个热源组成的二阶先验分布组成。

− Δ u ( x , y ) = ∑ i = 1 10 c i ⋅ exp ⁡ ( − ( x − a ) 2 + ( y − b ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y)&=\sum_{i=1}^{10} c_{i} \cdot \exp \left(-\frac{(x-a)^{2}+(y-b)^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=i=110ciexp(0.01(xa)2+(yb)2)=[0,1]×[0,1]=0
其中
a i ∼ [ 0.1 , 0.9 ] b i ∼ [ 0.1 , 0.9 ] c i ∼ [ 0.8 , 1.2 ] \begin{aligned} a_{i} & \sim[0.1,0.9] \\ b_{i} & \sim[0.1,0.9] \\ c_{i} & \sim[0.8,1.2] \end{aligned} aibici[0.1,0.9][0.1,0.9][0.8,1.2]

  • 首先,选取了一个网络5层,每层含100个神经元的MLP网络,通过对10个热源的二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取1000个任务,随机采样1000个PDE residual point以及1000 BC residual point,在每个任务下更新参数1000次,构建包含PDE损失和BC损失的loss,采用Adam算法更新参数,学习率设置0.001,采样学习率下降策略,每500 Iteration变为原来学习率的0.8倍。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表12参数的训练样本进行训练。
  • 通过fenic求解,得到该10个热源与对应热场如图26。
图26 10个热源与对应热场
表12 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1400040000
24004000
31004000

通过fenic求解,得到待求10个热源真实热场分布如图26。3组不同数据训练结果如图27-29,其中第1行表示未经过预训练的PINN方法,第2行表示采用算法3的方法。前4列表示不同Iteration下神经网络结果,最后1列表示2000Iteration下对应loss变化。如图27,在热源数目问题变多后采用算法3的方法loss仍能快速下降收敛,在500 Iteration下Pred loss已经降到 1 0 − 6 10^{-6} 106,而没有经过预训练的PINN方法在2000 Iteration下loss也只能降到 1 0 − 5 10^{-5} 105。从图28和29中,在大幅减小训练样本数目后,算法3的Pred loss也同样能在500 Iteration下迅速降到$10^{-6},甚至在每个Iteration只使用500个residual points下,算法3也能很快收敛,相比之下,不采用预训练的PINN方法在大幅减少训练样本后都不能收敛。综上所述,相比于未经过预训练的PINN方法,算法3能在更少训练样本时更快收敛,同时也能收敛到更小的loss。

图27 第1组PINN与算法3求解算例2结果图
图28 第2组PINN与算法3求解算例2结果图
图29 第3组PINN与算法3求解算例2结果图

3.3.3 算例3(混合热源)

问题求解:

  • 已知二阶先验信息,由1个,5个和10个热源组成的二阶先验分布组成。
    − Δ u ( x , y ) = ∑ m = 1 , 5 , 10 ∑ i = 1 m c i ⋅ exp ⁡ ( − ( x − a ) 2 + ( y − b ) 2 0.01 ) x , y ∈ Ω = [ 0 , 1 ] × [ 0 , 1 ] u ∣ ∂ Ω = 0 \begin{aligned} -\Delta u(x, y)&=\sum_{m=1,5,10}\sum_{i=1}^{m} c_{i} \cdot \exp \left(-\frac{(x-a)^{2}+(y-b)^{2}}{0.01}\right) \\ x, y \in \Omega &=[0,1] \times[0,1] \\ \left.u\right|_{\partial \Omega} &=0\\ \end{aligned} Δu(x,y)x,yΩuΩ=m=1,5,10i=1mciexp(0.01(xa)2+(yb)2)=[0,1]×[0,1]=0
    其中
    a i ∼ [ 0.1 , 0.9 ] b i ∼ [ 0.1 , 0.9 ] c i ∼ [ 0.8 , 1.2 ] \begin{aligned} a_{i} & \sim[0.1,0.9] \\ b_{i} & \sim[0.1,0.9] \\ c_{i} & \sim[0.8,1.2] \end{aligned} aibici[0.1,0.9][0.1,0.9][0.8,1.2]
  • 首先,选取了一个网络5层,每层含100个神经元的MLP网络,通过对1,5,10个热源的二阶先验信息采用Reptile的方法进行训练,分布从1,5,10热源的二阶的分布中随机选取333个任务,每个任务下随机采样1000个PDE residual point以及1000 BC residual point,在每个任务下更新参数1000次,构建包含PDE损失和BC损失的loss,采用Adam算法更新参数,学习率设置0.001,采样学习率下降策略,每500 Iteration变为原来学习率的0.8倍。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表13参数的训练样本进行训练。
图30 8个热源与对应热场
表13 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1400040000
24004000
31004000

通过fenic求解,得到待求8个热源真实热场分布如图30。3组不同数据训练结果如图31-33,其中第1行表示未经过预训练的PINN方法,第2行表示采用算法3的方法。前4列表示不同Iteration下神经网络结果,最后1列表示2000Iteration下对应loss变化。通过热源为1,5,8的二阶先验分布信息进行预训练再求解热源8的PDE的算法3,相比于没有预训练的PINN方法,同样能很快收敛,并在较小的Iteration下收敛到更小的loss。如图31,采用算法3的方法loss仍能快速下降收敛,在500 Iteration内Pred loss已经降到 1 0 − 6 10^{-6} 106,而没有经过预训练的PINN方法在2000 Iteration下loss也只能降到 1 0 − 5 10^{-5} 105。从图32和33中,在大幅减小训练样本数目后,算法3的Pred loss也同样能在500 Iteration下迅速降到$10^{-6},甚至在每个Iteration只使用500个residual points下,算法3也能很快收敛,相比之下,不采用预训练的PINN方法在大幅减少训练样本后都不能收敛。综上所述,相比于未经过预训练的PINN方法,算法3能通过不同热源的先验信息预训练,在新热源问题上更快在更少训练样本时更快收敛,同时也能收敛到更小的loss。

图31 第1组PINN与算法3求解算例3结果图
图32 第2组PINN与算法3求解算例3结果图
图33 第3组PINN与算法3求解算例3结果图

3.4 实验4(二维Schrodinger方程)

在这一章例被设计求解问题4,对提出的算法3进行演示与验证。算例1对二阶先验信息进行Reptile预处理,再进行PINN求解。

问题4:考虑用来研究量子力学系统的经典场方程Schrodinger方程,具体描述如下:
i h t + 0.5 h x x + ∣ h ∣ 2 h = 0 , x ∈ [ − 5 , 5 ] , t ∈ [ 0 , π / 2 ] h ( 0 , x ) = 2 sech ⁡ ( x ) h ( t , − 5 ) = h ( t , 5 ) h x ( t , − 5 ) = h x ( t , 5 ) \begin{array}{l} i h_{t}+0.5 h_{x x}+|h|^{2} h=0, \quad x \in[-5,5], \quad t \in[0, \pi / 2] \\ h(0, x)=2 \operatorname{sech}(x) \\ h(t,-5)=h(t, 5) \\ h_{x}(t,-5)=h_{x}(t, 5) \end{array} iht+0.5hxx+h2h=0,x[5,5],t[0,π/2]h(0,x)=2sech(x)h(t,5)=h(t,5)hx(t,5)=hx(t,5)

3.4.1 算例1

问题求解:

i h t + λ h x x + ∣ h ∣ 2 h = 0 , x ∈ [ − 5 , 5 ] , t ∈ [ 0 , π / 2 ] h ( t , − 5 ) = h ( t , 5 ) h x ( t , − 5 ) = h x ( t , 5 ) \begin{array}{l} i h_{t}+\lambda h_{x x}+|h|^{2} h=0, \quad x \in[-5,5], \quad t \in[0, \pi / 2] \\ h(t,-5)=h(t, 5) \\ h_{x}(t,-5)=h_{x}(t, 5) \end{array} iht+λhxx+h2h=0,x[5,5],t[0,π/2]h(t,5)=h(t,5)hx(t,5)=hx(t,5)
其中
λ ∼ [ 0 , 1 ] \begin{aligned} \lambda & \sim[0,1] \\ \end{aligned} λ[0,1]

  • 首先,选取了一个网络5层,每层含100个神经元的MLP网络,通过对二阶先验信息采用Reptile的方法进行训练,从二阶的分布中随机选取100个任务,随机采样1000个PDE residual point以及1000个BC residual point,在每个任务下更新参数10000次,构建只包含PDE损失的loss采用Adam算法更新参数,学习率设置0.001。然后,将得到的预训练得到的网络参数加载,进行PINN求解。选取下表5参数的训练样本进行训练,,其中 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata分别表示PDE,边值以及初值的residual points的数量。值得注意的是 N i N_{i} Ni表示每个epoch所用到的初始真实样本点数目,在每个epoch会使用不同的真实样本。
图32 问题4Schrodinger方程真实分布
表14 算法3与PINN每个Iteration下采样点数目设置
实验编号 N f N_f Nf N b N_b Nb N d a t a N_{data} Ndata
1400010000
220001000
310001000
图33 第1组PINN与算法3求解问题4结果图
图34 第2组PINN与算法3求解问题4结果图
图35 第3组PINN与算法3求解问题4结果图

在这里插入图片描述

参考文献


  1. Chen Y , Lu L , Karniadakis G E , et al. Physics-informed neural networks for inverse problems in nano-optics and metamaterials[J]. Optics Express, 2020, 28(8). ↩︎ ↩︎ ↩︎

  2. Peng W , Zhou W , Zhang J , et al. Accelerating Physics-Informed Neural Network Training with Prior Dictionaries[J]. 2020. ↩︎ ↩︎ ↩︎

  3. M. Raissi, P. Perdikaris, and G. E. Karniadakis, “Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations,” J. of Comp. Phys. 378, 686–707 (2019). ↩︎ ↩︎

  4. Lu Lu, Xuhui Meng, Zhiping Mao, and George E Karniadakis, “Deepxde: A deep learning library for solving differential equations,” arXiv preprint arXiv:1907.04502 (2019). ↩︎ ↩︎

  5. Xing Lin, Yair Rivenson, Nezih T Yardimci, Muhammed Veli, Yi Luo, Mona Jarrahi, and Aydogan Ozcan. All-optical machine learning using diffractive deep neural networks. Science, 361(6406):1004–1008, 2018. ↩︎

  6. Ameya D Jagtap, Kenji Kawaguchi, and George Em Karniadakis. Locally adaptive acti- vation functions with slope recovery term for deep and physics-informed neural networks. arXiv preprint arXiv:1909.12228, 2019. ↩︎

  7. Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model-agnostic meta-learning for fast adaptation of deep networks. arXiv preprint arXiv:1703.03400, 2017. ↩︎

  8. Nichol A , Achiam J , Schulman J . On First-Order Meta-Learning Algorithms[J]. 2018. ↩︎

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pinn山里娃

原创不易请多多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值