1. 基本概念
1.1 PDE
考虑一个参数化的PDE系统:
其中:
- 是空间坐标;
- 是时间;
- 表示包含微分运算符的偏微分方程余数,即;
- 是PDE的参数;
- 是具有初值条件和边界条件的偏微分方程解;
- 和分别表示空间域和边界.
1.2 PINN
PINN是一个由多个隐含层组成的全连接前馈神经网络,以空间和时间坐标作为输入,逼近偏微分方程的解,如图1中的蓝色面板所示。设第个隐含层的隐变量用表示,则神经网络可表示为:
其中:
- 最后一层的输出用于近似真实解,即;
- 和表示第层的权重矩阵和偏置向量;
- 是非线性激活函数;
- 用表示所有可训练的模型参数,即权值和偏差。
在PINN中,求解偏微分方程系统(公式1)转换为优化问题,迭代地更新参数,目标是最小化损失函数:
其中:
- 是不同损失项的加权系数;
- 第一个损失项惩罚控制方程的残差;
- 施加的其他项分别满足对测量、初始条件和边界条件的模型预测。
一般采用均方误差(MSE)作为采样点的范数来计算方程(3)中的损失。采样点被定义为数据集,其中不同损失项的点数(用N表示)可以不同。通常,我们使用基于梯度的一阶优化的自适应算法ADAM优化器来优化模型参数。
构建方程(3)中的PDE损失的关键步骤是偏导数的计算,它通过使用自动微分(AD)来寻址。依赖于使用链式规则对一系列操作的导数的组合,AD直接在计算图中计算输出相对于网络输入的导数。偏导数的计算可以用显式表示,从而避免了在传统的数值逼近中引入截断误差。
PINN的示意图如图1所示,其中关键元素(例如,神经网络、AD、损失函数)用不同的颜色表示。
以时间和空间坐标为输入的全连接神经网络用于逼近多物理解。使用自动微分(AD)计算相对于输入的导数,然后使用该导数来表示损失函数中的控制方程的残差,该损失函数通常由不同系数加权的多项损失组成。通过最小化损失函数,可以同时学习神经网络的参数和未知偏微分方程参数。
2. 样例
以Burgers方程为例:
其损失函数包括从初始条件和边界条件测量的数据的监督损失,以及无监督的PDE损失:
其中,
这里,和是分别在初始/边界位置和整个域中采样的两组点,并且是在处的值;和是用于平衡两个损耗项之间的相互作用的权重,这些权重可以由用户定义或自动调整。
通过诸如ADAM的基于梯度的优化器使损耗最小来训练网络,直到损耗小于阈值。