论文阅读-physics-informed-deep-learning

1 minute read

Published:

论文阅读-Physics informed deep learning

part I

文章主要解决两个问题:
1找到方程的解
2找到方程的参数
data-driven solution and data-driven discovery of partial differential equations.
数据少的时候,CNN,RNN等方法训练出来的结果缺少鲁棒性。
目标:尽可能多地 结合已知的先验信息(属于什么方程,边界条件等)
leverage their well known capability as universal function approximators
将神经网络作为对方程的近似
方程:

1:给定和数据,求出u(x,t)
2.给定数据,求出
导数项可以用tensorflow 中的自动微分机制处理

burger equation:

def u(t, x):
u = neural_net(tf.concat([t,x],1), weights, biases)
return u
def f(t, x):
u = u(t, x)
u_t = tf.gradients(u, t)[0]
u_x = tf.gradients(u, x)[0]
u_xx = tf.gradients(u_x, x)[0]
f = u_t + u*u_x - (0.01/tf.pi)*u_xx
return f

损失函数为

Alt text
表示u的初始和边界条件上的训练数据
表示f对应的点(这些数据是不需要测量获取的)
表示对边界条件的约束,表示方程的约束
优化器选择:L-BFGS(full batch)
该方法无法进行收敛性分析,经验上如果问题是well-posed 并且 解唯一 ,可以有较好的效果

实验结果:

只要少量的边界点初始点就可以学习到方程的信息

Alt text

Alt text

足够时越多,效果越好
训练时间:单GPU训练只要60秒
模型用的是9层20个结点的网络

薛定谔方程

Alt text
u表示h的实数部分,v表示h的虚数部分
输入为x,t,输出为

Alt text
表示边界值,表示初值,表示方程
只需要t=0处的数据。

局限

当维数增加时,不止是一维或二维,需要的的数量指数级增长

Discrete Time Models

用q阶Runge-Kutta方法:

,

由R-K的公式推导出来

神经网络:
输入x,输出:
再从得出
截断误差:

burgers’ equation

Alt text

Alt text
时的数据,学习到方程的特征和之间的关系
是边界条件的约束

数值实验

使用了250个的数据,使用500阶的R-K,计算t=0.9时的结果

实验结果

Alt text
使用4层50结点的神经网络,相对误差
层数与结点对实验的影响:

Alt text
q与对结果的影响:

Alt text
只要少量的t=0.1 上的点,就可以很好地n Physics Models: Deep Learning of Nonlinear Partial Differential Equations预测出t=0.9 时的结果。
在Allen-Cahn 方程上有同样的效果。

PartII

用类似上面的方法对参数进行估计。

burger equation:


做为可训练的参数一起进行训练。
损失函数:

Alt text
训练数据:
分布在所有时间和空间上的,计算f的点也是相同的点

数值实验

用了2000个点和9层20结点的神经网络

Alt text
鲁棒性:在噪声环境下也有很好的效果。(猜测:因为是直接对方程的特征进行学习,所有数据干扰影响较小)

Alt text
可能是因为的数值比较小,所以相对误差比较大
不需要特殊的调参就有比价好的结果

二维Navier_Stokes方程上的结果

denotes the x-component of the velocity field, the y-component, and the pressure.
其中p,u,v都未知,
N-S方程的解满足n Physics Models: Deep Learning of Nonlinear Partial Differential Equationsn Physics Models: Deep Learning of Nonlinear Partial Differential Equations
:
只需求出即可
神经网络:
输入:{x,y,t},输出:
做为可训练的Varible一起训练
训练数据:有噪声的
损失函数:

Alt text
9层20节点的神经网络,5000个数据

Alt text

Alt text
不需要任何关于p的数据就成功地算出p的值

缺点:

需要全部空间时间的数据才能训练出好的效果

Discrete Time Model

时刻上的数据算出的值

神经网络:
输入x,输出:
再从得出

burgers’ equation

Alt text
损失是在上u的均方误差
其中,
做为可训练的Varible一起训练

实验结果

Alt text

Alt text
只用了两个时间点的少量数据,算出了的值,具有一定的鲁棒性

Deep Hidden Physics Models: Deep Learning of Nonlinear Partial Differential Equations

用两个神经网络分别对u和N进行拟合

损失函数:
训练数据
缺点:训练出来的N不具有可解释性。只是一个神经网络,输入x,t输出N的值

burgers’ equation

用5层50节点训练u的神经网络
用2层100节点训练N的神经网络
使用t=0到t=6.7时间内10000个数据作为训练数据,t=6.7到t=10的数据做为测试

Alt text

Alt text