「PINNs」初识物理信息神经网络
文章头图来自: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到底是怎么基于神经网络来进行实现的。
这个图片由三部分组成:
- 神经网络:$\mathbf{NN}\left( w, b \right) $;
- 偏微分方程:$\mathbf{PDE}:\mathcal{L} \left( \boldsymbol{u}\left( x,\,\,t \right) , \theta \right) =g$;
- 损失函数:$\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}$。
下面将分别介绍这三个组成部分。注意:对于下面的内容,您需要有深度学习方面的基础。
神经网络
图片的左上部分,你可以看到输入项 $ 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的工作流程可以总结为:
- 输入与神经网络预测:输入空间和时间的坐标 $ x $ 和 $ t $,神经网络会预测出对应时刻和空间位置的物理量 $ u_{\text{NN}} $。
- 自动微分计算导数:通过自动微分,计算 $ u_{\text{NN}} $ 对时间和空间的导数。这些导数是用于后续代入物理方程的关键。
- 计算残差:将计算出的导数代入偏微分方程,得到物理方程残差 $ R $,并将其作为物理损失的一部分。
- 优化损失函数:总损失由两部分组成:监督学习的均方误差(用于拟合初始条件、边界条件等已知点的数据)和物理方程的残差损失。通过不断迭代优化,使得网络解既能拟合数据,又符合物理方程。
🏗️ 网络架构设计注意点
网络层:
- 得益于物理信息的融合,简单的全连接神经网络PINNs即可表现出较高的精度,反而越复杂的网络结构有可能导致难以收敛;
- 目前,如何确定全连接网络中最优的隐藏层数目以及每个隐藏层的神经元数目,尚无数学分析的方法,主要依赖手动调参。
激活函数:
- 由于 PINNs 需要计算高阶导数,因此选择高阶导数存在且连续的激活函数很重要。Tanh 激活函数具有良好的数学特性,比如它的高阶导数是连续的。因此,原始的 PINNs 方法以及大多数研究者倾向于选择 Tanh 作为激活函数,以确保在计算高阶导数时模型的稳定性和精度。
- 除此之外,也有相关研究表明 Sine 激活函数与自适应激活函数也可以显著地加快训练速度并提高精度。
损失函数自适应加权:
- GradNorm;
- 联合似然公式;
- 学习率退火算法。
模型权重初始化:
- 随机初始化;
- 如果目标任务与源任务相似度较高,也可以采用迁移学习的思路——将源任务中训练得到的模型权重作为目标任务的初始权重;
- 元学习方法——通过多次相关任务的学习来改进学习算法本身,从而加快处理新任务的速度。
📝 基本概念
偏微分方程
偏微分方程(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$ 前后点的变化都进行了平均,中心差分法在这个例子中与真实导数完全相符。
Data-driven solution/discovery of PDE
这两个概念分别对应于使用数据来解决偏微分方程(PDE)以及从数据中自动推导出描述物理系统的偏微分方程。
简单来说可以这样理解:
- 基于数据的偏微分方程求解(Data-driven solution of PDE):利用数据训练出一个“函数逼近器”,可以输入变量值,得到已知偏微分方程的解。
- 基于数据的偏微分方程发现(Data-driven discovery of PDE):根据数据推导出这个“函数逼近器”本身,也就是找到能够描述数据规律的偏微分方程。
参数化和非线性偏微分方程的通用形式可以表示为:
$$ u_t + \mathcal{N}[u; \lambda] = 0 $$
其中:
- $ u_t $ 表示未知函数 $ u $ 对时间 $ t $ 的偏导数,即随时间变化的速率。
- $ \mathcal{N}[u; \lambda] $ 是一个非线性算子,作用在未知函数 $ u $ 上,可能包括 $ u $ 关于空间或其他变量的偏导数。
- $ \lambda $ 表示一组参数,控制着方程的特性或行为。参数可以是系统中的物理常数(如扩散系数、波速)或者环境条件。
这种形式的偏微分方程通常用于描述随时间演化的物理过程,比如热传导、波动或流体流动等。这里的非线性算子 $ \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} $$
其中:
- $ u = u(x, t) $ 表示一个随空间 $ x $ 和时间 $ t $ 变化的未知函数。
- $ \nu $ 是粘性系数(或扩散系数),表示粘性或扩散效应的强度。
- $ u \frac{\partial u}{\partial x} $ 是一个非线性项,描述对流(convective)现象。
- $ \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方程既有非线性行为(如冲击波)又有扩散行为(如平滑效应),因此在物理和工程中有广泛应用。
🏙️ PINNs在城市水系统中的应用
不同知识整合的层级:
- 当现有知识较为全面时,可以通过数据驱动模型学习已有的数学方程描述的规律,从而成为完整机械模型的高效替代。
- 当现有知识不完整时,可以将这些知识部分嵌入机械模型,并与数据驱动模型结合,形成混合模型(hybrid model)。
- 如果知识无法用数学方程完整描述,也可以用于指导数据驱动模型的结构设计,减少需要训练的参数数量,从而提高模型性能。
PINN的基本架构
- 核心原理:PINN将物理定律(如偏微分方程或常微分方程)直接嵌入到神经网络中。
- 输入/输出:网络接收输入(如时间 $t$、空间位置 $x$)并生成输出(如速度 $u, v$)。
- 物理约束:通过自动微分计算输出相对于输入的导数,并将其与物理定律(如连续性方程、动量方程)进行对比。
损失函数:总损失由三部分组成:
- 物理损失(Physical Loss):约束模型输出符合物理方程。
- 边界条件损失(BC Loss):确保边界条件满足。
- 初始条件损失(IC Loss):约束初始条件。
- 训练方法:通过反向传播优化损失函数,从而得到物理一致的网络参数。
混合建模结构
串行结构(Serial Structure):
- 机械模型用于处理已知部分。
- 数据驱动模型用于补充未知部分(黑箱)。
- 适用场景:系统的部分过程物理规律清晰。
并行结构(Parallel Structure):
- 机械模型和数据驱动模型并行运行,数据驱动模型负责补偿机械模型与实际观测之间的偏差。
- 适用场景:机械模型存在明显预测误差,但仍能提供部分有价值的参考。
知识驱动的甲烷排放建模
- 背景:甲烷是污水管道的重要温室气体,其排放受水面角度、管道坡度和流量等影响。
建模思路:
- 利用物理几何知识(如曼宁公式)引导模型结构。
- 数据驱动部分负责拟合参数 $k_r, k_\theta, \alpha, \beta, \gamma$,优化甲烷排放预测。
知识驱动的土壤温度预测
- 背景:埋地污水管道的热传导影响土壤温度,涉及复杂的物理过程。
建模思路:
- 物理组件:采用一维热传导方程的解析解作为基础。
- 数据驱动组件:利用与曲率相关的变量 $\frac{\delta}{\delta + R}$ 描述复杂影响。
- 模型优势:减少了参数数量,提高了训练效率和模型解释性。
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. |
🗂️ 参考资料
视频
- Steve Brunton, Physics Informed Neural Networks (PINNs) Physics Informed Machine Learning(YouTube).
文献
- PINNs开山之作:RAISSI M, PERDIKARIS P, KARNIADAKIS G E 2019. Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics [J], 378: 686-707.
- 查文舒, 李道伦, 沈路航, 等. 基于神经网络的偏微分方程求解方法研究综述[J]. 力学学报, 2022, 54(03): 543-556.
- 李野, 陈松灿. 基于物理信息的神经网络:最新进展与展望[J]. 计算机科学, 2022, 49(04): 254-262.
- 黄翔. 基于物理信息嵌入神经网络的偏微分方程求解方法研究[D]. 中国科学技术大学, 2023.
- DUAN H, LI J, YUAN Z 2024. Making waves: Knowledge and data fusion in urban water modelling. Water Research X [J], 24: 100234.
- ASHRAF I, STROTHERM J, HERMES L, et al. 2024. Physics-Informed Graph Neural Networks for Water Distribution Systems. Proceedings of the AAAI Conference on Artificial Intelligence [J], 38: 21905-21913.
代码
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »