论文阅读-physics-informed-deep-learning
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
将神经网络作为对方程的近似
方程:
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
损失函数为
表示u的初始和边界条件上的训练数据
表示f对应的点(这些数据是不需要测量获取的)
表示对边界条件的约束,表示方程的约束
优化器选择:L-BFGS(full batch)
该方法无法进行收敛性分析,经验上如果问题是well-posed 并且 解唯一 ,可以有较好的效果
实验结果:
只要少量的边界点初始点就可以学习到方程的信息
足够时越多,效果越好
训练时间:单GPU训练只要60秒
模型用的是9层20个结点的网络
薛定谔方程
u表示h的实数部分,v表示h的虚数部分
输入为x,t,输出为
表示边界值,表示初值,表示方程
只需要t=0处的数据。
局限
当维数增加时,不止是一维或二维,需要的的数量指数级增长
Discrete Time Models
用q阶Runge-Kutta方法:
神经网络:
输入x,输出:
再从得出
截断误差:
burgers’ equation
是时的数据,学习到方程的特征和之间的关系
是边界条件的约束
是
数值实验
使用了250个上的数据,使用500阶的R-K,计算t=0.9时的结果
实验结果
使用4层50结点的神经网络,相对误差
层数与结点对实验的影响:
q与对结果的影响:
只要少量的t=0.1 上的点,就可以很好地n Physics Models: Deep Learning of Nonlinear Partial Differential Equations预测出t=0.9 时的结果。
在Allen-Cahn 方程上有同样的效果。
PartII
用类似上面的方法对参数进行估计。
burger equation:
把做为可训练的参数一起进行训练。
损失函数:
训练数据:
分布在所有时间和空间上的,计算f的点也是相同的点
数值实验
用了2000个点和9层20结点的神经网络
鲁棒性:在噪声环境下也有很好的效果。(猜测:因为是直接对方程的特征进行学习,所有数据干扰影响较小)
可能是因为的数值比较小,所以相对误差比较大
不需要特殊的调参就有比价好的结果
二维Navier_Stokes方程上的结果
其中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一起训练
训练数据:有噪声的
损失函数:
9层20节点的神经网络,5000个数据
不需要任何关于p的数据就成功地算出p的值
缺点:
需要全部空间时间的数据才能训练出好的效果
Discrete Time Model
用时刻上的数据算出的值
输入x,输出:
再从得出和
burgers’ equation
损失是在上u的均方误差
其中,
做为可训练的Varible一起训练
实验结果
只用了两个时间点的少量数据,算出了的值,具有一定的鲁棒性
Deep Hidden Physics Models: Deep Learning of Nonlinear Partial Differential Equations
用两个神经网络分别对u和N进行拟合
缺点:训练出来的N不具有可解释性。只是一个神经网络,输入x,t输出N的值
burgers’ equation
用2层100节点训练N的神经网络
使用t=0到t=6.7时间内10000个数据作为训练数据,t=6.7到t=10的数据做为测试