文章头图来自:CAI S, MAO Z, WANG Z, et al. 2021. Physics-informed neural networks (PINNs) for fluid mechanics: a review. Acta Mechanica Sinica [J], 37: 1727-1738.
1、什么是物理信息神经网络?
Expand / 拓展
物理信息神经网络 (Physics-Informed Neural Networks, PINNs) 是一种结合物理学知识和深度学习的强大工具,特别适用于求解偏微分方程(PDE)等复杂物理问题。PINNs 将神经网络的泛化能力与物理定律结合,通过编码物理方程中的约束条件来指导神经网络的学习。这种方法特别适用于那些难以通过传统数值方法求解的复杂问题,比如流体力学、热传导、结构力学等领域。
简单来说,可以理解为下图:
2、PINNs的优势(最明显的两点):
Expand / 拓展
总而言之,言而总之,PINNs有以下优点:
- 少量数据需求:由于物理方程本身已经提供了大量的约束信息,PINNs 通常需要的训练数据较少,在小样本情况下仍能表现出较好的效果。
- 可解释性:因为 PINNs 是基于物理方程的,解的可解释性比纯数据驱动的神经网络模型更强。
目前主要有两种方式将物理信息嵌入到神经网络中。一种是将偏微分方程(Partial Differential Equations,PDE)的先验知识作为损失函数隐式地嵌入到神经网络中,称为软约束方式。另一种是将PDE的先验知识显式地嵌入到神经网络架构中,称为硬约束方式。
方式 | 思路 | 特点 | 典型代表 | 缺点 |
---|---|---|---|---|
软约束 | 将神经网络视为方程解的逼近器 | 不依赖于标签数据、要求 PDE 具体形式和方程系数是完全已知的、通常用来求解单个方程实例 | PINNs | 难以平衡不同的损失函数项,目前主要采用网格搜索方法来确定每个损失函数项对应的权重系数,但对于损失函数项较多的PDE 需要繁琐的调参工作,效率很低。 |
硬约束 | 将物理方程的信息显式地嵌入到神经网络架构中 | 利用少量得标签数据即可训练好神经网络 | - | 需要针对特定问题进行神经网络整体架构的设计,移植性、通用性较差 |
下面,以软约束方式为例,来对PINNs有个初步的认识。
下图来自文章:KUMAR V, GLEYZER L, KAHANA A, et al. MyCrunchGPT: A chatGPT assisted framework for scientific machine learning[C]//,202310.48550/arXiv.2306.15551.,在我学习PINNs网络的初期,这个图片让我比较清晰地理解了PINNs到底是怎么基于神经网络来进行实现的。
这个图片由三部分组成:
下面将分别介绍这三个组成部分。注意:对于下面的内容,您需要有深度学习方面的基础。
图片的左上部分,你可以看到输入项 $ x $ 和 $ t $(代表空间和时间的坐标)被输入到神经网络 $\mathbf{NN}$ 中,经过多层神经元和激活函数的处理,网络输出的是 $ u_{\text{NN}} $,也就是神经网络对未知函数 $ u $ 的预测解。这个过程可以理解为神经网络尝试拟合未知物理量,比如某个区域的温度、压力、速度等随时间和空间变化的分布。
图片右上部分展示了如何使用自动微分(Automatic Differentiation)来获取神经网络输出 $ u_{\text{NN}} $ 相对于输入 $ x $ 和 $ t $ 的偏导数(例如 $ \frac{\partial u}{\partial t} $ 和 $ \frac{\partial^2 u}{\partial x^2} $)。自动微分是一种通过神经网络计算导数的高效方法,可以直接在网络中对输出变量进行求导,而不需要通过数值差分的方式。
有了这些导数之后,我们可以将它们代入偏微分方程(PDE)中,检查网络解 $ u_{\text{NN}} $ 是否符合物理定律。偏微分方程通常表示为 $\mathcal{L} \left( \boldsymbol{u}\left( x,\,\,t \right) , \theta \right) =g$,其中 $ \mathcal{L} $ 是作用在 $ u $ 上的物理算子,$ g $ 是已知的源项或外部驱动力。通过代入导数,我们计算出方程的残差 (Residual $ R $),即:
$$ R = \mathcal{L}(\boldsymbol{u}, \theta) - g $$
这个残差反映了网络输出解和实际物理方程解之间的差异。
神经网络的损失不仅仅依赖于标准的监督学习误差 ${\color[RGB]{0, 128, 255} \mathrm{MSE}_{\left\{ \mathrm{u}, \mathrm{BC}, \mathrm{IC} \right\}}}$。通常情况下,监督学习的损失计算的是神经网络预测值与已知数据之间的均方误差(MSE)。在 PINNs 中,神经网络会根据初始条件(IC)和边界条件(BC)对 $ u_{\text{NN}} $ 进行监督训练。也就是说,网络需要保证在空间和时间边界以及初始时刻,输出解是准确的。
除了标准的监督损失外,PINNs 还会将物理方程的残差 $ R $ ,也就是 ${\color[RGB]{0, 255, 64} \mathrm{MSE}_R}$ 纳入到损失函数中。通过最小化这个残差,网络被强制去学习一个解,不仅能拟合给定的数据,还能在整个定义域内尽量满足物理方程的约束。因此,PINNs 的总损失可以写作:
$$ \mathbf{LOSS}_{MSE}={\color[RGB]{0, 128, 255} \mathrm{MSE}_{\left\{ \mathrm{u}, \mathrm{BC}, \mathrm{IC} \right\}}}+{\color[RGB]{0, 255, 64} \mathrm{MSE}_R} $$
这里的 ${\color[RGB]{0, 255, 64} \mathrm{MSE}_R}$ 是物理方程残差的均方误差,用来确保神经网络的解满足物理定律。神经网络最终优化的目标不仅是数据上的误差,还包括物理方程残差。
Warning / 注意
虽然标签数据可以作为训练神经网络时的额外损失函数项,但是PINNs方法的训练过程可以完全不依赖于标签数据。因此,PINNS方法也可以视作是一种无监督学习方法。
综上所述,PINNs的工作流程可以总结为:
网络层:
激活函数:
损失函数自适应加权:
模型权重初始化:
偏微分方程(Partial Differential Equation, PDE):描述未知函数及其偏导数之间关系的方程,其解析解难以显式地表达出来,通过数值求解方法(数值求解的核心是将连续的数学问题离散化,将一个复杂的方程分解成许多简单的、可以通过迭代和逼近解决的小问题。)得到PDE的近似解是求解方程的首选。
有限差分方法(Finite Difference Method,FDM)是一种传统的数值求解方法。它的基本思想是通过泰勒展开将控制方程的导数替换为离散网格节点处函数值的差商,然后通过求解差分方程近似求解原微分方程。
举个例子🌰,设函数 $ y(x) = x^2 $,我们想在 $ x = 1 $ 处求其导数,步长 $ h = 0.01 $。
真实导数为:
$$ \frac{dy}{dx} = 2x $$
在 $ x = 1 $ 处,真实导数为 $ 2 $。
使用前向差分法:
$$ \frac{dy}{dx} \approx \frac{y(x+h) - y(x)}{h} = \frac{y(1+0.01) - y(1)}{0.01} = \frac{(1.01)^2 - 1^2}{0.01} = \frac{1.0201 - 1}{0.01} = 2.01 $$
这个结果与真实导数 $ 2 $ 很接近。
使用中心差分法:
$$ \frac{dy}{dx} \approx \frac{y(x+h) - y(x-h)}{2h}= \frac{y(1+0.01) - y(1-0.01)}{2 \times 0.01} = \frac{(1.01)^2 - (0.99)^2}{0.02} = \frac{1.0201 - 0.9801}{0.02} = 2 $$
这种方法通常更精确,因为它对 $x$ 前后点的变化都进行了平均,中心差分法在这个例子中与真实导数完全相符。
这两个概念分别对应于使用数据来解决偏微分方程(PDE)以及从数据中自动推导出描述物理系统的偏微分方程。
简单来说可以这样理解:
参数化和非线性偏微分方程的通用形式可以表示为:
$$ u_t + \mathcal{N}[u; \lambda] = 0 $$
其中:
这种形式的偏微分方程通常用于描述随时间演化的物理过程,比如热传导、波动或流体流动等。这里的非线性算子 $ \mathcal{N}[u; \lambda] $ 可以有不同的具体形式,取决于具体应用,例如可能包含一阶或二阶导数,甚至更复杂的非线性项。Burgers方程是一类著名的非线性偏微分方程,常用于描述流体力学、交通流、湍流等物理现象。Burgers方程在一维空间中的标准形式为:
$$ \frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = \nu \frac{\partial^2 u}{\partial x^2} $$
其中:
Burgers方程可以看作参数化和非线性偏微分方程通用形式的一个特例:
对应到Burgers方程中,我们可以将上面表达式中的算子 $ \mathcal{N}[u; \lambda] $ 具体化为:
$$ \mathcal{N}[u; \lambda] = -u \frac{\partial u}{\partial x} + \nu \frac{\partial^2 u}{\partial x^2} $$
其中参数 $ \lambda $ 就是粘性系数 $ \nu $。这样,Burgers方程的形式可以表示为:
$$ u_t + \left(-u \frac{\partial u}{\partial x} + \nu \frac{\partial^2 u}{\partial x^2}\right) = 0 $$
这表明,Burgers方程是一种特定形式的带参数的非线性偏微分方程,其中的非线性项 $ u \frac{\partial u}{\partial x} $ 和扩散项 $ \nu \frac{\partial^2 u}{\partial x^2} $ 可以分别描述不同的物理效应。这种形式使得Burgers方程既有非线性行为(如冲击波)又有扩散行为(如平滑效应),因此在物理和工程中有广泛应用。
不同知识整合的层级:
PINN的基本架构
损失函数:总损失由三部分组成:
混合建模结构
串行结构(Serial Structure):
并行结构(Parallel Structure):
知识驱动的甲烷排放建模
建模思路:
知识驱动的土壤温度预测
建模思路:
Summary of the pros and cons of mechanistic models, data-driven models and knowledge informed data-driven models.
Modelling approaches | Mechanistic Models | Data-Driven Models | Knowledge-Informed Data-Driven models |
---|---|---|---|
Strength | 1. Based on established physical, chemical, and biological principles; 2. Widely accepted and applied in the water industry; 3. Excellent interpretability - well-suited for understanding system dynamics. | 1. Leverages abundant data from advanced sensor technologies; 2. Can capture system complexities and reduce computational costs; 3. Self-adaptive to changing environmental and operational conditions. | 1. Combines the strengths of mechanistic and data-driven models; 2. Reduces data requirements by incorporating mechanistic knowledge; 3. Enhances model interpretability and efficiency. |
Limitations | 1. Requires comprehensive mechanistic knowledge; 2. May be overly complex and/or computationally demanding for real-time applications; 3. Modelling practice can be highly complicated and cannot capture time-varying processes. | 1. Data-hungry, requiring comprehensive datasets for training; 2. Limited interpretability; 3. Difficulties in acquiring high-quality datasets | 1. Complexity in model integration; 2. Requires expertise in both mechanistic and data-driven modelling; 3. May still face challenges in real-time applications. |