跳到主要内容科学机器学习中的物理信息神经网络(PINN):现状与展望 | 极客日志PythonAI算法
科学机器学习中的物理信息神经网络(PINN):现状与展望
综述由AI生成物理信息神经网络(PINN)通过将偏微分方程嵌入神经网络结构,为科学计算提供了新范式。全面综述了 PINN 的架构设计、损失函数构建及优化策略,涵盖前馈、卷积及循环神经网络变体。文章深入探讨了软约束与硬边界条件的处理差异,分析了收敛性理论与误差来源,并总结了在流体、量子力学等领域的应用实例。结合 DeepXDE 等工具,揭示了 PINN 在处理高维、非线性问题上的优势与当前面临的理论挑战。
w79547121 浏览 科学机器学习中的物理信息神经网络(PINN):现状与展望
摘要
物理信息神经网络(Physics-Informed Neural Networks,PINNs)是一类将模型方程(如偏微分方程,PDE)直接嵌入神经网络结构中的网络。目前,PINNs 已被广泛用于求解偏微分方程、分数阶方程、积分 - 微分方程以及随机偏微分方程。这一新兴方法作为一种多任务学习框架出现,在该框架中,神经网络不仅需要拟合观测数据,还需最小化 PDE 残差。
本文对物理信息神经网络相关文献进行了全面综述:研究的主要目标是阐明这类网络的特征、优势与局限性。同时,本文还涵盖了更广义的基于配点法(collocation-based)的物理约束神经网络研究,包括从最初的基础 PINN(vanilla PINN)演化出的多种变体,如物理约束神经网络(PCNN)、变分型 hp-VPINN 和守恒型 PINN(CPINN)等。
研究表明,现有工作主要集中在通过不同的激活函数、梯度优化算法、神经网络结构和损失函数设计来改进 PINN 模型。尽管 PINN 已在许多应用场景中展现出相较于传统数值方法(如有限元法 FEM)更高的可行性与灵活性,但仍存在大量理论问题尚未得到解决。因此,未来仍有相当大的发展与完善空间。
1. 引言
深度神经网络(Deep Neural Networks, DNN)已在计算机视觉、自然语言处理和博弈论等任务中取得了巨大成功。深度学习彻底改变了分类、模式识别与回归任务在各类应用领域中的实现方式。近年来,深度神经网络正逐渐被用于解决经典的应用数学问题,例如利用机器学习与人工智能方法求解偏微分方程(Partial Differential Equations, PDEs)。
由于存在显著的非线性特征、对流占优行为或激波现象,某些偏微分方程使用传统数值方法求解极其困难。而深度学习因神经网络具有的通用逼近性与高表达能力,正迅速成为科学计算的新范式。近期研究表明,深度学习可作为一种构建元模型的有前景方法,用于对动态系统进行快速预测。特别是,神经网络已被证明能有效表征复杂系统中的非线性输入–输出关系。
然而,处理这类高维复杂系统仍不可避免地受到维度灾难的影响。尽管如此,基于机器学习的算法仍被认为在求解偏微分方程方面具有巨大潜力。早期的研究工作已尝试使用简单的神经网络模型求解微分方程。而现代方法则利用神经网络优化框架与自动微分技术。
目前,在将物理先验知识与深度学习结合的研究领域中,尚无统一的术语。常见的表述包括'物理约束'、'物理驱动'、'物理引导'或'理论引导'等。受此启发,本文将重点探讨 2017 年提出的物理信息神经网络(PINNs)框架,并说明其神经网络特征、物理信息的输入方式以及其在文献中所解决的典型物理问题。
1.1 什么是 PINNs
物理信息神经网络是一种用于求解涉及偏微分方程问题的科学机器学习方法。PINN 通过训练神经网络来最小化损失函数以逼近 PDE 的解;损失函数中包含反映初始条件、边界条件的项,以及定义域中选取点(称为配点)上的 PDE 残差项。
PINN 是一种深度学习网络:对于积分域内任意输入点,经过训练的神经网络即可输出该点处微分方程解的估计值。PINN 的主要创新在于其引入了一个残差网络,直接编码支配方程的物理规律。PINN 的训练思想可被视为一种无监督学习策略,因为它不依赖于标签数据,而是通过最小化方程残差自动学习解。
PINN 算法本质上是一种无网格方法,它通过将'直接求解方程'转化为'最小化损失函数'来获得 PDE 解。该方法通过将数学模型嵌入网络结构中,并在损失函数中引入方程残差作为惩罚项,从而约束可接受解的空间。PINN 不仅依赖数据拟合状态变量,更重要的是结合了控制方程,即在学习过程中主动利用物理规律信息。
PINN 于 2017 年首次提出,作为一种新型数据驱动的 PDE 求解器。Raissi 等在文中展示了 PINN 求解非线性 PDE 的应用。他们提出的 PINN 框架可同时处理正向问题——求解给定方程的解,以及反问题——根据观测数据反演模型参数。
事实上,将先验知识融入机器学习算法的思想并非首次出现。早在 1994 年,已有研究者尝试利用简单神经网络逼近 PDE 的解,这可视为最早的 PINN 雏形之一。随着 2000 年代计算能力提升,具有更多参数与更深层结构的模型成为主流。到 2010 年代末,得益于硬件性能、训练策略以及开源工具的发展,神经网络求解 PDE 的研究迅速兴起。这些工具中提供的自动微分技术,极大地简化了 PINN 的实现。
PINN 的成功可从引用趋势中看出。然而,PINN 并非唯一的基于神经网络的 PDE 求解框架。近年来还提出了多种方法,例如 Deep Ritz 方法、Deep Galerkin 方法、hp-VPINN 等。
PINN 在训练过程中通过损失函数同时引入 PDE 与初始/边界条件(称为'软边界条件');而 PCNN 则是'无数据'网络,通过自定义网络结构强制满足边界条件('硬边界条件'),并在损失中嵌入 PDE。
PINN 相较传统方法具有显著优势:
- 无网格特性,可在训练后按需生成解;
- 解析可微性,通过自动微分计算梯度;
- 统一框架,可同时处理正向与反向问题。
PINN 不仅可用于求解方程,还可通过观测数据识别模型参数,甚至实现逆向设计。凭借此特性,PINN 能处理具有复杂几何形状或高维度的 PDE 问题,以及各种反演与约束优化问题。
1.2 本综述的内容
在本综述中,我们重点讨论 PINNs 在解决不同科学计算问题中的应用、PINN 的组成模块、与学习理论相关的方面、已有的工具集、未来发展方向与最新趋势,以及精度与收敛性问题。根据不同问题的特点,我们展示了文献中如何通过配置网络深度、层大小、激活函数以及使用迁移学习来定制 PINN 求解器。
本文可视为对 PINNs 的全面文献综述,主要通过在 Scopus 数据库中检索关键词完成。本综述的核心研究问题是明确 PINNs 的概念及其相关的优势与局限性。此外,本综述还考虑了范围更广的研究工作,不仅限于 PINNs,还包括物理引导神经网络、物理信息机器学习以及深度学习相关研究。
2. PINN 的组成模块
物理信息神经网络能够处理数据稀少或实验观测噪声较大的问题。由于它们可以利用已知数据,同时遵循由一般非线性偏微方程指定的物理规律,因此 PINNs 也可以被视为处理监督学习的神经网络。
$$
\begin{cases}
F(u(z); \gamma) = f(z), & z \in \Omega \
B(u(z)) = g(z), & z \in \partial \Omega
\end{cases}
$$
其中,定义域为 $\Omega \subset \mathbb{R}^d$,边界为 $\partial \Omega$。$z := [x_1, \dots, x_{d-1}; t]$ 表示时空坐标向量,$u$ 为未知解,$\gamma$ 为与物理相关的参数,$f$ 为问题数据函数,$F$ 为非线性微分算子。初始条件可视作时空域上的 Dirichlet 边界条件,因此 $B$ 可表示任意初始或边界条件算子,$g$ 为边界函数。
在 PINN 方法中,$u(z)$ 由一个参数为 $\theta$ 的神经网络预测,得到近似解:
$$
\hat{u}_\theta(z) \approx u(z)
$$
$$
\theta^* = \arg\min_\theta \big( \omega_F L_F(\theta) + \omega_B L_B(\theta) + \omega_d L_{\text{data}}(\theta) \big)
$$
其中 $L_F$ 为 PDE 残差损失,$L_B$ 为边界条件损失,$L_{\text{data}}$ 为已知数据损失,$\omega_F, \omega_B, \omega_d$ 为对应权重。
- 对于仅利用物理方程和边界条件训练的正向问题,PINN 可视作无监督学习;
- 对于反问题或部分物理属性来源于噪声数据时,PINN 可视作监督学习。
接下来我们将讨论用于逼近 $u(z)$ 的神经网络类型,$F$ 提供的物理信息如何被纳入模型,以及神经网络如何从方程和额外数据中学习。
PINN 由三部分组成:神经网络、物理信息网络、反馈机制。
- 神经网络(NN):$\hat{u}_\theta$ 接受方程中的向量变量 $z$ 并输出场值 $u$。
- 物理信息网络(functional component):计算导数以确定 PDE 残差和初边界条件损失项。通常前两部分通过算法微分相连,将物理方程嵌入训练阶段的神经网络。
- 反馈机制(feedback mechanism):根据学习率最小化损失函数,更新神经网络参数向量 $\theta$。
2.1 神经网络架构
神经网络的表示能力已被充分验证。根据通用逼近定理,任意连续函数都可以由一个具有单隐藏层和有限神经元的多层感知机任意精确逼近。虽然神经网络能够紧凑地表示复杂函数,但确定用于求解特定 PDE 的精确权重与偏置参数仍然困难。此外,选择合适的人工神经网络架构也是一大挑战。
常见架构包括全连接前馈网络、卷积神经网络、循环神经网络以及其他架构如自编码器、生成对抗网络等。PINN 的扩展研究也基于这些网络,例如利用贝叶斯神经网络评估 PINN 解的不确定性,或者在训练 CNN/RNN 时使用有限差分构造 PDE 残差。
2.1.1 前馈神经网络
前馈神经网络是按层组织的神经元集合,按顺序进行计算。全连接网络中,相邻层的神经元相互连接,而同层内的神经元不连接。每个神经元对加权输入与偏置求和后,施加激活函数。
尽管理想的深度神经网络架构仍在研究中,PINN 的实现论文尝试通过经验方法优化架构特性,例如层数和每层神经元数量。较小的 DNN 可能无法有效逼近未知函数,而过大的 DNN 在小数据集下训练可能较困难。
其他研究也关注层数、神经元数量与激活函数如何影响 NN 对所求问题的逼近质量。
多重 FFNN
尽管许多文献使用单个全连接网络,越来越多研究尝试多重全连接网络组合来逼近复杂数学模型的特定方程。例如,建议为每个子域使用一个神经网络,而不是整个域使用单个 NN。
浅层网络
为克服一些问题,研究者也探索浅层网络:可以是稀疏网络,而非全连接;或者单隐藏层网络,如 ELM。与浅层网络相比,增加隐藏层有助于建模复杂非线性关系。然而,实际问题中使用 PINN 可能导致深层网络层数过多,训练成本高且效率低。因此,文献中不仅有深度网络,也有浅层 ANN 的应用。
激活函数
激活函数对 DNN 的训练性能影响显著。常用激活函数包括 ReLU、Sigmoid、Tanh。最近研究推荐使用可调激活函数,例如 Swish。大多数作者倾向使用无限可导的双曲正切激活函数。
在 PINN 框架中,由于需要计算二阶导数,选择激活函数需谨慎。例如,将 PDE 无量纲化时,最好选择输入范围在 [0,1],而非更大区间,因为大多数激活函数在 0 附近非线性。此外,通过使用平滑激活函数,可保证 PINN 的正则性,使得 PINN 泛化误差估计成立。
2.1.2 卷积神经网络
卷积神经网络旨在处理由多个数组组成的数据,例如由三个二维数组构成的彩色图像。CNN 通常由若干个卷积层和池化层组成。
值得注意的是,卷积操作具有平移不变性,而池化对小的平移变化不敏感。这种性质应用于输入图像的特征,即使输入稍有平移,这些特征仍能在卷积层的输出中得到体现。
关于该主题的更多内容,可参考相关文献。由于 CNN 最初是为图像识别而设计的,因此它更适合处理图像类数据,但不一定直接适用于科学计算问题,因为科学问题中的几何形状通常是不规则的,网格也非均匀。
为了解决这一问题,有研究提出了基于物理约束的几何自适应卷积神经网络。PhyGeoNet 通过坐标变换,将不规则物理域中的解场映射到矩形参考域中,从而能够严格施加边界条件,使网络成为一个物理约束神经网络。
2.1.3 循环神经网络
循环神经网络是另一类人工神经网络,与前馈神经网络不同,RNN 的同一隐藏层中的神经元相互连接形成有向环路。RNN 能够接受序列数据作为输入,因此非常适合时间依赖型任务。
RNN 逐步处理输入数据,使用前一时刻的隐藏状态输出作为下一时刻的额外输入。RNN 的隐藏单元可保持一个状态向量,记录序列中先前事件的信息。
RNN 已被扩展出多种记忆单元形式,如长短期记忆网络(LSTM)和门控循环单元(GRU)。LSTM 的设计目标是让 RNN 能够处理需要长期记忆的任务。GRU 是另一种用于长期记忆的 RNN 结构,与 LSTM 类似,但参数更少,因此训练更高效。
2.1.4 其他用于 PINN 的架构
除了全连接前馈神经网络、卷积神经网络和循环神经网络之外,本节讨论其他被研究的架构。在众多提出的网络中,目前应用于 PINN 的主要有贝叶斯神经网络和生成对抗网络。
贝叶斯神经网络
在贝叶斯框架下,Yang 等提出了贝叶斯物理约束神经网络,其包含一个受 PDE 约束的贝叶斯神经网络,作为先验分布的一部分。BNN 的权重为概率分布而非确定值,这些分布通过贝叶斯推理学习得到。
GAN 架构
在生成对抗网络中,两个神经网络通过零和博弈互相竞争。一个网络负责生成数据,另一个网络进行判别。Yang 等提出一种新的生成对抗网络类,用于统一处理前向、逆向及混合随机问题。与典型 GAN 仅依赖数据训练不同,PI–GAN 通过自动微分将物理规律以随机微分方程形式嵌入 PINN 架构中。
多重 PINN
另一种方法是组合多个 PINN,每个 PINN 可采用不同的神经网络。例如,提出在离散域上使用保守 PINN,通过子域内解的拼接重建完整解,并使用接口条件。该方法便于网络并行化,提高计算效率。
2.2 物理规律注入
要使用 PINN 求解 PDE,需要计算网络输出对输入的导数。由于 $u$ 被平滑激活函数的 NN 逼近,它可以被微分。计算导数的方法有四种:手工编码、符号法、数值法和自动微分(AD)。
自动微分克服了数值微分的浮点误差和符号法的内存问题,使用浮点数的精确表达,无近似误差。AD 是文献中主要使用的方法,几乎所有 PINN 实现都采用 AD。
AD 将 PDE 融入 NN 的损失函数。利用这些残差,可评估逼近 $u_\theta$ 对 Eq. (1) 的满足程度。对于精确解 $u$,残差为 0。
2.3 基于学习的方法进行模型估计
PINN 通过最小化损失函数确定 NN 参数 $\theta$:
$$
\theta = \arg \min_\theta L(\theta)
$$
其中 $L(\theta) = \omega_F L_F(\theta) + \omega_B L_B(\theta) + \omega_d L_{\text{data}}(\theta)$。
PDE 残差损失可表示为积分形式。PINN 作为监督方法时,参数通过最小化观测输出与模型预测差异选择;否则,仅考虑 PDE 残差。
PDE 残差损失是在域内选定离散点施加 PDE 约束。边界/初始条件损失和数据点误差分别计算均方误差。
2.4 关于损失函数的观察
PDE 残差损失是通过自动微分计算 $u_\theta(z)$ 的导数来获得的。大多数机器学习库都提供 AD,通常用于计算相对于 DNN 权重的导数。AD 允许 PINN 方法在不进行 PDE 数值离散求解的情况下,实现任何 PDE 和边界条件要求。
此外,通过在罚项中施加 PDE 约束,可以使用相关权重来反映 PDE 模型的可信度。一般来说,$\theta$ 中的未知参数数量远大于观测数据点,因此 DNN 训练需要正则化。
虽然理想情况下应在整个域上施加物理约束,但训练过程中估计和降低损失函数的计算成本随残差点数量增加而增加。除了残差点数量,残差点的位置也是 PINN 的关键参数,因为它们会改变损失函数的设计。
2.5 软约束与硬约束
边界条件约束可视为罚项(软 BC),也可编码到网络设计中(硬 BC)。
许多 PINN 框架采用软约束,通过在边界碰撞点上创建额外损失组件约束 BC。缺点有两点:无法保证准确满足 BC;BC 损失权重会影响学习效率,且目前没有理论指导权重确定。
与文献中典型的基于残差的损失函数相比,基于变分能量的损失函数更易最小化,因此性能更好。
2.6 优化方法
损失函数的最小化过程称为训练。在大多数 PINN 文献中,损失函数通过小批量采样使用 Adam 或 L-BFGS 优化。当监测噪声数据时,发现增加样本量并仅使用 L-BFGS 可获得最优学习效果。
对于中等规模 NN,损失函数存在多个局部极小值,梯度优化器可能陷入其中;找到全局极小值是 NP-hard 问题。
Adam 方法结合自适应学习率和动量,用于提高收敛速度。He 等提出两步训练方法:先用 Adam 最小化损失,再用 L-BFGS-B 优化;对于训练数据和残差点较少的情况,L-BFGS-B 收敛更快、计算成本更低。
实际优化示例:DeepONet 训练中使用无量纲和归一化数据以提高稳定性。初始化也会影响收敛速度:不良初始化导致收敛慢,良好初始化收敛快。
2.7 PINN 的学习理论
该小节总结了 PINN 最新理论研究,旨在理解其工作原理及潜在局限。研究仍处于初期阶段。传统数值分析中,用近似方案逼近真实解,关键理论问题是估计全局误差。
理想情况下,需找到参数 $\theta$ 使 $E=0$。在数值离散求解 PDE 时,关注方法的稳定性、一致性和收敛性。Lax–Richtmyer 等价定理表明,一致性与稳定性可保证收敛。PINN 中的收敛与稳定性则取决于 NN 从物理规律和数据中学习的能力。
2.7.1 收敛性
数学基础目标是研究计算解收敛到问题的解的情况。设 NN 参数向量为 $\theta$,参数数量为 $n$,构造假设类表示具有 $n$ 个参数的所有 NN。PINN 学习能力取决于 $n$ 的大小。
De Ryck 等证明,当 NN 宽度趋于无穷且激活函数为 tanh 时,误差趋于 0。实际中,需选择网络类和损失函数,并用 NNN 个训练数据优化以找到最优解。即使包含 PDE 精确解且找到全局最小值,也不能保证最小值与解完全一致。
2.7.2 统计学习误差分析
PINN 的整个学习过程可视为统计学习问题,涉及误差分析的数学基础。误差分析需考虑:优化误差、泛化误差和近似误差,其中近似误差依赖网络架构。
最终,全局误差可由各类误差上界表示。这些分析为近期 PINN 和 DNN 的研究提供了理论基础。
2.7.3 PINN 的误差分析结果
关于近似误差,由于其依赖于 NN 架构,相关数学基础结果通常在专门讨论此主题的论文中深入探讨。第一个严格与 PINN 相关的论证见于 Shin 等。针对 PINN 的泛化误差,已有一些特定 PDE 类型的正式结果。
最近工作对不可压缩 Navier–Stokes 方程提出了显式误差估计和稳定性分析。Mishra 和 Molinaro 研究了辐射传输方程,该方程具有高维性。他们证明泛化误差同样可由训练误差和训练点数量界定,其维度依赖为对数因子。
因此,PINN 在此问题上不受维数灾难影响,训练误差只依赖训练点数量,而不依赖问题维度。
3. PINN 处理的微分问题
第一个原始 PINN 被用于求解复杂非线性 PDE。最初证明 PINN 架构能够处理正向和逆向问题。随后,PINN 被应用于求解多种 ODE、PDE、分数 PDE、积分微分方程以及随机微分方程。本节按方程形式分类,概述文献中用 PINN 求解这些方程的主要研究工作。
3.1 常微分方程
ODE 可用于模拟仅靠物理模型难以描述的复杂非线性系统。典型 ODE 系统表示为初值问题或边值问题。
Lai 等使用 PINN 进行结构识别,引入神经常微分方程。Neural ODE 可视作 ResNet 的连续表示,通过 NN 参数化 ODE 形式的动力系统初值问题。该方法将 Neural ODE 分为两部分:物理信息项和未知偏差项。
Zhang 等使用深度 LSTM 网络结合 PINN 求解地震激励下的非线性结构系统。有向图模型可直接实现 ODE 作为深度神经网络,并结合 Euler RNN 进行数值积分。
3.2 偏微分方程
偏微分方程是用数学方法描述物理现象的大部分模型的基石。这类模型已被深入研究,并通常通过各种数值方法求解。文献中对这些方法的稳定性和收敛性进行了充分探讨,为近似求解微分问题提供了坚实的理论基础。
3.2.1 稳态 PDE
在 Kharazmi 等中,稳态问题被表示为定义在区域上的方程。特别地,椭圆型方程可表示为。
Tartakovsky 等考虑了线性扩散方程以及非线性扩散方程。其中 $K$ 是未知的扩散系数。该方程描述了均质多孔介质中的非饱和流。结果显示,PINN 方法优于最先进的最大后验概率方法,并且仅利用毛细压力数据即可估计非饱和流的压导关系。
Kharazmi 等提出的变分物理信息神经网络是最早的基于 PINN 的新方法之一,其优势在于通过分部积分降低微分算子的阶数。
Haghighat 等使用 PINN 框架的非局域方法求解二维准静态线弹性与弹塑性力学问题。他们定义了弹塑性损失函数,前馈神经网络输入为位移,输出为应变张量和应力张量分量。
PINN 也被用于求解 Eikonal 方程。Eikonal 方程描述波传播,例如地震波行程时间或心脏激活电波。通过 EikoNet 求解 3D Eikonal 方程,Smith 等在异质 3D 结构中得到行程时间场。
3.2.2 非稳态 PDE
非稳态 PDE 通常描述物理现象随时间的演化。PINN 在此类问题上同样表现出可靠性,提供灵活的求解方法。
对流–扩散–反应问题
Raissi 等最初将非稳态问题表示为。通用对流–扩散–反应方程可写为。其中 $-\text{div}(\mu\nabla u)$ 为扩散项,$b\nabla u$ 为对流项,$\sigma u$ 为反应项。
扩散问题
对于复合材料,Amini Niaki 等研究热传导方程。作者提出由两个不相连子网络组成的 PINN,并采用顺序训练算法自动调整损失函数权重,从而提高预测精度。
Cai 等研究更复杂的自由边界问题——Stefan 问题,包括直接 Stefan 问题和逆 Stefan 问题。他们使用 PINN 表示未知界面和两个相态输出的 FCNN,生成三个残差。
Wang 和 Perdikaris 总结,PINN 在近似复杂函数上表现灵活,尽管缺乏充分的理论分析。
对流问题
在 He 和 Tartakovsky 中,研究了多个对流 - 弥散方程。作者发现,PINN 方法在精度上表现良好,其结果优于典型基于离散化方法的结果。
此外,在 Dwivedi 和 Srinivasan 中,展示了 PINN 和 PIELM 在求解具有陡梯度解的线性对流方程时的失败案例。He 等提出了多物理信息神经网络用于地下流动问题。
3.2.2.2 流动问题
非稳态微分问题中特殊的案例是与流体运动相关的问题。Navier–Stokes 方程在文献中广泛存在,涉及大量问题和学科,说明了为科学界提供可靠求解策略的重要性。
Navier–Stokes 方程
一般情况下,Navier–Stokes 方程表示为。其中 $u$ 为流体速度,$p$ 为压力,$\nu$ 为黏度。动力学方程与质量守恒方程耦合。
Burgers 方程是 Navier–Stokes 方程的特殊情况。Arthurs 和 King 通过快速参数扫描展示了 PINN 如何用于确定管道收缩程度。
PINN 还应用于漂移简化 Braginskii 模型,通过有限电子压力数据学习湍流场。Xiao 等回顾现有湍流数据库并通过系统改变流动条件提出基准数据集。
Cheng 和 Zhang 使用 Res–PINN 求解流体动力学,以提高神经网络稳定性,并在 Burgers 方程和 Navier–Stokes 方程上验证模型。
Sun 等构建物理约束、无数据的全连接神经网络用于不可压缩流的参数化 Navier–Stokes 求解,DNN 仅通过减少控制方程残差训练,无需 CFD 模拟数据。
最后,NSFnets 开发了两种 Navier–Stokes 方程表示方法:速度 - 压力形式和涡量 - 速度形式。
双曲型方程
双曲守恒律被用于简化血流动力学中的 Navier–Stokes 方程。Abreu 和 Florindo 也研究了双曲偏微方程。他们试图处理如下类型的问题。
Euler 方程是双曲守恒律,可能允许不连续解,例如冲击波和接触波。Mao 等可以精确捕捉一维 Euler 方程的不连续流动解,这对于现有数值技术是一个挑战。
如 Jagtap 等所示,cPINN 将域划分为多个小子域,每个子域可使用不同架构的多个神经网络求解同一 PDE。
量子问题
Raissi 及 Raissi 等研究了一维非线性 Schrödinger 方程。其中 $\psi(x,t)$ 是复值解。此问题用于展示 PINN 处理复值解的能力。
Stiller 等研究了量子谐振子。作者提出门控网络决定使用哪个 MLP,每个 MLP 由线性层和 tanh 激活函数组成,解为 MLP 预测的加权和。
Mo 等研究了向量孤子,即耦合非线性 Schrödinger 方程中的多组分孤立波,并通过预设的多阶段训练算法扩展 PINN。
3.3 其他问题
PINN 还被应用于超越经典微分问题的多种问题,例如分数阶 PDE 和不确定性估计。
3.3.1 分数阶微分方程
分数阶 PDE 可用于模拟自然界中的多种现象,其参数需从实验数据中确定。然而,在时空域中,场或实验测量通常稀少且可能受噪声影响。由于自动微分无法直接应用于分数阶算子,构建分数阶 PINN 更为复杂。
Pang 等聚焦于识别已知形式但未知系数与算子的分数阶 PDE 参数,由此提出 fPINN。其损失函数采用混合方法:整数阶算子使用自动微分,分数阶算子使用数值离散。
3.3.2 不确定性估计
在数据驱动的 PDE 求解中,不确定性的来源多样。训练数据质量对解的准确性影响显著。为处理含噪声数据的正向和逆向非线性 PDE 问题,Yang 等提出贝叶斯 PINN。
Yang 等考虑求解椭圆型随机微分方程,需对三个随机过程近似。他们还研究了散布传感器测量有限时的情况,展示问题如何从正向逐渐转变为混合问题,最终为逆问题。
为了表征细胞 - 药物相互作用的形态变化,Cavanagh 等使用核密度估计将形态空间嵌入转换为概率密度函数。然后,他们使用基于 Waddington 型势阱的扩散发展顶 - 下模型,通过 PINN 学习这些势阱。
3.4 使用 PINN 求解微分问题
本小节讨论一个一维非线性 Schrödinger 问题的实际例子。该非线性问题与 Raissi 等中提出的问题相同,用于展示 PINN 处理周期边界条件和复值解的能力。
为了评估 PINN 的精度,Raissi 等使用传统谱方法模拟 Schrödinger 方程生成高分辨率数据集。PINN 在子集测量点上训练,包括初始数据、边界数据以及域内配点。
在训练中,先使用 Adam 优化器,再用 LBFGS 进行微调。通过不同设置和架构分析均方误差与平均绝对误差。PyTorch 实现参考 Stiller 等,基准解来自 Raissi 等的 GitHub。
不同配置显示类似模式,仅误差量级不同。图中先展示预测的时空解模与基准解比较,并绘制每点误差。该 PINN 在中心高度预测存在困难,同时在对称值的映射上存在偏差。
表 2 展示了改变边界和初始值数据时训练损失、相对 L2、MAE 和 MSE 的变化,并分析随时间推进误差增长情况。
4. PINNs:数据、应用与软件
前述章节介绍了 PINN 框架中的神经网络组件及文献中涉及的方程。本节首先讨论物理信息层面,即如何管理数据和模型以在 PINN 框架中有效发挥作用。随后介绍 PINN 的实际应用,以及 DeepXDE、NeuralPDE、NeuroDiffEq 等软件包如何辅助 PINN 设计。
4.1 数据
PINN 技术不仅基于问题的数学描述,还依赖用于训练模型的信息,即训练点,这直接影响预测质量。使用 PINN 需要了解待处理问题的关键本构方程,并具备神经网络构建经验。
此外,物理参数相对量级会影响学习过程。PINN 不依赖固定网格,提供更大灵活性,可在复杂几何域上求解高维问题。训练点在时空域内可任意分布,但其分布会影响 PINN 的灵活性。
4.2 应用
本节探讨 PINN 的实际应用,关注其在日常生活中的创新潜力,例如在易获取位置收集数据并在系统其他部分模拟动态,或在血流动力学、弹性模型及地球科学中的应用。
Sun 等提供了三个血流动力学流动示例,涉及狭窄流和动脉瘤流。文中不仅用 CFD 基准验证结果,还设计 DNN 强制初始与边界条件,仅通过最小化质量和动量守恒方程的损失,估计参数化 Navier–Stokes 方程解。
Raissi 等提出 Hidden Fluid Mechanics 框架,从图像中直接提取速度和压力场,可推广至工程与生物学的电磁场问题。
PINN 方法应用于 Navier–Stokes 方程简化形式,其中血流速度和截面积由双曲守恒律演化。Kissas 等提出血流三维模拟新方法:利用医学影像数据估计压力并获取流量信息。
Mathews 等观察到仅通过二维数据就有可能推断三维湍流场。为了从合成等离子体的部分观测中推断未观测到的场动力学,他们使用 PINN 模拟漂移约化 Braginskii 模型。
这种范式适用于磁化碰撞等离子体的准中性研究,并为利用人工智能构建等离子体诊断提供了方法。Xiao 等检查现有湍流数据库,并通过系统性改变流动条件提出基准数据集。
在训练区域之外进行时间投影是 vanilla PINN 难以解决的问题,Kim 等对此进行了研究和测试。作者表明,vanilla PINN 在多种 Burgers 方程基准问题上的外推任务表现不佳。
PINN 方法还用于解决一维 Buckley–Leverett 两相流问题,该问题在石油工程中具有非凸流函数和一个拐点,使问题较为复杂。
Fang 提出的混合 PINN 应用于 3D Helmholtz 方程、准线性 PDE 算子和逆问题。作者还在 Meshzoo 生成的二十面体网格上测试了该混合 PINN,以求解表面 PDE。
PINN 也被用于电力系统应用,通过求解摆动方程。Wiecha 等对纳米光学中 DL 方法的应用进行了综述。
Chen 等利用 PINN 求解光子超材料和纳米光学中的逆散射问题,从多个有限尺寸散射系统中获取有效介电常数。
Islam 等使用多保真 PINN 进行长程分子动力学模拟,通过少量分子动力学模拟估计纳米流体在广泛样本空间下的黏度。
Stielow 和 Scheel 利用 PINN 重建银纳米簇的形状和方向,其网络从单次散射图像中重建 3D 对象空间。
Lin 等在多尺度应用中描述了连续介质与原子尺度的小气泡,前者用 Rayleigh–Plesset 方程,后者用耗散粒子动力学技术。
Li 等基于 Föppl–von Kármán 方程测试四种载荷情况。Haghighat 和 Juanes 研究了固体力学问题中的应力分布和位移场。
Smith 等在地震震源反演中使用 Stein 变分推断,结合 PINN 求解 Eikonal 方程作为正问题模型。
PINN 在工业过程中的应用非常广泛,尤其在整个物理模型未知的情况下扩展了 PINN 概念。Yucesan 和 Viana 引入混合 PINN,用于主轴轴承疲劳损伤累积。
Viana 等研究了腐蚀 - 疲劳裂纹扩展和轴承疲劳。NVIDIA 的 Modulus 在通道内传热模拟中,通过参数化几何和多设计变量训练 PINN。
4.3 软件
在 2019 年,多个软件包被发布以便更轻松、更快速地训练 PINN,包括 DeepXDE、NVIDIA Modulus、PyDEns 和 NeuroDiffEq。这些库均使用前馈神经网络和自动微分机制来计算求解损失函数所需的解析导数。
DeepXDE
DeepXDE 是最早由 vanilla PINN 作者之一构建的库之一。该库强调其问题求解能力,能够结合多种边界条件并解决复杂几何域上的问题。它提出了基于残差的自适应精炼策略,用于训练阶段优化残差点分布。
此外,DeepXDE 上开发了更高级的工具,如 DeepONets 及其扩展 DeepM&Mnet。DeepXDE 还用于医学超声应用中模拟具有单一时间依赖正弦源函数的线性波动方程。
NeuroDiffEq
NeuroDiffEq 是基于 PyTorch 的神经网络 PDE 求解库。NeuroDiffEq 可解传统 PDE 二维问题,通过神经网络构造严格满足初/边界条件,从而形成 PCNN。
Modulus
Modulus 是 Nvidia 提供的学术和工程工具集,旨在成为可扩展的研究平台及工业问题求解工具。它是一个 PINN 工具箱,支持乘法滤波网络和大批量梯度聚合方法。
SciANN
SciANN 是 PINN 的高层 Keras 封装实现。SciANN 仓库收集了大量示例,便于复现并构建其他解决方案,如弹性、结构力学和振动问题。
PyDENs
PyDENs 是开源神经网络 PDE 求解器,允许定义和配置热方程及波动方程解。它在 NN 中施加初/边界条件,使其成为 PCNN。
NeuralPDE.jl
NeuralPDE.jl 是 SciML 的一部分,SciML 是用于科学机器学习和微分方程建模的工具集。
ADCME
ADCME 可用于开发数值方法并与神经网络连接,特别是基于 TensorFlow 扩展开发。
Nangs
Nangs 是 Python 库,将 PDE 自变量作为 NN 输入,计算因变量导数,并利用这些导数构造 PDE 损失进行无监督训练。
TensorDiffEq
TensorDiffEq 是基于 TensorFlow 的科学机器学习 PINN 工具包,支持多节点分布式计算。
IDRLnet
IDRLnet 是受 Nvidia SimNet 启发的 Python PINN 工具箱。可混合几何对象、数据源、神经网络、损失指标和优化器。
Elvet
Elvet 是 Python 库,用于求解微分方程和变分问题。可求解耦合 ODE 或 PDE 系统以及涉及给定泛函最小化的变分问题。
其他软件包
专为 PINN 创建的软件包不仅能求解 PINN 问题,还可为未来 PINN 研究提供基础。然而,也有其他软件包可利用未来研究成果,如基于核方法的技术。
在此方向上,可用基于高斯过程的核方法代替神经网络。值得关注的高斯过程工具有 Neural Tangents 和 GPyTorch。
5. PINN 的未来挑战与方向
PINN 在理论或应用层面的未来发展尚不明确。我们可以评估的,是现有文献中尚未完整解决的问题、论文中对 PINN 最具争议的方面的探讨、未充分研究的领域,以及 PINN 与其他学科的交叉点。
尽管已有若干文章提升了 PINN 的能力,但仍有大量未解决的问题,例如在现实场景和不同方程上的应用。这些问题既涉及理论考量,也涉及实现问题。
利用物理先验的 PINN 和其他深度学习方法,有潜力有效解决高维 PDE 问题,这类问题在物理、工程和金融中非常重要。然而,与为特定 PDE 设计的数值方法相比,PINN 在精确逼近 PDE 解方面仍存在困难,尤其是在处理多尺度、混沌或湍流等复杂物理现象时可能失败。
5.1 克服 PINN 的理论难题
可以将 PINN 看作一个三模块结构:逼近模块、物理约束模块、优化模块。
神经网络架构决定了 NN 逼近函数的能力,其逼近误差称为逼近误差。如何迭代改进逼近器,由损失函数定义方式以及积分或求和的采样点数量决定,其偏差质量被称为泛化误差。最后,损失最小化的迭代质量取决于优化过程,其误差称为优化误差。
这些因素提出了 PINN 未来研究的多个问题,其中最关键的是:PINN 是否能收敛到 PDE 的正确解?要实现稳定性,逼近误差必须趋于零,这受网络拓扑结构影响。
目前相关研究结果极为有限。例如,Mo 等通过改变隐藏层数和每层神经元数计算不同神经架构的相对误差。Mishra 和 Molinaro 提供了误差估计,并指出 PINN 逼近 PDE 的可能方法。
研究表明,初始隐藏层可能负责编码低频成分,后续隐藏层则负责高频成分。这一发现可视为频率原则的延伸:DNN 在训练时从低频到高频拟合目标函数,体现了 DNN 的低频偏置,并解释了 DNN 在随机数据集上泛化能力较差的原因。
初始化和损失函数对 DNN 学习,特别是对泛化误差的影响,需要进一步研究。许多理论结果基于随机独立分布点的数值积分来估计损失。部分 PINN 方法提出在时空域特定区域选择配点,这一策略也值得研究。
此外,动态损失加权在 PINN 中是一条有前景的研究方向。优化任务对提升 NN 性能至关重要,PINN 亦如此。然而,物理约束的引入意味着 PINN 方法需要额外的优化理论、数值分析及动力系统理论基础。
另一个有趣的研究方向是 PINN 为何不受维度诅咒影响。文献表明 PINN 可轻松扩展,且计算成本不会随问题维度指数增长。Bauer 和 Kohler 最近证明,基于 FNN 的最小二乘估计可避免非参数回归中的维度诅咒。
在 PINN 中,学习过程生成一个预测函数,最小化经验风险。机器学习理论将预测误差分为偏差误差和方差误差。偏差–方差权衡似乎与近年神经网络经验结果相矛盾:训练网络精确拟合数据时仍能在测试集上获得接近最优的结果。
总体而言,PINN 可能无法逼近解,并非由于 NN 架构表达能力不足,而是因软 PDE 约束优化问题。
5.2 改进 PINN 的实现方面
在开发 PINN 时,设计者需注意文献中可能存在的额外配置、各类调整方法及良好实践,这些可系统地优化 PINN 的三个模块:从网络架构选型到激活函数类型;从损失函数的积分计算到物理问题的非量纲化或解空间约束;再到最佳训练流程设计。
在网络架构方面,非 FFNN 类型在 PINN 中的理论影响研究仍缺乏;而对于 FFNN,许多问题仍待研究。深度学习文献提出了多种替代架构,PINN 可从中受益。可能思路包括应用 Fourier Neural Operator、使用 N–BEATS 处理时间序列现象、使用 Transformer 架构处理复杂物理问题中的长程依赖关系、使用 SIRENs 表达复杂自然信号及其导数。
另一个研究方向是探索增加 FFNN 宽度或深度对 PINN 性能的影响。PINN 的可互操作性也是未来研究重点。
激活函数方面,需要更深入理解。Jagtap 等表明,可调节的可扩展激活函数能优化收敛速率和解的正确性。未来研究可探索微分方程求解的替代或混合微分方法。
虽然 PINN 的训练点可在空间和时间上分布,具有高度灵活性,但训练点位置会影响结果质量。PINN 的一个缺点是边界条件必须在训练阶段确定,若边界条件变化需重新训练。
在损失方面,NN 总会优先最小化加权方程中最大的损失项,因此所有损失项应处于同一数量级;对某一部分的加权可能影响其他部分。目前尚无客观方法确定损失函数权重,也缺乏机制保证方程在训练前能达到预定精度,这些问题仍需研究。
优化任务方面,研究相对不足,目前主要使用标准方法如 Adam 和 BFGS 算法。为减少梯度流动刚性,需要研究极限神经切线核。尽管机器学习领域在优化问题上已有大量工作,但 PINN 优化技术仍有提升空间。
学习率对 PINN 训练行为的影响尚未充分研究。梯度归一化是另一重要研究方向,可动态分配不同约束权重,消除全局损失函数中某一项主导的情况。
误差估计也是研究重点。少数示例包括 Hillebrecht 和 Unger,他们使用 ODE 构建 PINN 预测误差上界,并提出为物理约束部分引入额外加权参数,以平衡初值和 ODE 残差的误差贡献。
5.3 PINN 在 SciML 框架中的应用
PINN 以及 SciML 整体上在将机器学习应用于关键科学和技术问题方面具有巨大潜力。然而,许多问题仍未解决,尤其是在将神经网络作为传统数值方法替代方案时。
Krishnapriyan 等分析了扩散和对流两个基本 PDE 问题,发现当对流或黏性系数较高时,PINN 可能无法学习物理问题的规律。他们指出,随着系数增大,PINN 的损失函数空间变得越来越复杂。
这部分源于优化问题,因为 PINN 使用的是软约束。然而,当将问题视为序列到序列学习任务而不是一次性求解整个时空域时,可以获得更低的误差。若要将 PINN 用于更复杂的问题,必须解决这些挑战,在科学问题与机器学习方法之间建立深入联系。
此外,将 PINN 应用于不同领域可能产生意想不到的用途。例如,PINN 已被用于 Poisson 方程的线性求解器,显示出 PINN 可作为高性能求解器一样快速且精确的线性求解工具。
Lu 等认为 PINN 相比传统数值方法具有一些优势:FEM 对函数做线性逼近,而 PINN 对函数及其导数做非线性逼近,因此 PINN 适合广泛工程应用。然而,主要缺点是训练神经网络可能耗时显著长于传统方法。
另一方面,PINN 可在与标准数值方法不同的范式下使用:采用在线 - 离线方式,一个 PINN 可用于实时快速评估动力学,提高预测能力。
从二维扩展到三维给 PINN 带来新障碍:训练复杂度增加,需要更强的网络表示能力、更大的批量大小,以及更长的收敛训练时间。另一任务是将 PINN 集成到传统科学程序和库中,或将 PINN 求解器融入现有高性能计算应用。
PINN 也可在现代 HPC 集群上实现。此外,开发 PINN 需要解决的数学模型时,用户应注意对问题进行预归一化,同时可使用软件包以符号形式书写 PDE。
PINN 在从初始条件或边界条件向未见区域或未来时刻传播信息时存在困难。Wang 等提出了一种 PINN 损失函数的重新表述,可在训练过程中显式考虑物理因果性。他们认为,PINN 的训练算法应设计为遵循系统演化的内在规律进行信息传播。
新实现显示了显著的精度提升,并能评估 PINN 模型收敛性,使 PINN 可用于混沌 Lorenz 系统、Kuramoto–Sivashinsky 方程的混沌域,以及湍流条件下的 Navier–Stokes 方程。
然而,在混合/逆问题中仍需进一步研究,其中观测数据应视为信息源点,PDE 残差应在这些点上最小化后再向外传播信息。另一方法是使用集成一致性作为引入新点的准则。
PINN 对日常生活也可能产生重要影响。例如,Yucesan 和 Viana 利用 PINN 预测润滑脂维护;在工业 4.0 范式下,可辅助工程师模拟材料和结构,或通过嵌入弹性静力训练的 PINN 实时分析建筑结构。
PINN 在解决高频或多尺度 PDE 问题时仍存在困难。另外,PINN 可用于研究自治动力系统中某一平衡点的吸引域。但在安全关键场景中使用 PINN,仍需关注其稳定性及理论基础。许多应用领域仍需大量工作,例如文化遗产、医疗保健、流体力学、粒子物理以及广义相对论建模。
对于刚性问题,需开发专门的 PINN 方法,同时可将 PINN 用于数字孪生应用,如实时控制、网络安全和设备健康监测。目前,PINN 在多尺度应用中的研究仍较少,尽管在多尺度气泡动力学等应用中已显示出潜力。
5.4 PINN 在 AI 框架中的应用
PINN 可被视为更大 AI 框架中的构建模块,或由其他 AI 技术辅助改进。对于实际应用,PINN 可作为深度强化学习的工具,将强化学习与深度学习结合。
RL 使智能体通过探索环境获取知识,从而理解因果关系和推理能力。在 DRL 框架下,PINN 可作为智能体,环境信息可通过执行器、传感器和物理先验嵌入智能体,如迁移学习范式。
PINN 也可视为深度学习与符号人工智能融合的实例。符号范式基于通过抽象模型操控表示与交互来产生智能的理念,可通过逻辑推理发现问题特征,但缺乏 DL 那样直接使用真实数据的便利。
符号智能与 DL 的结合可发挥两者优势,用少量数据和先验构建模型表示。在 PINN 框架中,物理规律的注入可视为符号智能,通过加入推理过程实现。
因果模型是对物理模型的抽象描述,同时回答统计模型问题。微分方程模型可预测物理系统未来行为、评估干预影响并预测变量间统计依赖;统计模型则通常不涉及动态过程,而是研究在实验条件固定时某些变量如何预测其他变量。
在此背景下,将机器学习与图因果结合的因果表示学习是一项新兴研究课题。针对已知数据建模物理现象时,研究 PINN 是否可用于混合问题的因果推断也值得探索。
6. 结论
本文综述可被视为对过去四年创新过程的深入研究,而非简单的 PINN 领域研究调查。Raissi 的早期研究开发了 PINN 框架,重点在于实现 PINN 求解已知物理模型。这些创新性工作推动了 PINN 方法的发展,并进一步验证了其原始概念。
大部分研究尝试通过修改激活函数、梯度优化、神经网络结构或损失函数结构对 PINN 进行个性化。
PINN 原始理念的扩展包括:在物理损失函数中使用模型的最少信息,而非典型 PDE;或在 NN 结构中直接嵌入初始/边界条件的有效性。仅少数研究关注自动微分的替代方案或收敛问题。还有一部分研究尝试提出全面框架,涵盖多种物理问题或多物理系统。
最初 PINN 文献的创新之处在于,通过神经网络逼近未知函数,实现带物理约束的优化,并将其扩展到数据 - 方程混合驱动的方法。此前已有研究尝试用核方法或 PDE 约束优化方法逼近未知函数,但 PINN 的核心在于物理信息驱动,无论来自数据点还是 PDE。
数据点可在域内任意位置提供,但通常仅为初始或边界数据;PDE 强制点是 NN 必须遵循物理方程的地方。
本文回顾了 PINN 文献,从 Raissi 等的开创性工作到在神经网络中引入物理先验的研究。综述涉及基于配点法的 PINN 方法,包括变分 PINN、软约束形式及硬约束形式。本文分析了 PINN 流程,包括神经网络构建、基于物理模型的损失函数构建及反馈机制;总结了 PINN 应用的 PDE 示例,并提供了实际应用及可用软件包的见解。
结论是,PINN 仍有大量改进空间,尤其是在未解决的理论问题上;在优化训练和扩展到多方程求解方面也存在发展潜力。
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- Gemini 图片去水印
基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online