此文档用于介绍Physics-informed Neural Networks (PINN)。PINN技术最早是由Brown大学的一篇文章提出的:
Physics Informed Deep Learning (Part I): Data-driven Solutions of...
其目的是使用神经网络解决一般非线性偏微分方程(general nonlinear PDE)求解问题。PINN(Part1)解决PDE正向求解问题,与PINN(Part2)(同组的另一篇文章)提出的反问题有所不同。此文档将介绍PINN(Part1)。
给定PDE:
$$ u_t + \mathcal{N}[u;\lambda] = 0, x \in \Omega, t \in [0, T] $$
其中$\mathcal{N}[u;\lambda]$是被$\lambda$参数控制的非线性微分算子,$x$为空间变量,$t$为时间变量,$u_t$为u对t的偏导数。我们用$u(x,t)$来表示给定x$x$t下的隐藏的解$u$。

其中

$$ \lambda_1 = 1 \\ \lambda_2 = \frac{0.01}{\pi} $$
初始和边界条件为

定义

PDE的目标是在满足初始和边界条件的前期下,输入给定的$(x,t)$,输出u使得$f= 0$。PINN的思路是将$(x,t)$输入到一个常规的的MLP神经网络中,设置dim=1的输出层用于表示u。这个MLP并没有得到任何的物理信息指示,故暂时不能被称为physics-informed。但当我们把得到的这个u重新带入到上式,计算出$u_t + \mathcal{N}[u]$,得到的值便和PDE有了关系,我们称MLP+PDE这一整套计算为一个PINN。
以下代码使用Python TensorFlow语言表示,TensorFlow和其他深度学习框架(例如PyTorch)的autograd功能保证了$u_t, u_{xx}$等微分表达的计算。
