Physics-informed neural networks文献解读

基于物理信息的神经网络

1 研究背景

机器学习的最新研究在众多科学学科中有了革命性的成果,但是在复杂物理、生物或工程领域中常常因为训练数据采集难度高而受到限制。

2 研究目的

在较小训练集的情况下能达到较高的预测精度。

3 研究内容

3.1 实验原理

本文用物理定律来对解空间进行约束,将物理规则作为一个正则器来正则化训练集,用结构化的数据来训练模型,使模型可以从同样规模的数据中学到更多的内容。

大多数物理定律由偏微分方程的形式表述,而高阶偏微分方程难以求解析解,本文采用神经网络逼近的方法逼近解析解以获得近似解。

模型利用神经网络求解PDE的过程就是模型学习相应物理规律的过程。

3.2 具体实施

非线性PDE的一般形式:

其中u(t,x)为方程隐含解,N[u;λ]为非线性微分算子(函数),λ为待定参数。

本文一共考虑了两个问题:

  1. 给定参数λ,求u(t,x)    (forward problem)
  2. 参数未知,求u(t,x)并确定最能描述观测数据的参数λ    (inverse problem)

并且本文根据每个问题数据布局的不同又分别建立了两种不同的模型:连续事件模型、离散时间模型。

3.2.1 参数已知,求数据驱动解

当参数确定时,微分方程的一般形式可以改写成:

3.2.1.1 连续时间模型

定义我们需要的PINN:f(t,x)为:

通过神经网络逼近u(t,x)。得出近似解后,应用自动微分并根据链式法则来微分函数的各个部分就得到了f(t,x)。同时f和u两个网络具有相同一些参数,但是因为微分算子的活动不同而具有不同的激活函数。其中他们的共享参数可以通过MSE(最小化均方误差)来学习。

损失函数:

其中:

总体损失函数由初始和边界损失、f的配置点(边界之内的点)损失构成。

第一项指初始值和边界值经过神经网络拟合得到的解与真实解的均方误差。可以理解为神经网络对解的逼近程度。

第二项指内部的点通过神经网络拟合得到解与物理定律约束(此处f的真值应该等于0)的均方误差。可以理解为物理定律对模型的约束程度。

由于训练集较小,我们使用L-BFGS, a quasi-Newton, full-batch gradient-based 优化算法来优化损失函数。

3.2.1.2 Example(一维薛定谔方程)

非线性薛定谔方程与周期中边界条件:

h(t,x)为我们待求的解,假定PINN模型如下:

构造神经网络逼近h,由于薛定谔方程含虚数,所以构造的神经网络应该有两个输出,分别对应实部和虚部。

本文部署的是一个五层,隐含层每层100个神经元,激活函数是双曲正切函数的神经网络。

优化损失函数

MSE0:初始条件均方误差

MSEb:边界条件均方误差

MSEf:配置点均方误差(使用拉丁超立方体采样策略生成)

潜在限制:需要引入大量配置点对整个时空域实施物理约束,随着空间维数的增加,所需配置点的数量成指数增长。

3.2.1.3 离散时间模型

离散时间与连续时间的区别仅在于数据采样的数据间隔(物理定律方程本身是连续的),本文中使用高阶龙格库塔方法。将龙格库塔方法应用于偏微分方程的一般形式中可得:

其中包括了隐式和显示龙格库塔,具体仅取决于{a,b,c}参数的选择。

上式等效于:

再经过简单的移项可得:

基于上上上式构造一个以x为输入, 为输出的神经网络,再将这些输出作为上式龙格库塔方法的输入,计算出作为输出。

3.2.1.4 Example(Allen-Cahn equation)

方程及周期边界条件如下:

根据偏微分方程一般形式表示出偏微分算子:

用最小化误差平方和(SSE)来学习神经网络的共享参数,优化方法为stochastic gradient descend(随机梯度下降),损失函数具体形式为:

其中:

第一项表示在时间步tn处的误差平方,第二项表示边界条件处的误差平方。

本文使用的神经网络为具有4层隐含层,每层200个神经元的神经网络。龙格库塔使用的是q=100的高阶隐式龙格库塔方法,用来维持步长为0.8时的数值分析稳定性。

值得一提的是,当我们的步长较大时为了满足数值分析的稳定性,我们需要使用高阶龙格库塔方法,而阶数较低时需要步长必须较小。隐式龙格库塔计算量较显式更大,但是相同阶数隐式的稳定性更好。

3.2.2 参数未知,求数据驱动解和参数估计

与参数已知的方程解法基本一致,只需将参数λ加入我们待学习的共享参数集中,用之前介绍的损失函数优化方法学习就可以得到。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值