科学机器学习中的物理信息神经网络:现状与展望
作者:Salvatore Cuomo¹ · Vincenzo Schiano Di Cola² · Fabio Giampaolo¹ · Gianluigi Rozza³ · Maziar Raissi⁴ · Francesco Piccialli¹
在线发表:2022年7月26日

摘要
物理信息神经网络(Physics-Informed Neural Networks,PINNs)是一类将模型方程(如偏微分方程,PDE)直接嵌入神经网络结构中的神经网络(NN)。目前,PINNs 已被广泛用于求解偏微分方程、分数阶方程、积分-微分方程以及随机偏微分方程。这一新兴方法作为一种多任务学习框架 出现,在该框架中,神经网络不仅需要拟合观测数据,还需最小化 PDE 残差。
本文对物理信息神经网络相关文献进行了全面综述:研究的主要目标是阐明这类网络的特征、优势与局限性。同时,本文还涵盖了更广义的基于配点法(collocation-based)的物理约束神经网络研究,包括从最初的基础 PINN(vanilla PINN)演化出的多种变体,如物理约束神经网络(Physics-Constrained Neural Networks,PCNN) 、变分型 hp-VPINN 和 守恒型 PINN(Conservative PINN,CPINN) 等。
研究表明,现有工作主要集中在通过不同的激活函数、梯度优化算法、神经网络结构和损失函数设计来改进 PINN 模型。尽管 PINN 已在许多应用场景中展现出相较于传统数值方法(如有限元法 FEM)更高的可行性与灵活性,但仍存在大量理论问题尚未得到解决。因此,未来仍有相当大的发展与完善空间。
关键词 物理信息神经网络(PINN) · 科学机器学习(Scientific Machine Learning) · 深度神经网络(Deep Neural Networks) · 非线性方程 · 数值方法 · 偏微分方程(PDE) · 不确定性
1 引言
深度神经网络(Deep Neural Networks, DNN)已在计算机视觉、自然语言处理和博弈论等任务中取得了巨大成功。深度学习(Deep Learning, DL)彻底改变了分类、模式识别与回归任务在各类应用领域中的实现方式。近年来,深度神经网络正逐渐被用于解决经典的应用数学问题,例如利用机器学习与人工智能方法求解偏微分方程(Partial Differential Equations, PDEs)。
由于存在显著的非线性特征 、对流占优(convection-dominated)行为 或激波(shock)现象 ,某些偏微分方程使用传统数值方法求解极其困难。而深度学习因神经网络具有的通用逼近性(universal approximation) 与高表达能力(great expressivity) ,正迅速成为科学计算的新范式。近期研究表明,深度学习可作为一种构建元模型(meta-model)的有前景方法,用于对动态系统进行快速预测。特别是,神经网络已被证明能有效表征复杂系统中的非线性输入--输出关系。
然而,处理这类高维复杂系统仍不可避免地受到维度灾难(curse of dimensionality) 的影响,这一概念最早由 Bellman 在最优控制问题的研究中提出 [15]。尽管如此,基于机器学习的算法仍被认为在求解偏微分方程方面具有巨大潜力 [19]。Blechschmidt 与 Ernst [19] 指出,随着深度学习在方法、理论与算法层面的持续发展,基于机器学习的 PDE 求解方法将在未来几年继续成为重要研究方向。
早期的研究工作已尝试使用简单的神经网络模型(如具有少量隐藏层的多层感知机 MLP)求解微分方程 [89]。而现代方法则利用神经网络优化框架与自动微分技术。例如,Berg 与 Nyström [16] 提出了一种用于求解 PDE 的统一深度神经网络方法。此外,研究者还设想深度神经网络(DNN)可用于构建基于神经网络的可解释混合地球系统模型(interpretable hybrid Earth system model) ,以应用于地球与气候科学研究 [68]。
目前,在将物理先验知识与深度学习结合的研究领域中,尚无统一的术语。常见的表述包括"物理约束(physics-informed)"、"物理驱动(physics-based)"、"物理引导(physics-guided)"或"理论引导(theory-guided)"等。Kim 等 [80] 对此进行了系统分类,并提出了"知情深度学习(informed deep learning)"的总体框架,用于综述动力系统方向的研究。他们的分类体系包含三个层次:(i)采用了何种深度神经网络结构;(ii)物理知识如何被表示;(iii)物理信息如何被融合。受此启发,本文将重点探讨 2017 年提出的物理信息神经网络(Physics-Informed Neural Networks, PINNs) 框架,并说明其神经网络特征、物理信息的输入方式以及其在文献中所解决的典型物理问题。
1.1 什么是 PINNs
物理信息神经网络(Physics--Informed Neural Networks, PINNs) 是一种用于求解涉及偏微分方程(PDE)问题的科学机器学习方法。PINN 通过训练神经网络来最小化损失函数以逼近 PDE 的解;损失函数中包含反映初始条件、边界条件(定义在时空区域边界上)的项,以及定义域中选取点(称为配点 ,collocation point)上的 PDE 残差项。
PINN 是一种深度学习网络:对于积分域内任意输入点,经过训练的神经网络即可输出该点处微分方程解的估计值。PINN 的主要创新在于其引入了一个残差网络(residual network) ,直接编码支配方程的物理规律。PINN 的训练思想可被视为一种无监督学习策略 ,因为它不依赖于标签数据(如仿真或实验结果),而是通过最小化方程残差自动学习解。
PINN 算法本质上是一种无网格(mesh-free) 方法,它通过将"直接求解方程"转化为"最小化损失函数"来获得 PDE 解。该方法通过将数学模型嵌入网络结构中,并在损失函数中引入方程残差作为惩罚项,从而约束可接受解的空间。PINN 不仅依赖数据拟合状态变量(data-driven),更重要的是结合了控制方程(physics-informed),即在学习过程中主动利用物理规律信息。
"基于物理的学习机"思想最早可追溯至 Owhadi [125] 的研究,该研究表明将系统性结构化的先验知识引入学习过程是可行且高效的。Raissi 等 [141,142] 曾利用高斯过程回归(Gaussian Process Regression)构建线性算子泛函的表示,从而在多种物理问题中准确推断解并提供不确定性估计,该研究后来在 [140,145] 中进一步扩展。
PINN 于 2017 年 首次提出,作为一种新型数据驱动的 PDE 求解器,其思想在两篇论文中首次出现 [143,144],并于 2019 年被合并整理发表 [146]。Raissi 等 [146] 在文中展示了 PINN 求解非线性 PDE(如 Schrödinger 方程、Burgers 方程、Allen--Cahn 方程)的应用。他们提出的 PINN 框架可同时处理正向问题(forward problems) ------求解给定方程的解,以及反问题(inverse problems) ------根据观测数据反演模型参数。
事实上,将先验知识融入机器学习算法的思想并非首次出现。早在 1994 年,Dissanayake 和 Phan-Thien [39] 已尝试利用简单神经网络逼近 PDE 的解,这可视为最早的 PINN 雏形之一。该研究继承了 1980 年代末"神经网络通用逼近理论"成果 [65],并在 1990 年代提出多种用于 PDE 近似的神经网络方法,如约束神经网络(Constrained Neural Networks) [89,135] 或 [93]。Dissanayake 与 Phan-Thien [39] 的方法中,神经网络输出单一标量值,对应输入点处的 PDE 解。该网络具有两层隐藏层,每层包含 3、5 或 10 个节点,损失函数在域的内部与边界通过配点法近似 L² 误差,并采用准牛顿法优化、有限差分计算梯度。
Lagaris 等 [89] 将微分方程解表示为常数项与包含可调参数的未知项之和,通过神经网络确定最优参数;但其方法仅适用于规则边界。随后 Lagaris 等 [90] 将方法扩展到不规则边界问题。
随着 2000 年代计算能力提升,具有更多参数与更深层结构的模型成为主流 [127]。此后,研究者引入了基于径向基函数(RBF)的深度模型 [87]。到 2010 年代末,得益于硬件性能、训练策略以及开源工具(如 TensorFlow [55])的发展,神经网络求解 PDE 的研究迅速兴起。这些工具中提供的自动微分(Automatic Differentiation) 技术 [129],极大地简化了 PINN 的实现。
之后,Kondor 与 Trivedi [83] 以及 Mallat [102] 的研究进一步推动了 Raissi 等 [146] 的 PINN 框架发展,提出了离散时间步进方案(discrete time-stepping scheme),充分利用神经网络的预测能力 [82]。这一框架可直接嵌入任何微分方程问题,大大降低了使用门槛,使许多研究者能快速将其应用于自身问题 [105]。
PINN 的成功可从 Raissi 等 [146] 被引用的指数增长趋势(图1)中看出。
然而,PINN 并非唯一的基于神经网络的 PDE 求解框架。近年来还提出了多种方法。例如:
- Deep Ritz 方法(DRM) [42]:将损失定义为问题解的能量泛函;
- Deep Galerkin 方法(DGM) [160]:基于 Galerkin 或 Petrov--Galerkin 方法,通过将残差乘以试探函数定义损失;
- hp-VPINN [78]:在配点上采用 Galerkin 方法的变体;
- 变分型 hp-VPINN 、守恒型 PINN(CPINN) [71];
- 物理约束神经网络(Physics-Constrained Neural Networks, PCNNs) [97,168,200]。
PINN 在训练过程中通过损失函数同时引入 PDE 与初始/边界条件(称为"软边界条件 soft BC");而 PCNN 则是"无数据(data-free)"网络,通过自定义网络结构强制满足边界条件("硬边界条件 hard BC"),并在损失中嵌入 PDE。Raissi 等 [146] 在定义 PINN 时采用的正是这种软形式方案。
由于有关 PINN 的文献数量远多于其他变体(如 PCNN、hp-VPINN、CPINN 等),本文主要聚焦于 PINN,同时简要讨论基于配点法的相关神经网络架构。为表述简洁,本文统一采用单数形式 "PINN" 代表此类网络家族。
已有多篇综述论文探讨 PINN 的潜力、局限与应用,例如其在正向与反向问题 [74]、三维流体问题 [20]、或与其他机器学习方法对比分析 [19] 中的表现。Kollmannsberger 等 [82] 还提供了一个涵盖机器学习与神经网络基础的 PINN 入门课程。
此外,PINN 也可与其他 PDE 求解方法比较,例如基于 Feynman--Kac 定理的求解方法 [19]。PINN 现已扩展用于求解积分微分方程(IDE) [128,193] 与随机微分方程(SDE) [189,195]。
PINN 相较传统方法具有显著优势:
- 无网格特性,可在训练后按需生成解;
- 解析可微性,通过自动微分计算梯度;
- 统一框架,可同时处理正向与反向问题。
PINN 不仅可用于求解方程(正向问题),还可通过观测数据识别模型参数(反问题),甚至实现逆向设计(inverse design),其中 PDE 可作为硬约束嵌入网络(hPINN) [101]。凭借此特性,PINN 能处理具有复杂几何形状或高维度的 PDE 问题,以及各种反演与约束优化问题。
1.2 本综述的内容
在本综述中,我们重点讨论 PINNs 在解决不同科学计算问题中的应用、PINN 的组成模块、与学习理论相关的方面、已有的工具集、未来发展方向与最新趋势,以及精度与收敛性问题。根据不同问题的特点,我们展示了文献中如何通过配置网络深度、层大小、激活函数以及使用迁移学习来定制 PINN 求解器。
本文可视为对 PINNs 的全面文献综述 ,主要通过在 Scopus 数据库中检索以下关键词完成: ((physic* OR physical) W/2 (informed OR constrained) W/2 "neural network")
本综述的核心研究问题是明确 PINNs 的概念及其相关的优势与局限性。研究还重点关注了布朗大学应用数学系 CRUNCH 研究小组的研究成果,以及与美国太平洋西北国家实验室合作的 Physics--Informed Learning Machines for Multiscale and Multiphysics Problems (PhILMs) 中心 。在这一框架下,参与该文献研究的主要作者包括 Karniadakis G.E.、Perdikaris P. 和 Raissi M.
此外,本综述还考虑了范围更广的研究工作,不仅限于 PINNs,还包括物理引导神经网络(physics-guided neural networks) 、物理信息机器学习(physics-informed machine learning) 以及深度学习(deep learning) 相关研究。
图 1 总结了 PINN 在当前文献与应用中的影响力。
2 PINN 的组成模块
物理信息神经网络(PINNs)能够处理数据稀少或实验观测噪声较大的问题。由于它们可以利用已知数据,同时遵循由一般非线性偏微分方程(PDE)指定的物理规律,因此 PINNs 也可以被视为处理监督学习问题 的神经网络 [52]。
PINNs 可求解一般形式的微分方程:
{F(u(z);γ)=f(z),z∈ΩB(u(z))=g(z),z∈∂Ω(1) \begin{cases} F(u(z); \gamma) = f(z), & z \in \Omega \\ B(u(z)) = g(z), & z \in \partial \Omega \end{cases} \tag{1} {F(u(z);γ)=f(z),B(u(z))=g(z),z∈Ωz∈∂Ω(1)
其中,定义域为 Ω⊂Rd\Omega \subset \mathbb{R}^dΩ⊂Rd,边界为 ∂Ω\partial \Omega∂Ω。z:=[x1,...,xd−1;t]z := [x_1, \dots, x_{d-1}; t]z:=[x1,...,xd−1;t] 表示时空坐标向量,uuu 为未知解,γ\gammaγ 为与物理相关的参数,fff 为问题数据函数,FFF 为非线性微分算子。初始条件可视作时空域上的 Dirichlet 边界条件,因此 BBB 可表示任意初始或边界条件算子,ggg 为边界函数。边界条件可以是 Dirichlet、Neumann、Robin 或周期性条件。方程 (1) 可描述许多物理系统,包括正向问题与反问题。
- 正向问题 :求解给定参数 γ\gammaγ 下的 u(z)u(z)u(z);
- 反问题 :同时需从数据中确定 γ\gammaγ。
关于算子形式的数学表述,可参见 Mishra 和 Molinaro [111]。
在 PINN 方法中,u(z)u(z)u(z) 由一个参数为 θ\thetaθ 的神经网络预测,得到近似解:
u^θ(z)≈u(z), \hat{u}\theta(z) \approx u(z), u^θ(z)≈u(z),
其中 (⋅^)θ(\hat{\cdot})\theta(⋅^)θ 表示以 θ\thetaθ 实现的神经网络近似。在统一框架下分析正向与反问题时,θ\thetaθ 表示神经网络中所有未知参数的向量,以及反问题中的未知物理参数 γ\gammaγ。神经网络通过最小化损失函数来逼近微分方程解:
θ∗=argminθ(ωFLF(θ)+ωBLB(θ)+ωdLdata(θ)),(2) \theta^* = \arg\min_\theta \big( \omega_F L_F(\theta) + \omega_B L_B(\theta) + \omega_d L_\text{data}(\theta) \big), \tag{2} θ∗=argθmin(ωFLF(θ)+ωBLB(θ)+ωdLdata(θ)),(2)
其中 LFL_FLF 为 PDE 残差损失,LBL_BLB 为边界条件损失,LdataL_\text{data}Ldata 为已知数据损失,ωF,ωB,ωd\omega_F, \omega_B, \omega_dωF,ωB,ωd 为对应权重。
总结而言: - 对于仅利用物理方程和边界条件训练的正向问题,PINN 可视作无监督学习;
- 对于反问题或部分物理属性来源于噪声数据时,PINN 可视作监督学习。
接下来我们将讨论用于逼近 u(z)u(z)u(z) 的神经网络类型,FFF 提供的物理信息如何被纳入模型,以及神经网络如何从方程和额外数据中学习。图 2 总结了本节讨论的 PINN 组成模块。
PINN 由三部分组成:神经网络、物理信息网络、反馈机制。
- 神经网络(NN) :u^θ\hat{u}_\thetau^θ 接受方程 (1) 中的向量变量 zzz 并输出场值 uuu。
- 物理信息网络(functional component) :计算导数以确定 PDE 残差和初边界条件损失项。通常前两部分通过算法微分(algorithmic differentiation) 相连,将物理方程嵌入训练阶段的神经网络。
- 反馈机制(feedback mechanism) :根据学习率最小化损失函数,更新神经网络参数向量 θ\thetaθ。
2.1 神经网络架构
神经网络的表示能力已被充分验证。根据通用逼近定理(Universal Approximation Theorem),任意连续函数都可以由一个具有单隐藏层和有限神经元的多层感知机(MLP)任意精确逼近 [17,34,65,192]。虽然神经网络能够紧凑地表示复杂函数,但确定用于求解特定 PDE 的精确权重与偏置参数仍然困难 [175]。此外,选择合适的人工神经网络(ANN)架构也是一大挑战。
- 浅层学习网络(Shallow Networks):单隐藏层,可逼近任意非线性连续函数;
- 深度神经网络(Deep Neural Networks, DNN) :多于两层的神经网络,用于建模复杂关系 [2]。
深度学习架构的分类仍在研究中 [2,117,155]。常见架构包括: - 全连接前馈网络(FFNN,也称 FNN、FCNN 或 FF-DNN);
- 卷积神经网络(CNN);
- 循环神经网络(RNN) [29,92];
- 其他架构:自编码器(AE)、深度置信网络(DBN)、生成对抗网络(GAN)、贝叶斯深度学习(BDL) [5,17]。
PINN 的扩展研究也基于这些网络,例如利用贝叶斯神经网络 评估 PINN 解的不确定性,或者在训练 CNN/RNN 时使用有限差分构造 PDE 残差。
根据 Caterini 和 Chang [25],具有 LLL 层的通用深度神经网络可表示为 LLL 个函数 fi(xi,θi)f_i(x_i, \theta_i)fi(xi,θi) 的复合:
uθ(x)=fL∘fL−1∘⋯∘f1(x),(3) u_\theta(x) = f_L \circ f_{L-1} \circ \dots \circ f_1(x), \tag{3} uθ(x)=fL∘fL−1∘⋯∘f1(x),(3)
其中每个 fif_ifi 定义在两个内积空间 EiE_iEi 与 HiH_iHi 上,fi∈Ei×Hif_i \in E_i \times H_ifi∈Ei×Hi,复合符号 ∘\circ∘ 表示 f2∘f1(x)=f2(f1(x))f_2 \circ f_1(x) = f_2(f_1(x))f2∘f1(x)=f2(f1(x))。自 Raissi 等 [146] 提出的原始 vanilla PINN 起,大多数 PINN 解法采用前馈神经网络。然而,也有研究尝试使用 CNN、RNN、GAN 等不同类型的神经网络,探讨其对 PINN 性能的影响。
2.1.1 前馈神经网络
前馈神经网络(Feed-Forward Neural Network, FFNN),也称多层感知机(MLP),是按层组织的神经元集合,按顺序进行计算。全连接网络中,相邻层的神经元相互连接,而同层内的神经元不连接。每个神经元对加权输入与偏置求和后,施加激活函数 [175]。
对于输入 xxx,MLP 通过以下方式计算输出:
- 各层由仿射映射(affine-linear maps)与标量非线性激活函数组合而成;
- 对应函数表示为
fi(xi;Wi,bi)=αi(Wi⋅xi+bi), f_i(x_i; W_i, b_i) = \alpha_i(W_i \cdot x_i + b_i), fi(xi;Wi,bi)=αi(Wi⋅xi+bi),
其中 Ei=Hi=RE_i = H_i = \mathbb{R}Ei=Hi=R 为欧几里得内积空间,αi\alpha_iαi 为标量非线性激活函数 [26]。
按照 Mishra 和 Molinaro [111] 的符号,可表示为:
uθ(x)=CK∘α∘CK−1∘⋯∘α∘C1(x),(4) u_\theta(x) = C_K \circ \alpha \circ C_{K-1} \circ \dots \circ \alpha \circ C_1(x), \tag{4} uθ(x)=CK∘α∘CK−1∘⋯∘α∘C1(x),(4)其中 1≤k≤K1 \le k \le K1≤k≤K,
Ck(xk)=Wkxk+bk.(5) C_k(x_k) = W_k x_k + b_k. \tag{5} Ck(xk)=Wkxk+bk.(5)
因此,神经网络由一个输入层、一个输出层以及 (K−2)(K-2)(K−2) 个隐藏层组成。
FFNN 架构
尽管理想的深度神经网络(DNN)架构仍在研究中,PINN 的实现论文尝试通过经验方法优化架构特性,例如层数和每层神经元数量。较小的 DNN 可能无法有效逼近未知函数,而过大的 DNN 在小数据集下训练可能较困难。
- Raissi 等 [146] 根据不同问题使用不同类型的 DNN,例如:每层 100 个神经元的 5 层深度网络、4 层隐藏层每层 200 个神经元的 DNN,或 9 层每层 20 个神经元的网络。
- Tartakovsky 等 [170] 经验性地确定前馈网络大小,使用 3 个隐藏层,每层 50 个单元,激活函数为双曲正切函数。
- Kharazmi 等 [78] 在 hp-VPINN 中,根据微分问题调整架构,例如对于带有双重不连续解的平流方程使用 8 层深网络,而一般实现为 4 层每层 20 个神经元。
- Zhu 等 [199] 为满足约束边界条件,使用 NN 特定部分设计 5 层隐藏层,每层 250 个神经元的全连接网络。
- 在 PINNeik [175] 中,使用 10 层隐藏层,每层 20 个神经元,局部自适应反正切函数作为激活函数,最后一层使用线性激活函数。
- He 等 [60] 探讨网络规模对状态估计精度的影响,实验中隐藏层从 3 到 5 层,每层 32 个神经元;然后固定隐藏层数为 3,激活函数为双曲正切,同时改变每层神经元数量。
其他研究也关注层数、神经元数量与激活函数如何影响 NN 对所求问题的逼近质量 [19]。
多重 FFNN
尽管许多文献使用单个全连接网络,越来越多研究尝试多重全连接网络组合来逼近复杂数学模型的特定方程:
- Haghighat 等 [57] 提出由 5 个 FFNN 组成的架构。
- 在两相 Stefan 问题中(见 Cai 等 [22]),一个 DNN 用于建模两种材料相界面,另一个 DNN 描述两相的温度分布。
- Moseley 等 [116] 建议为每个子域使用一个神经网络,而不是整个域使用单个 NN。
- Lu 等 [99] 使用 DeepONet 架构:一对 DNN,其中 branch net 编码输入空间,trunk net 编码输出函数域;两子网络均为 FFNN,可灵活设计拓扑 [96]。
浅层网络
为克服一些问题,研究者也探索浅层网络:
- 可以是稀疏网络,而非全连接;
- 或者单隐藏层网络,如 ELM(Extreme Learning Machine) [66]。
与浅层网络相比,增加隐藏层有助于建模复杂非线性关系 [155]。然而,实际问题中使用 PINN 可能导致深层网络层数过多,训练成本高且效率低。因此,文献中不仅有深度网络,也有浅层 ANN 的应用:
- X--TFC(Schiassi 等 [153])使用单层 NN,采用 ELM 算法训练。
- PIELM [41] 是更快的替代方法,结合 PINN 和 ELM 的思想:仅更新外层权重,内层权重保持不变。
- Ramabathiran 和 Ramachandran [148] 提出 SPINN(Sparse, Physics-based, and partially Interpretable Neural Networks),使用核网络的稀疏架构,减少参数并提高可解释性;使用核函数如径向基函数(RBF)、softplus hat 或高斯核,并将原型架构应用于多种数学问题。
激活函数
激活函数对 DNN 的训练性能影响显著。常用激活函数包括 ReLU、Sigmoid、Tanh [168]。
- 最近研究推荐使用可调激活函数,例如 Swish:
Swish(x)=x⋅Sigmoid(βx) \text{Swish}(x) = x \cdot \text{Sigmoid}(\beta x) Swish(x)=x⋅Sigmoid(βx)
其中 β\betaβ 为可训练参数,Sigmoid 为 S 形函数或逻辑函数。
常用激活函数包括 logistic sigmoid、双曲正切(tanh)、ReLU 和 leaky ReLU。大多数作者倾向使用无限可导的双曲正切激活函数:
α(x)=tanh(x)[60] \alpha(x) = \tanh(x) \quad [60] α(x)=tanh(x)[60]
- Cheng 和 Zhang [31] 使用 ResNet 模块提高 FCNN 稳定性,并证明 Swish 在收敛速度和精度上优于其他激活函数。
然而,在 PINN 框架中,由于需要计算二阶导数,选择激活函数需谨慎。例如,将 PDE 无量纲化时,最好选择输入范围在 [0,1][0,1][0,1],而非更大区间,因为大多数激活函数(Sigmoid、Tanh、Swish)在 000 附近非线性。
此外,通过使用平滑激活函数(如 Sigmoid 和 Tanh),可保证 PINN 的正则性,使得 PINN 泛化误差估计成立 [111]。
2.1.2 卷积神经网络(Convolutional Neural Networks)
卷积神经网络(Convolutional Neural Networks, ConvNet 或 CNN)旨在处理由多个数组组成的数据,例如由三个二维数组构成的彩色图像。CNN 通常由若干个卷积层和池化层组成。
卷积层由一组滤波器(filters 或 kernels) 组成,这些滤波器在整个输入上进行卷积,而不是执行一般的矩阵乘法操作。
池化层则执行下采样(subsampling) 操作,从而降低数据维度。
根据 Caterini 和 Chang [26] 的描述,对于 CNN,其逐层函数 fff 可以写为:
fi(xi;Wi)=πi(αi(Ci(Wi,xi))) f_i(x_i; W_i) = \pi_i(\alpha_i(C_i(W_i, x_i))) fi(xi;Wi)=πi(αi(Ci(Wi,xi)))
其中,α\alphaα 是逐元素的非线性函数(例如 ReLU),π\piπ 表示最大池化(max-pooling)映射,CCC 表示卷积算子。
值得注意的是,卷积操作具有平移不变性 ,而池化对小的平移变化不敏感。这种性质应用于输入图像的特征(如角点、边缘等),即使输入稍有平移,这些特征仍能在卷积层的输出中得到体现。
因此,CNN 在处理图像和语音信号等多维数据方面表现优异。事实上,正是在图像领域,这类网络已被用于物理约束神经网络(PINN) 框架中。
关于该主题的更多内容,可参考 LeCun 等 [92]、Chen 等 [29]、Muhammad 等 [117]、Aldweesh 等 [2]、Berman 等 [17]、Calin [23] 等文献。
CNN 架构(CNN Architectures)
由于 CNN 最初是为图像识别而设计的,因此它更适合处理图像类数据,但不一定直接适用于科学计算问题 ,因为科学问题中的几何形状通常是不规则的,网格也非均匀。
例如,基于欧几里得距离的卷积滤波器在非均匀网格上会失去其平移不变性。
为了解决这一问题,Gao 等 [48] 提出了基于物理约束的几何自适应卷积神经网络(Physics-informed Geometry-adaptive CNN, PhyGeoNet) 。
PhyGeoNet 通过坐标变换 ,将不规则物理域中的解场映射到矩形参考域中,从而能够严格施加边界条件,使网络成为一个物理约束神经网络 。
Fang [44] 进一步指出,可以在卷积操作中通过有限差分模板核离散化拉普拉斯算子。事实上,使用有限体积方法离散拉普拉斯算子的过程与卷积等价。
因此,他将 PINN 与 CNN 结构结合,利用有限体积数值方法增强 PINN。他设计并实现了一种CNN 启发式方法 ,在其中不再使用笛卡尔网格,而是在网格或图结构上进行卷积运算 。此外,他并未使用零填充(zero padding),而是用边界条件数据作为填充值。
最后,由于数据不需要压缩,他也不使用池化层。
卷积自编码网络(Convolutional Encoder--Decoder Network)
自编码器(Autoencoders, AE,或称编码--解码网络)常用于非线性方式的降维。
它包含两个神经网络组件:
- 编码器(encoder):将输入层数据映射到有限个隐藏单元;
- 解码器(decoder):输出层节点数与输入层相同,用于重建输入。
Zhu 等 [200] 针对随机流体流动建模 ,开发了一种物理约束卷积自编码网络 和生成模型,用于求解具有高维空间变化系数的随机偏微分方程(stochastic PDEs) ,其结果表明该方法在处理效率上优于全连接神经网络(FC--NN)。
Wang 等 [177] 也采用了卷积自编码器结构,提出了理论引导自编码器(Theory-guided Auto--Encoder, TgAE)框架,能够将物理约束融入 CNN。
Geneva 和 Zabaras [51] 提出了 深度自回归密集编码--解码网络(deep auto-regressive dense encoder--decoder)及物理约束训练算法 ,用于预测瞬态 PDE。他们还将该模型扩展到贝叶斯框架 ,以同时量化认知不确定性(epistemic uncertainty) 和随机不确定性(aleatoric uncertainty) 。
Grubišić 等 [54] 也使用了基于卷积自编码器的全卷积神经网络结构。
2.1.3 循环神经网络(Recurrent Neural Networks)
循环神经网络(Recurrent Neural Networks, RNN)是另一类人工神经网络,与前馈神经网络(Feedforward NN)不同,RNN 的同一隐藏层中的神经元相互连接形成有向环路 。
RNN 能够接受序列数据 作为输入,因此非常适合时间依赖型任务 [29]。
RNN 逐步处理输入数据,使用前一时刻的隐藏状态输出作为下一时刻的额外输入 [17]。
RNN 的隐藏单元可保持一个状态向量(state vector) ,记录序列中先前事件的信息。
RNN 可以从两个角度理解:
- 将其视为一个状态系统,除初始状态外,每个状态都会生成一个输出;
- 或视为一系列前馈神经网络,每个网络将信息从一个隐藏层传递到下一个。
根据 Caterini 和 Chang [26] 的定义,RNN 的逐层函数 fff 可写为:
fi(hi−1)=α(W⋅hi−1+U⋅xi+b) f_i(h_{i-1}) = \alpha(W \cdot h_{i-1} + U \cdot x_i + b) fi(hi−1)=α(W⋅hi−1+U⋅xi+b)
其中,α\alphaα 是逐元素的非线性函数(RNN 中常用 tanh\tanhtanh),hhh 为隐藏状态向量,WWW 为隐藏层间的权重矩阵,UUU 为输入到隐藏层的权重矩阵,bbb 为偏置向量。
RNN 已被扩展出多种记忆单元(memory unit) 形式,如:
- 长短期记忆网络(LSTM)
- 门控循环单元(GRU)
LSTM 的设计目标是让 RNN 能够处理需要长期记忆的任务。LSTM 单元中包含一个称为**记忆单元(memory cell)**的结构,用于存储信息。
每个 LSTM 层由若干相互作用的单元(cell)组成,每个单元包含四个互相关联的模块:
- 内部单元(internal cell)
- 输入门(input gate)
- 遗忘门(forget gate)
- 输出门(output gate)
单元状态由这些门控制,可选择性地传播序列中的关键信息,从而捕获动力系统中的长短期时间依赖特性 [197]。
GRU 是另一种用于长期记忆的 RNN 结构,与 LSTM 类似,但参数更少,因此训练更高效 [17]。
RNN 架构(RNN Architectures)
Viana 等 [174] 在神经网络形式下,将模型差异项引入到给定的常微分方程(ODE)中。
RNN 被认为非常适合动力系统建模 ,因为它将经典前馈网络扩展到包含时间相关响应。
由于 RNN 周期性地对给定状态执行变换,因此可以设计一个执行欧拉积分(Euler integration)的 RNN 单元。事实上,物理约束 RNN(physics-informed RNN) 可用于执行数值积分。
Viana 等 [174] 将 RNN 单元构建为可实现特定数值积分方法(如欧拉、黎曼、Runge--Kutta 等)的形式。 随后,他们将 RNN 表示为一个有向图,其中节点代表物理约束模型的各个核函数。 这种图结构可扩展以添加数据驱动节点(如 MLP),用于修正图中某些节点的输出,从而减少模型差异。
LSTM 架构(LSTM Architectures)
传统上,物理学家常使用多个独立的 LSTM 网络来描述序列到序列(sequence-to-sequence)的输入--输出关系,但这些网络之间不具同质性 ,因此无法直接连接。Zhang 等 [197] 使用单个网络 及基于中心差分滤波器的数值微分器 来表达这种关系。他们提出了两种用于有限数据下的序列特征表示学习的架构,并通过物理模型进行增强。 所提出的网络包括两层(Phy-LSTM²)或三层(Phy-LSTM³)深度 LSTM,用于描述状态空间变量、非线性恢复力和滞回参数,此外还引入了张量微分器(tensor differentiator) 来计算状态空间变量的导数。
另一种方法是 Yucesan 和 Viana [194],他们在时间积分中实现了基于先前引入的欧拉积分单元的 LSTM 架构。
2.1.4 其他用于 PINN 的架构(Other Architectures for PINN)
除了全连接前馈神经网络、卷积神经网络和循环神经网络之外,本节讨论其他被研究的架构。
在众多提出的网络中,目前应用于 PINN 的主要有:
- 贝叶斯神经网络(Bayesian Neural Networks, BNN)
- 生成对抗网络(Generative Adversarial Networks, GAN)
此外,还有一种有趣的应用方式是组合多个 PINN,每个 PINN 都有其独立的神经网络。
贝叶斯神经网络(Bayesian Neural Network)
在贝叶斯框架下,Yang 等 [190] 提出了贝叶斯物理约束神经网络(B-PINN) ,其包含一个受 PDE 约束的贝叶斯神经网络,作为先验分布的一部分。
BNN 的权重为概率分布而非确定值,这些分布通过贝叶斯推理学习得到。为估计后验分布,Yang 等 [190] 使用了:
- 哈密顿蒙特卡洛方法(Hamiltonian Monte Carlo, HMC)
- 变分推断(Variational Inference, VI)
他们发现,在 B-PINN 的后验估计中,HMC 比采用均值场高斯近似的 VI 更合适。
此外,他们还研究了使用Karhunen--Loève(KL)展开 作为随机过程表示替代 BNN 的可能性。结果表明,虽然 KL 的精度与 BNN 相当且计算更快,但不易推广到高维情况。
他们还指出,在贝叶斯框架中,可以使用 KL--HMC 或 深度归一化流(Deep Normalizing Flow, DNF) 模型估计后验分布。
虽然 DNF 的计算成本高于 HMC,但在训练完成后,它更能从目标分布中提取独立样本,这在数据驱动的 PDE 求解 中具有潜在应用,但目前仅适用于低维问题。
GAN 架构
在生成对抗网络(GAN)中,两个神经网络通过零和博弈互相竞争。一个网络负责生成数据(Generator),另一个网络进行判别(Discriminator)。生成器接受输入数据并输出具有真实特征的数据;判别器将真实数据与生成器输出进行比较。经过训练后,生成器可以生成无法区分于真实数据的新数据 [17]。
Yang 等 [189] 提出一种新的生成对抗网络类(PI--GANs),用于统一处理前向、逆向及混合随机问题。与典型 GAN 仅依赖数据训练不同,PI--GAN 通过自动微分将物理规律以随机微分方程(SDEs)形式嵌入 PINN 架构中。PI--GAN 的判别器由基本 FFNN 表示,而生成器由 FFNN 与由 SDE 诱导的 NN 组合而成。
多重 PINN
另一种方法是组合多个 PINN,每个 PINN 可采用不同的神经网络。
- Jagtap 等 [71] 提出在离散域上使用保守 PINN(cPINN),通过子域内解的拼接重建完整解,并使用接口条件。该方法便于网络并行化,提高计算效率。作者还提出 Mortar PINN,用于连接非重叠子域,每个子域可使用不同架构的 NN 解决同一 PDE。
- Stiller 等 [167] 提出 GatedPINN 架构,通过引入条件计算。架构由门控网络(gating network)与一组 PINN("专家")组成,每个专家解决每个时空点问题,结果通过门控网络整合,门控网络决定使用哪个专家及如何组合。
在本文后续部分,将以其中一个专家网络为示例进行说明。
物理规律注入
要使用 PINN 求解 PDE,需要计算网络输出对输入的导数。由于 uuu 被平滑激活函数的 NN uˆθuˆ θuˆθ 逼近,它可以被微分。计算导数的方法有四种:手工编码、符号法、数值法和自动微分(AD)。
- 手工微分正确但不自动化,不实用 [175];
- 符号法和数值法(如有限差分)在复杂函数上效果不佳;
- 自动微分(AD)克服了数值微分的浮点误差和符号法的内存问题,使用浮点数的精确表达,无近似误差 [175]。
AD(也称算法微分)通过构建数学表达式的计算图,以正向或反向模式计算数值导数。AD 是文献中主要使用的方法,几乎所有 PINN 实现都采用 AD,唯 Fang [44] 使用局部拟合方法逼近微分算子验证收敛性。
AD 将 PDE 融入 NN 的损失函数 Eq. (2):
rF[uˆθ](https://chatgpt.com/c/z)=rθ(z):=F(uˆθ(z);γ)−f, r_F[uˆ θ](https://chatgpt.com/c/z) = r_θ(z) := F(uˆ θ(z); \gamma) - f, rF[uˆθ](https://chatgpt.com/c/z)=rθ(z):=F(uˆθ(z);γ)−f,
边界条件(BC)或初始条件(IC)残差为:
rB[uˆθ](https://chatgpt.com/c/z):=B(uˆθ(z))−g(z). r_B[uˆ θ](https://chatgpt.com/c/z) := B(uˆ θ(z)) - g(z). rB[uˆθ](https://chatgpt.com/c/z):=B(uˆθ(z))−g(z).
利用这些残差,可评估逼近 uθuθuθ 对 Eq. (1) 的满足程度。对于精确解 uuu,残差为 rF[u]=rB[u]=0r_F[u] = r_B[u] = 0rF[u]=rB[u]=0 [38]。
Raissi 和 Karniadakis [140]、Raissi 等 [146] 中,微分方程残差原始形式为:
rF[uˆθ](https://chatgpt.com/c/z)=rθ(x,t)=∂∂tuˆθ(x,t)+Fxuˆθ(x,t). r_F[uˆθ](https://chatgpt.com/c/z) = r_θ(x,t) = \frac{\partial}{\partial t} uˆθ(x,t) + F_x uˆθ(x,t). rF[uˆθ](https://chatgpt.com/c/z)=rθ(x,t)=∂t∂uˆθ(x,t)+Fxuˆθ(x,t).
在深度学习框架中,施加物理约束通过对输入时空坐标使用链式法则对 NN 求导实现 [106]。AD 的重复微分和网络组合生成 PDE 各项,得到更大的计算图,累积计算图可近似 PDE [106]。
对于多层网络,链式法则分层计算导数。特殊情况下,链式法则不适用,如 Pang 等 [128] 将分数阶微分算子离散化后纳入 PINN 损失函数。
基于学习的方法进行模型估计
PINN 通过最小化损失函数确定 NN 参数 θ\thetaθ:
θ=argminθL(θ), \theta = \arg \min_\theta L(\theta), θ=argθminL(θ),
其中
L(θ)=ωFLF(θ)+ωBLB(θ)+ωdLdata(θ).(6) L(\theta) = \omega_F L_F(\theta) + \omega_B L_B(\theta) + \omega_d L_\text{data}(\theta). \quad (6) L(θ)=ωFLF(θ)+ωBLB(θ)+ωdLdata(θ).(6)
- LFL_FLF:PDE 残差损失;
- LBL_BLB:初始/边界条件损失;
- LdataL_\text{data}Ldata:已知数据点误差;
- ωF,ωB,ωd\omega_F, \omega_B, \omega_dωF,ωB,ωd 为权重。
PDE 残差损失可表示为积分形式:
LF(θ)=∫Ωˉ(F(uˆθ(z))−f(zi))2dz. L_F(\theta) = \int_{\bar{\Omega}} \big(F(uˆ θ(z)) - f(z_i)\big)^2 dz. LF(θ)=∫Ωˉ(F(uˆθ(z))−f(zi))2dz.
PINN 作为监督方法时,参数通过最小化观测输出与模型预测差异选择;否则,仅考虑 PDE 残差。
- LFL_FLF 在域内选定离散点施加 PDE 约束:
LF(θ)=MSEF=1Nc∑i=1Nc∣F(uˆθ(zi))−f(zi)∣2=1Nc∑i=1Nc∣rθ(ui)−ri∣2. L_F(\theta) = \text{MSE}F = \frac{1}{N_c} \sum{i=1}^{N_c} | F(uˆ θ(z_i)) - f(z_i) |^2 = \frac{1}{N_c} \sum_{i=1}^{N_c} | r_θ(u_i) - r_i |^2. LF(θ)=MSEF=Nc1i=1∑Nc∣F(uˆθ(zi))−f(zi)∣2=Nc1i=1∑Nc∣rθ(ui)−ri∣2. - 边界/初始条件损失:LB(θ)=MSEB=1NB∑i=1NB∣B(uˆθ(zi))−g(zi)∣2. L_B(\theta) = \text{MSE}B = \frac{1}{N_B} \sum{i=1}^{N_B} | B(uˆ θ(z_i)) - g(z_i) |^2. LB(θ)=MSEB=NB1i=1∑NB∣B(uˆθ(zi))−g(zi)∣2.
- 数据点误差:
Ldata(θ)=MSEdata=1Nd∑i=1Nd∣uˆθ(zi)−ui∗∣2. L_\text{data}(\theta) = \text{MSE}\text{data} = \frac{1}{N_d} \sum{i=1}^{N_d} | uˆ θ(z_i) - u_i^* |^2. Ldata(θ)=MSEdata=Nd1i=1∑Nd∣uˆθ(zi)−ui∗∣2.
在前向问题中,数据损失可能对应边界和初始条件;在逆向问题中,对应域内各点的解 [82]。
Raissi 和 Karniadakis [140]、Raissi 等 [146] 的原始总损失为:
L(θ)=1Nc∑i=1Nc∣∂∂tuˆθ(x,t)+Fxuˆθ(x,t)−ri∣2+1Nd∑i=1Nd∣uˆθ(xi,ti)−ui∗∣2. L(\theta) = \frac{1}{N_c} \sum_{i=1}^{N_c} | \frac{\partial}{\partial t} uˆθ(x,t) + F_x uˆθ(x,t) - r_i |^2 + \frac{1}{N_d} \sum_{i=1}^{N_d} | uˆ θ(x_i,t_i) - u_i^* |^2. L(θ)=Nc1i=1∑Nc∣∂t∂uˆθ(x,t)+Fxuˆθ(x,t)−ri∣2+Nd1i=1∑Nd∣uˆθ(xi,ti)−ui∗∣2.
PDE 梯度通过自动微分计算,使预测结果继承 PDE 所施加的物理属性 [191]。物理约束被纳入损失函数以指导训练,即使训练数据稀少,也能准确反映系统潜在非线性 [197]。
关于损失函数的观察
PDE 残差损失 LF(θ)L_F(\theta)LF(θ) 是通过自动微分(AD)计算 uˆθ(z)uˆ θ(z)uˆθ(z) 的导数来获得的 [60]。大多数机器学习库(如 TensorFlow 和 PyTorch)都提供 AD,通常用于计算相对于 DNN 权重(即 θ\thetaθ)的导数。AD 允许 PINN 方法在不进行 PDE 数值离散求解的情况下,实现任何 PDE 和边界条件要求 [60]。
此外,通过在罚项 LF(θ)L_F(\theta)LF(θ) 中施加 PDE 约束,可以使用相关权重 ωF\omega_FωF 来反映 PDE 模型的可信度。例如,对低保真 PDE 模型可以赋予较低权重。一般来说,θ\thetaθ 中的未知参数数量远大于观测数据点,因此 DNN 训练需要正则化 [60]。若从优化过程中去掉方程损失(即设置 ωF=0\omega_F = 0ωF=0),神经网络可在不了解基本控制方程的情况下进行训练。相反,为所有动力变量提供初始条件和边界条件,则等价于常规神经网络直接求解方程 [106]。
虽然理想情况下应在整个域上施加物理约束,但训练过程中估计和降低损失函数 (6) 的计算成本随残差点数量增加而增加 [60]。除了残差点数量,残差点的位置(分布)也是 PINN 的关键参数,因为它们会改变损失函数的设计 [103]。深度神经网络可通过提高网络表达能力来减少近似误差,但可能产生较大的泛化误差。其他超参数(如学习率、迭代次数等)可进一步调节和改善此问题。逐层增加 NN 的参数可改变每个隐藏层的激活函数斜率,提高训练速度;通过斜率恢复项,这些激活斜率也可对损失函数产生贡献 [71]。
软约束与硬约束
边界条件(BC)约束可视为罚项(软 BC) [200],也可编码到网络设计中(硬 BC) [168]。
- 许多 PINN 框架采用软约束,通过在边界碰撞点上创建额外损失组件约束 BC。缺点有两点:
- 无法保证准确满足 BC;
- BC 损失权重会影响学习效率,且目前没有理论指导权重确定。
- Zhu 等 [199] 使用硬约束处理 Dirichlet BC,通过 NN 的特定部分严格满足 Dirichlet BC,将初始边界条件视为标记数据约束的一部分。
与文献中典型的基于残差的损失函数相比,基于变分能量的损失函数更易最小化,因此性能更好 [52]。损失函数可基于碰撞点、Galerkin 法的加权残差 [76] 或能量法构建。Li 等 [94] 对不同损失函数方法进行了对比,包括仅数据驱动(无物理模型)、PDE 基损失和能量基损失,发现 PDE 基和能量基各有优缺点。PDE 基损失函数超参数较多;能量基策略对训练样本的数量和分辨率更敏感,但计算效率更高。
优化方法
损失函数的最小化过程称为训练。在大多数 PINN 文献中,损失函数通过小批量采样使用 Adam 或 L-BFGS(拟牛顿算法)优化。当监测噪声数据时,Mathews 等 [106] 发现增加样本量并仅使用 L-BFGS 可获得最优学习效果。
对于中等规模 NN(如 4 个隐藏层,每层 20 个神经元,总参数量超过 1000),损失函数存在多个局部极小值,梯度优化器可能陷入其中;找到全局极小值是 NP-hard 问题 [128]。
- Adam 方法结合自适应学习率和动量,用于提高收敛速度,尤其在 3D 随机碰撞点情况下,SGD 难以处理 [199]。
- Yang 等 [189] 使用带梯度惩罚的 Wasserstein GAN(WGAN--GP),证明其比普通 GAN 更稳定,尤其适合带确定性边界条件的随机过程逼近。
- cPINN [71] 可根据各子域解的规律性灵活选择超参数(优化方法、激活函数、网络深度或宽度),例如在平滑区域使用浅网络,在复杂区域使用深网络。
- He 等 [60] 提出两步训练方法:先用 Adam 最小化损失,再用 L-BFGS-B 优化;对于训练数据和残差点较少的情况,L-BFGS-B 收敛更快、计算成本更低。
实际优化示例:DeepONet 训练中使用无量纲和归一化数据以提高稳定性 [96];DeepM&Mnets [21] 将支配方程以无量纲形式表示,包括 Stokes 方程、电势和离子传输方程。初始化也会影响收敛速度:不良初始化导致收敛慢,良好初始化收敛快。Pang 等 [128] 提出选择合适初始化的方法:先用少量迭代求解逆问题,得到低精度初解,再将低保真问题优化参数作为良好初始化。
PINN 的学习理论
该小节总结了 PINN 最新理论研究,旨在理解其工作原理及潜在局限。研究仍处于初期阶段。传统数值分析中,用近似方案 uˆθ(z)uˆ θ(z)uˆθ(z) 逼近真实解 u(z)u(z)u(z),关键理论问题是估计全局误差
E=uˆθ(z)−u(z). E = uˆ θ(z) - u(z). E=uˆθ(z)−u(z).
理想情况下,需找到参数 θ\thetaθ 使 E=0E = 0E=0。在数值离散求解 PDE 时,关注方法的稳定性、一致性和收敛性 [8,150,171]。Lax--Richtmyer 等价定理表明,一致性与稳定性可保证收敛。PINN 中的收敛与稳定性则取决于 NN 从物理规律和数据中学习的能力。
2.4.1 收敛性
数学基础目标是研究计算解 uˆθ(z)uˆ θ(z)uˆθ(z) 收敛到问题 (1) 的解 u(z)u(z)u(z) 的情况。设 NN 参数向量为 θ\thetaθ,参数数量为 θ\thetaθ,构造假设类
Hn=uθ:θ=n, H_n = { u_\theta : \theta = n }, Hn=uθ:θ=n,
表示具有 nnn 个参数的所有 NN。PINN 学习能力取决于 nnn 的大小,即 HnH_nHn 的表达能力。理论问题是研究计算预测序列 uˆθuˆθuˆθ 是否收敛于 PDE 的解:
uˆθ(n)→u,n→∞. uˆθ(n) \to u, \quad n \to \infty. uˆθ(n)→u,n→∞.
De Ryck 等 [37] 证明,当 NN 宽度趋于无穷且激活函数为 tanh\tanhtanh 时,uˆθ(n)−u→0uˆθ(n) - u \to 0uˆθ(n)−u→0。实际中,需选择网络类 HnH_nHn 和损失函数,并用 NNN 个训练数据优化以找到 uθ∗∈Hnu_θ^* \in H_nuθ∗∈Hn。即使 HnH_nHn 包含 PDE 精确解且找到全局最小值,也不能保证最小值与解完全一致 [157]。初期研究表明,对于线性二阶椭圆型和抛物型 PDE,最小化序列 uˆθ∗uˆ θ^*uˆθ∗ 强收敛到 PDE 解。
2.4.2 统计学习误差分析
PINN 的整个学习过程可视为统计学习问题,涉及误差分析的数学基础 [88]。误差分析需考虑:优化误差、泛化误差和近似误差,其中近似误差依赖网络架构。设 NNN 个碰撞点 ziz_izi,NN 近似为 uˆθuˆθuˆθ,真实值为 hih_ihi。经验风险定义为
R^[uθ]:=1N∑i=1N∣uˆθ(zi)−hi∣2,(7) \hat{R}[u_\theta] := \frac{1}{N} \sum_{i=1}^{N} | uˆθ(z_i) - h_i |^2, \quad (7) R^[uθ]:=N1i=1∑N∣uˆθ(zi)−hi∣2,(7)
表示 NN 对问题真实值的预测能力。连续视角下,使用近似器 uˆθuˆθuˆθ 的风险为
R[uˆθ]:=∫Ωˉ(uˆθ(z)−u(z))2dz,(8) R[uˆθ] := \int_{\bar{\Omega}} (uˆθ(z) - u(z))^2 dz, \quad (8) R[uˆθ]:=∫Ωˉ(uˆθ(z)−u(z))2dz,(8)
最终 PINN 输出为 uˆθ∗uˆθ^*uˆθ∗,误差分析目标是估计
R[uˆθ∗]. R[uˆθ^*]. R[uˆθ∗].
训练使用基于梯度的优化最小化非凸损失函数,可能无法找到全局最小值。优化误差定义为
EO:=R^[uˆθ∗]−minθi∈FR^[uθ]. E_O := \hat{R}[uˆθ^*] - \min_{\theta_i \in \mathcal{F}} \hat{R}[u_\theta]. EO:=R^[uˆθ∗]−θi∈FminR^[uθ].
许多 PINN 使用 Adam 和 L-BFGS 优化。经验表明梯度优化方法在各种任务中表现良好,但未必找到全局最小值 [157]。泛化误差衡量在未见数据上的预测准确性:
EG:=supθ∈Θ∣R[uθ]−R^[uθ]∣. E_G := \sup_{\theta \in \Theta} | R[u_\theta] - \hat{R}[u_\theta] |. EG:=θ∈Θsup∣R[uθ]−R^[uθ]∣.
近似误差衡量 NN 逼近精确解能力:
EA:=minθi∈FR[uθ]. E_A := \min_{\theta_i \in \mathcal{F}} R[u_\theta]. EA:=θi∈FminR[uθ].
一层宽度较大的 NN 可以均匀逼近函数及其偏导数 [133]。最终,全局误差可由各类误差上界表示 [88]:
R[uˆθ∗]≤EO+2EG+EA.(9) R[uˆθ^*] \le E_O + 2E_G + E_A. \quad (9) R[uˆθ∗]≤EO+2EG+EA.(9)
这些分析为近期 PINN 和 DNN 的研究提供了理论基础 [88]。
2.4.3 PINN 的误差分析结果
关于近似误差,由于其依赖于 NN 架构,相关数学基础结果通常在专门讨论此主题的论文中深入探讨 [24,43]。然而,第一个严格与 PINN 相关的论证见于 Shin 等 [158]。关于近似误差 EAE_AEA 的主要理论结果之一见于 De Ryck 等 [37]。他们证明,对于一个具有 tanh\tanhtanh 激活函数且仅有两层隐藏层的神经网络 uˆθuˆθuˆθ,可以在 Sobolev 空间中对函数 uuu 进行近似,满足边界约束:
∣uˆθN−u∣Wk,∞≤Cln(cN)kNs−k, | uˆθ_N - u |_{W^{k,\infty}} \le C \ln(cN)^k N^{s-k}, ∣uˆθN−u∣Wk,∞≤Cln(cN)kNs−k,
其中 NNN 是训练点数量,c,C>0c, C > 0c,C>0 为与 NNN 无关的已知常数,u∈Ws,∞([0,1]d)u \in W^{s,\infty}([0,1]^d)u∈Ws,∞([0,1]d)。注意,NN 的宽度为 NdN dNd,θ\thetaθ 同时依赖于训练点数量 NNN 和问题维度 ddd。
针对 PINN 的泛化误差,已有一些特定 PDE 类型的正式结果。Shin 等 [157] 给出了线性二阶椭圆型和抛物型 PDE 的收敛性估计;Shin 等 [158] 将结果扩展到所有线性问题,包括双曲型方程。Mishra 和 Molinaro [113] 提出 PINN 在 PDE 前向问题的抽象框架,通过训练误差(经验风险)和训练点数量来估计泛化误差,这一框架也适用于逆问题 [111]。
De Ryck 等 [38] 特别研究了 Navier--Stokes 方程,证明较小的训练误差意味着较小的泛化误差:
R[uˆθ]=∣u−uˆθ∣L2≤(CR^[uθ]+O(N−1/d))1/2. R[uˆθ] = | u - uˆθ |_{L^2} \le \left( C \hat{R}[uθ] + O(N^{-1/d}) \right)^{1/2}. R[uˆθ]=∣u−uˆθ∣L2≤(CR^[uθ]+O(N−1/d))1/2.
该估计受制于维数灾难(CoD):即要将误差降低一个固定因子,训练点数量和 NN 尺寸需要指数级增长。
最近工作 [18] 对不可压缩 Navier--Stokes 方程提出了显式误差估计和稳定性分析。De Ryck 和 Mishra [36] 证明,对于 Kolmogorov 型 PDE(如热方程或 Black--Scholes 方程),几乎总是有:
R[uˆθ]≤(CR^[uθ]+O(N−1/2))1/2, R[uˆθ] \le \left( C \hat{R}[uθ] + O(N^{-1/2}) \right)^{1/2}, R[uˆθ]≤(CR^[uθ]+O(N−1/2))1/2,
且不依赖问题维度 ddd。Mishra 和 Molinaro [112] 研究了辐射传输方程,该方程具有高维性(辐射强度为 7 个变量的函数,而常见物理问题通常为 3 维)。他们证明泛化误差同样可由训练误差和训练点数量界定,其维度依赖为对数因子:
R[uˆθ]≤(CR^[uθ]2+c(lnN)2dN)1/2. R[uˆθ] \le \left( C \hat{R}[uθ]^2 + c \frac{(\ln N)^{2d}}{N} \right)^{1/2}. R[uˆθ]≤(CR^[uθ]2+cN(lnN)2d)1/2.
因此,PINN 在此问题上不受维数灾难影响,训练误差只依赖训练点数量,而不依赖问题维度。
3 PINN 处理的微分问题
第一个原始 PINN [146] 被用于求解复杂非线性 PDE,形式为
ut+Fxu=0, u_t + F_x u = 0, ut+Fxu=0,
其中 xxx 是空间坐标向量,ttt 是时间坐标向量,FxF_xFx 是关于空间坐标的非线性微分算子。最初证明 PINN 架构能够处理正向和逆向问题。随后,PINN 被应用于求解多种 ODE、PDE、分数 PDE(Fractional PDE)、积分微分方程(IDEs)以及随机微分方程(SDEs)。本节按方程形式分类,概述文献中用 PINN 求解这些方程的主要研究工作。
- 首先介绍 PINN 求解的 ODE;
- 然后介绍稳态 PDE,如椭圆型方程、稳态扩散方程和 Eikonal 方程;
- 接着是 Navier--Stokes 方程及更动态问题,如热传输、对流扩散反应系统、双曲型方程、Euler 方程和量子谐振子;
- 最后介绍不确定性问题,如随机方程。
3.1 常微分方程
ODE 可用于模拟仅靠物理模型难以描述的复杂非线性系统 [91]。典型 ODE 系统表示为
du(x,t)dt=f(u(x,t),t), \frac{du(x,t)}{dt} = f(u(x,t), t), dtdu(x,t)=f(u(x,t),t),
初始条件可设为 B(u(t))=g(t)B(u(t)) = g(t)B(u(t))=g(t),形成初值问题(IVP)或边值问题(BVP) B(u(x))=g(x)B(u(x)) = g(x)B(u(x))=g(x)。
Lai 等 [91] 使用 PINN 进行结构识别,引入神经常微分方程(Neural ODEs)。Neural ODE 可视作 ResNet 的连续表示,通过 NN 参数化 ODE 形式的动力系统初值问题:
du(t)dt=fθ(u(t),t),u(t0)=u0, \frac{du(t)}{dt} = f_\theta(u(t), t), \quad u(t_0) = u_0, dtdu(t)=fθ(u(t),t),u(t0)=u0,
其中 fff 由参数向量 θ\thetaθ 的 NN 表示。该方法将 Neural ODE 分为两部分:物理信息项和未知偏差项。框架在 4 自由度立方非线性弹簧-质量系统上进行测试,包含噪声测量数据,还使用实验数据学习带负刚度装置的结构动力学 [91]。
Zhang 等 [197] 使用深度 LSTM 网络结合 PINN 求解地震激励下的非线性结构系统,如钢框架和单自由度 Bouc--Wen 模型(带速率相关滞回的非线性系统):
u¨+g=−ag, \ddot{u} + g = -a g, u¨+g=−ag,
其中 g(t)=M−1h(t)g(t) = M^{-1} h(t)g(t)=M−1h(t) 为质量归一化恢复力,MMM 为质量矩阵,hhh 为总非线性恢复力及力分布向量。
有向图模型可直接实现 ODE 作为深度神经网络 [174],并结合 Euler RNN 进行数值积分。Nascimento 等 [121] 给出 Python 教程,用 RNN 实现 ODE 积分。Tong 等 [172] 利用 ODE-net 创建辛泰勒神经网络,由两个子网络组成,使用辛积分器替代 Runge--Kutta(原 ODE-net 基于残差块和 Euler 方法计算)。论文中还测试了 Hamilton 系统,如 Lotka--Volterra 系统、Kepler 系统和 Hénon--Heiles 系统。
3.2 偏微分方程
偏微分方程(PDE)是用数学方法描述物理现象的大部分模型的基石。这类模型已被深入研究,并通常通过各种数值方法求解。文献中对这些方法的稳定性和收敛性进行了充分探讨,为近似求解微分问题提供了坚实的理论基础。本节将探讨 PINN 在不同类型 PDE 模型上的应用。
3.2.1 稳态 PDE
在 Kharazmi 等 [76,78] 中,稳态问题被表示为:
Fs(u(x);q)=f(x),x∈Ω,B(u(x))=0,x∈∂Ω F_s(u(x); q) = f(x), \quad x \in \Omega, \quad B(u(x)) = 0, \quad x \in \partial \Omega Fs(u(x);q)=f(x),x∈Ω,B(u(x))=0,x∈∂Ω
定义在 Ω⊂Rd\Omega \subset \mathbb{R}^dΩ⊂Rd 的区域上,维度为 ddd,边界为 ∂Ω\partial \Omega∂Ω。FsF_sFs 通常包含带参数 qqq 的微分算子或积分-微分算子,f(x)f(x)f(x) 表示某些外部作用项。特别地,椭圆型方程可表示为:
Fs(u(x);σ,μ)=−div(μ∇u)+σu F_s(u(x); \sigma, \mu) = -\text{div}(\mu \nabla u) + \sigma u Fs(u(x);σ,μ)=−div(μ∇u)+σu
Tartakovsky 等 [170] 考虑了线性扩散方程:
Fs(u(x);σ)=∇⋅(K(x)∇u(x))=0 F_s(u(x); \sigma) = \nabla \cdot (K(x) \nabla u(x)) = 0 Fs(u(x);σ)=∇⋅(K(x)∇u(x))=0
以及非线性扩散方程:
Fs(u(x);σ)=∇⋅[K(u)∇u(x)]=0 F_s(u(x); \sigma) = \nabla \cdot [K(u) \nabla u(x)] = 0 Fs(u(x);σ)=∇⋅[K(u)∇u(x)]=0
其中 KKK 是未知的扩散系数。该方程描述了均质多孔介质中的非饱和流,其中 uuu 是水压,K(u)K(u)K(u) 是多孔介质的导流率。由于 K(u)K(u)K(u) 难以直接测量,Tartakovsky 等 [170] 假设仅有有限数量的 uuu 测量值。结果显示,PINN 方法优于最先进的最大后验概率方法,并且仅利用毛细压力数据即可估计非饱和流的压导关系。
Kharazmi 等 [76] 提出的变分物理信息神经网络(VPINN)是最早的基于 PINN 的新方法之一,其优势在于通过分部积分降低微分算子的阶数。作者使用 VPINN 求解稳态 Burgers 方程和二维 Poisson 方程,也用于求解 Schrödinger Hamiltonians,即椭圆型反应扩散算子 [54]。
Haghighat 等 [56] 使用 PINN 框架的非局域方法求解二维准静态线弹性与弹塑性力学问题。他们定义了弹塑性损失函数,前馈神经网络输入为位移,输出为应变张量和应力张量分量。局部化变形和解的强梯度使边值问题难以求解,作者采用 Peridynamic Differential Operator (PDDO) 与 PINN 结合,证明该框架可以通过全局函数捕捉应力和应变集中。
Dwivedi 和 Srinivasan [41] 使用 PIELM(PINN 与极限学习机 ELM 结合)处理 Berg 和 Nyström [16] 提出的 1D-2D 线性平流/扩散稳态问题。PIELM 仅考虑线性微分算子。
Ramabathiran 和 Ramachandran [148] 研究线性椭圆 PDE,如规则与不规则区域的 Poisson 方程解,并提出部分可解释的稀疏神经网络架构(SPINN),通过重新解释 PDE 解的无网格表示实现。Laplace--Beltrami 方程在复杂几何或高维表面上求解,讨论样本大小、PINN 结构与精度的关系 [46]。
PINN 也被用于求解 Eikonal 方程(双曲型问题):
∣∇u(x)∣2=1v2(x),∀x∈Ω |\nabla u(x)|^2 = \frac{1}{v^2(x)}, \quad \forall x \in \Omega ∣∇u(x)∣2=v2(x)1,∀x∈Ω
其中 vvv 为速度,uuu 为未知激活时间。Eikonal 方程描述波传播,例如地震波行程时间 [162,175] 或心脏激活电波 [53,151]。通过 EikoNet 求解 3D Eikonal 方程,Smith 等 [162] 在异质 3D 结构中得到行程时间场,但该模型仅适用于单一固定速度,速度改变需要重新训练网络。EikoNet 可预测从源点到接收点所需时间,应用广泛,如地震检测。PINN 在准确性测试中优于一阶快速扫描解法 [175],尤其在各向异性模型中。另一方法使用合成与患者数据学习心肌纤维方向,通过各向异性 Eikonal 方程建模 [53],损失函数中加入导电向量的全变差正则化。忽略各向异性时,Sahli Costabal 等 [151] 使用随机先验函数结合 PINN 进行数据不确定性量化,并创建自适应采样策略生成激活图。
Chen 等 [30] 研究弱非均匀二维介质下横向磁极化激励的 Helmholtz 方程:
∇2Ez(x,y)+εr(x,y)k02Ez=0 \nabla^2 E_z(x,y) + \varepsilon_r(x,y) k_0^2 E_z = 0 ∇2Ez(x,y)+εr(x,y)k02Ez=0
而 Fang 和 Zhan [45] 求解高频 Helmholtz 方程(频域 Maxwell 方程)。
3.2.2 非稳态 PDE
非稳态 PDE 通常描述物理现象随时间的演化。PINN 在此类问题上同样表现出可靠性,提供灵活的求解方法。
3.2.2.1 对流--扩散--反应问题
Raissi 等 [146] 最初将非稳态问题表示为:
ut=Fx(u(x)),x∈Ω,B(u(x))=0,x∈∂Ω u_t = F_x(u(x)), \quad x \in \Omega, \quad B(u(x)) = 0, \quad x \in \partial \Omega ut=Fx(u(x)),x∈Ω,B(u(x))=0,x∈∂Ω
其中 FxF_xFx 通常包含关于变量 xxx 的微分算子。通用对流--扩散--反应方程可写为:
Fx(u(x);b,μ,σ)=−div(μ∇u)+b∇u+σu F_x(u(x); b, \mu, \sigma) = -\text{div}(\mu \nabla u) + b \nabla u + \sigma u Fx(u(x);b,μ,σ)=−div(μ∇u)+b∇u+σu
其中 −div(μ∇u)-\text{div}(\mu \nabla u)−div(μ∇u) 为扩散项,b∇ub \nabla ub∇u 为对流(输运)项,σu\sigma uσu 为反应项。
扩散问题
对于复合材料,Amini Niaki 等 [6] 研究热传导方程:
∂T∂t=a∂2T∂x2+bdαdt \frac{\partial T}{\partial t} = a \frac{\partial^2 T}{\partial x^2} + b \frac{d \alpha}{dt} ∂t∂T=a∂x2∂2T+bdtdα
其中 a,ba,ba,b 为参数,α∈(0,1)\alpha \in (0,1)α∈(0,1) 表示固化度,其导数描述内部热生成。作者提出由两个不相连子网络组成的 PINN,并采用顺序训练算法自动调整损失函数权重,从而提高预测精度。根据物理观察,温度网络最后一层使用 Softplus 激活函数(平滑 ReLU),固化度网络最后一层使用 Sigmoid 激活函数,隐藏层使用双曲正切函数(平滑且导数非零)。实验表明,PINN 可准确预测复合材料中心的最高温度(放热)。
Cai 等 [22] 研究更复杂的自由边界问题------Stefan 问题,包括直接 Stefan 问题(确定相变区域温度分布)和逆 Stefan 问题(自由边界条件)。他们使用 PINN 表示未知界面(DNN)和两个相态输出的 FCNN,生成三个残差:两相 uθ(1),uθ(2)u^{(1)}\theta, u^{(2)}\thetauθ(1),uθ(2) 和界面 sβs_\betasβ。参数 θ\thetaθ 和 β\betaβ 通过均方误差最小化:
LF(θ)=Lr(1)(θ)+Lr(2)(θ),Lr(k)(θ)=1Nc∑i=1Nc∣∂uθ(k)∂t(xi,ti)−ωk∂2uθ(k)∂x2(xi,ti)∣2,k=1,2 L_F(\theta) = L_r^{(1)}(\theta) + L_r^{(2)}(\theta), \quad L_r^{(k)}(\theta) = \frac{1}{N_c} \sum_{i=1}^{N_c} \left| \frac{\partial u_\theta^{(k)}}{\partial t}(x_i, t_i) - \omega_k \frac{\partial^2 u_\theta^{(k)}}{\partial x^2}(x_i, t_i) \right|^2, \quad k=1,2 LF(θ)=Lr(1)(θ)+Lr(2)(θ),Lr(k)(θ)=Nc1i=1∑Nc ∂t∂uθ(k)(xi,ti)−ωk∂x2∂2uθ(k)(xi,ti) 2,k=1,2
随机选取的网格点为 (xi,ti)i=1Nc{(x_i, t_i)}_{i=1}^{N_c}(xi,ti)i=1Nc,ω1,ω2\omega_1, \omega_2ω1,ω2 为训练参数。边界与初始条件损失为:
LB(θ)=Lsb1c(θ,β)+Lsb2c(θ,β)+LsNc(θ,β)+Ls0(β) L_B(\theta) = L_{sb1c}(\theta, \beta) + L_{sb2c}(\theta, \beta) + L_{sN_c}(\theta, \beta) + L_{s0}(\beta) LB(θ)=Lsb1c(θ,β)+Lsb2c(θ,β)+LsNc(θ,β)+Ls0(β)
数据误差为:
Ldata(θ)=1Nd∑i=1Nd∣uθ(xidata,tidata)−ui∗∣2 L_\text{data}(\theta) = \frac{1}{N_d} \sum_{i=1}^{N_d} | u_\theta(x_i^\text{data}, t_i^\text{data}) - u^*_i |^2 Ldata(θ)=Nd1i=1∑Nd∣uθ(xidata,tidata)−ui∗∣2
Cai 等 [22] 发现基本 PINN 模型在逆问题中难以正确识别未知热扩散系数,原因是训练过程中存在局部最小值。因此他们采用动态权重技术 [179],显著降低相对预测误差,证明损失函数中权重选择对 PINN 性能至关重要。
Wang 和 Perdikaris [178] 总结,PINN 在近似复杂函数(如 Stefan 问题)上表现灵活,尽管缺乏充分的理论分析(如近似误差或数值稳定性)。
对流问题
在 He 和 Tartakovsky [59] 中,研究了多个对流-弥散方程,例如:
ut+∇⋅(−κ∇u+vu)=s u_t + \nabla \cdot (-\kappa \nabla u + v u) = s ut+∇⋅(−κ∇u+vu)=s
其中 κ\kappaκ 为弥散系数。作者发现,PINN 方法在精度上表现良好,其结果优于典型基于离散化方法的结果。此外,Dwivedi 和 Srinivasan [41] 以及 He 和 Tartakovsky [59] 都求解了相同的二维对流-弥散方程:
ut+∇⋅(−κ∇u+au)=0 u_t + \nabla \cdot (-\kappa \nabla u + a u) = 0 ut+∇⋅(−κ∇u+au)=0
在比较中,PINN 技术 [59] 的表现优于 ELM 方法 [41],主要原因可能是 He 和 Tartakovsky [59] 对边界和初始条件赋予了更大的权重,从而降低了边界处的误差。
此外,在 Dwivedi 和 Srinivasan [41] 中,展示了 PINN 和 PIELM 在求解具有陡梯度解的线性对流方程时的失败案例。He 等 [60] 提出了多物理信息神经网络(MPINN)用于地下流动问题,同时研究了神经网络规模对参数和状态估计精度的影响。Schiassi 等 [153] 对比了 Deep--TFC 和 X--TFC 方法,结果显示,当问题变得足够刚性时,前者在精度上更优。示例主要基于一维时变 Burgers 方程和 Navier--Stokes (NS) 方程。在二维 Burgers 方程示例中,Jagtap 等 [71] 证明,通过预先对冲击位置的近似知识,可以适当划分区域以捕捉解中的陡降,这通过 cPINN 的域分解灵活性实现。Arnold 和 King [9] 在模型预测控制(MPC)背景下研究了 Burgers 方程。Meng 等 [109] 研究了二维扩散-反应方程的长期积分问题,并使用并行时间 PINN(PPINN)将时间区间划分为等长子域,PPINN 由快速粗粒度(CG)求解器和 PINN 精细求解器组成。
3.2.2.2 流动问题
非稳态微分问题中特殊的案例是与流体运动相关的问题。Navier--Stokes 方程在文献中广泛存在,涉及大量问题和学科,说明了为科学界提供可靠求解策略的重要性。虽然已开发了多种数值策略,但特定方法的计算问题以及空间-时间离散域选择的困难可能影响数值解的质量。PINN 提供无网格求解器,能够克服部分传统数值方法的问题,为该领域提供新视角。
Navier--Stokes 方程
一般情况下,Navier--Stokes 方程表示为:
Fx(u(x);ν,p)=−div[ν(∇u+∇uT)]+(u⋅∇)u+∇p−f F_x(u(x); \nu, p) = -\text{div}[\nu(\nabla u + \nabla u^T)] + (u \cdot \nabla) u + \nabla p - f Fx(u(x);ν,p)=−div[ν(∇u+∇uT)]+(u⋅∇)u+∇p−f
其中 uuu 为流体速度,ppp 为压力,ν\nuν 为黏度 [136]。动力学方程与质量守恒方程耦合:
div(u)=0 \text{div}(u) = 0 div(u)=0
Burgers 方程是 Navier--Stokes 方程的特殊情况。Arthurs 和 King [10] 通过快速参数扫描展示了 PINN 如何用于确定管道收缩程度。PINN 使用有限元数据训练,以估计参数域内的压力和速度场,并提出主动学习算法(ALA)结合域/网格生成器和传统 PDE 求解器预测广泛参数空间内的 PDE 解。
PINN 还应用于漂移简化 Braginskii 模型,通过有限电子压力数据学习湍流场 [106]。作者使用全局漂移-膨胀 (GDB) 有限差分算法模拟合成等离子体,解双流体漂移简化 Braginskii 方程,并观察到仅通过二维观测即可推断三维湍流场,用于难以监测的波动或等离子体诊断不可用情况。Xiao 等 [186] 回顾现有湍流数据库并通过系统改变流动条件提出基准数据集。Zhu 等 [199] 在三维金属增材制造 (AM) 过程中预测温度及熔池流体动力学,模型由 Navier--Stokes 方程(动量与质量守恒)及能量守恒方程描述。Dirichlet 边界条件采用"硬"方式,即专门的神经网络部分严格满足,而考虑表面张力的 Neumann 边界条件以传统方式加入损失函数。损失权重根据损失函数各组成部分比例选择 [199]。
Cheng 和 Zhang [31] 使用 Res--PINN(PINN 与 ResNet 块结合)求解流体动力学,以提高神经网络稳定性,并在 Burgers 方程和 Navier--Stokes 方程上验证模型,涉及腔体流和圆柱绕流问题。观察到一个现象:预测压力与实际压力的幅值存在差异,但压力分布基本一致。
Sun 等 [168] 构建物理约束、无数据的全连接神经网络(FC--NN)用于不可压缩流的参数化 Navier--Stokes 求解,DNN 仅通过减少控制方程残差训练,无需 CFD 模拟数据。边界条件通过 DNN 硬编码实现,其中 Neumann 边界条件以软方式纳入损失函数,而初始条件和 Dirichlet 边界条件以硬方式编码。三例流动与心血管应用相关,用于评估方法性能。Navier--Stokes 方程表示为:
F(u,p)=0:={∇⋅u=0,x,t∈Ω,γ∈Rd ∂u∂t+(u⋅∇)u+1ρ∇p−ν∇2u+bf=0,x,t∈Ω,γ∈Rd F(u, p) = 0 := \begin{cases} \nabla \cdot u = 0, & x, t \in \Omega, \gamma \in \mathbb{R}^d \ \frac{\partial u}{\partial t} + (u \cdot \nabla) u + \frac{1}{\rho} \nabla p - \nu \nabla^2 u + b f = 0, & x, t \in \Omega, \gamma \in \mathbb{R}^d \end{cases} F(u,p)=0:={∇⋅u=0,x,t∈Ω,γ∈Rd ∂t∂u+(u⋅∇)u+ρ1∇p−ν∇2u+bf=0,x,t∈Ω,γ∈Rd
初始条件与边界条件为:
I(x,p,u,γ)=0,x∈Ω,t=0,γ∈Rd I(x, p, u, \gamma) = 0, \quad x \in \Omega, t=0, \gamma \in \mathbb{R}^d I(x,p,u,γ)=0,x∈Ω,t=0,γ∈Rd
B(t,x,p,u,γ)=0,x,t∈∂Ω×[0,T],γ∈Rd B(t, x, p, u, \gamma) = 0, \quad x, t \in \partial \Omega \times [0, T], \gamma \in \mathbb{R}^d B(t,x,p,u,γ)=0,x,t∈∂Ω×[0,T],γ∈Rd
其中 III 和 BBB 为确定初始和边界条件的微分算子。
最后,NSFnets [73] 开发了两种 Navier--Stokes 方程表示方法:速度-压力(VP)形式和涡量-速度(VV)形式。
双曲型方程
双曲守恒律被用于简化血流动力学中的 Navier--Stokes 方程 [81]。Abreu 和 Florindo [1] 也研究了双曲偏微分方程:特别地,他们研究了无粘非线性 Burgers 方程以及一维 Buckley--Leverett 双相问题。他们试图处理如下类型的问题:
∂u∂t+∂H(u)∂x=0,x∈R, t>0, u(x,0)=u0(x) \frac{\partial u}{\partial t} + \frac{\partial H(u)}{\partial x} = 0, \quad x \in \mathbb{R},\ t>0,\ u(x,0) = u_0(x) ∂t∂u+∂x∂H(u)=0,x∈R, t>0, u(x,0)=u0(x)
其结果与拉格朗日--欧拉(Lagrangian--Eulerian)方法和 Lax--Friedrichs 格式进行比较。Patel 等 [130] 提出了一种 PINN,用于发现热力学一致的方程,从而保证冲击流体动力学逆问题的双曲性。
Euler 方程是双曲守恒律,可能允许不连续解,例如冲击波和接触波。一维 Euler 系统表示为 [71]:
∂U∂t+∇⋅f(U)=0,x∈Ω⊂R2 \frac{\partial U}{\partial t} + \nabla \cdot f(U) = 0, \quad x \in \Omega \subset \mathbb{R}^2 ∂t∂U+∇⋅f(U)=0,x∈Ω⊂R2
其中
U=[ρ ρu ρE],f=[ρu p+ρu2 pu+ρuE] U = \begin{bmatrix} \rho \ \rho u \ \rho E \end{bmatrix}, \quad f = \begin{bmatrix} \rho u \ p + \rho u^2 \ pu + \rho u E \end{bmatrix} U=[ρ ρu ρE],f=[ρu p+ρu2 pu+ρuE]
ρ\rhoρ 为密度,ppp 为压力,uuu 为速度,EEE 为总能量。这些方程描述多种高速流动,包括跨音速、超音速和高超音速流。Mao 等 [103] 可以精确捕捉一维 Euler 方程的不连续流动解,这对于现有数值技术是一个挑战。Mao 等 [103] 指出,在高梯度区域适当聚类训练数据点可提高该区域的解精度,并减少误差向整个域传播。这提示在高梯度解区域使用独立的局部强大网络,从而形成多个局部 PINN 的集合,每个子域遵循已知先验解知识。
如 Jagtap 等 [71] 所示,cPINN 将域划分为多个小子域,每个子域可使用不同架构的多个神经网络(称为子 PINN 网络)求解同一 PDE。Mao 等 [103] 还解决了一维 Euler 方程和二维斜冲击波问题,他们通过少量随机分布在不连续处的点就能捕捉解。上述工作利用密度梯度和压力 p(x,t)p(x,t)p(x,t) 数据,以及守恒律推断逆问题中的所有状态(密度、速度和压力场),无需任何初始/边界条件。他们受到 Schlieren 实验摄影技术的启发,并强调训练点位置对训练过程的重要性。结合数据与 Euler 方程的特征形式,其结果优于保守形式的结果。
3.2.2.3 量子问题
Raissi [139] 及 Raissi 等 [146] 研究了一维非线性 Schrödinger 方程:
i∂ψ∂t+12∂2ψ∂x2+∣ψ∣2ψ=0 i \frac{\partial \psi}{\partial t} + \frac{1}{2} \frac{\partial^2 \psi}{\partial x^2} + |\psi|^2 \psi = 0 i∂t∂ψ+21∂x2∂2ψ+∣ψ∣2ψ=0
其中 ψ(x,t)\psi(x,t)ψ(x,t) 是复值解。此问题用于展示 PINN 处理复值解的能力,该示例将在 3.4 节展开。Stiller 等 [167] 研究了量子谐振子(QHO):
i∂ψ(x,t)∂t+12Δψ(x,t)−V(x,t)ψ(x,t)=0 i \frac{\partial \psi(x,t)}{\partial t} + \frac{1}{2} \Delta \psi(x,t) - V(x,t) \psi(x,t) = 0 i∂t∂ψ(x,t)+21Δψ(x,t)−V(x,t)ψ(x,t)=0
其中 VVV 为标量势。作者提出门控网络决定使用哪个 MLP,每个 MLP 由线性层和 tanh 激活函数组成,解为 MLP 预测的加权和。PINN 的近似解质量可与利用傅里叶域或 Hermite 多项式求解方程的最先进谱求解器相媲美。
Mo 等 [115] 研究了向量孤子,即耦合非线性 Schrödinger 方程(CNLSE)中的多组分孤立波,并通过预设的多阶段训练算法扩展 PINN。这些结果可推广至类似类型的方程,如含流星波(rogue wave)解的方程,或 Sasa--Satsuma 方程与 Camassa--Holm 方程。
3.3 其他问题
PINN 还被应用于超越经典微分问题的多种问题,例如分数阶 PDE 和不确定性估计。
3.3.1 分数阶微分方程
分数阶 PDE 可用于模拟自然界中的多种现象,其参数需从实验数据中确定。然而,在时空域中,场或实验测量通常稀少且可能受噪声影响 [128]。由于自动微分无法直接应用于分数阶算子,构建分数阶 PINN 更为复杂。一种可行方案是使用 L1 方法计算分数阶导数 [108]。Mehta 等 [108] 的示例解决了一维平均流的湍流问题。Pang 等 [128] 聚焦于识别已知形式但未知系数与算子的分数阶 PDE 参数,由此提出 fPINN。其损失函数采用混合方法:整数阶算子使用自动微分,分数阶算子使用数值离散。他们还分析了分数阶对流-扩散方程(fractional ADE)的收敛性。
Pang 等 [128] 的方法在 Kharazmi 等 [77] 中得到扩展,处理时间依赖的分数阶。Kharazmi 等 [77] 使用单独的神经网络表示每个分数阶,并使用大型神经网络表示状态。
3.3.2 不确定性估计
在数据驱动的 PDE 求解中,不确定性的来源多样。训练数据质量对解的准确性影响显著。为处理含噪声数据的正向和逆向非线性 PDE 问题,Yang 等 [190] 提出贝叶斯 PINN(B-PINN)。在该框架中,贝叶斯神经网络作为先验,后验可通过 Hamiltonian Monte Carlo(HMC)或变分推断(VI)方法估计。B-PINN [190] 利用物理原理和稀疏噪声观测进行预测,并量化噪声数据带来的 aleatoric 不确定性。
Yang 等 [190] 在以下正向问题上测试网络:一维 Poisson 方程、一维多孔介质流动(带边界层)、一维非线性 Poisson 方程以及二维 Allen--Cahn 方程;在逆问题上,处理一维非线性源项扩散-反应系统及二维非线性扩散-反应系统。他们还将 B-PINN 用于高维扩散-反应系统,从一组噪声数据中推断三个污染源位置。
Yang 等 [189] 考虑求解椭圆型随机微分方程(SDE),需对三个随机过程近似:解 u(x;γ)u(x; \gamma)u(x;γ)、强迫项 f(x;γ)f(x; \gamma)f(x;γ) 和扩散系数 k(x;γ)k(x; \gamma)k(x;γ)。特别地,研究时间独立 SDE:
Fx[u(x;γ);k(x;γ)]=f(x;γ),Bx[u(x;γ)]=b(x;γ) F_x[u(x; \gamma); k(x; \gamma)] = f(x; \gamma), \quad B_x[u(x; \gamma)] = b(x; \gamma) Fx[u(x;γ);k(x;γ)]=f(x;γ),Bx[u(x;γ)]=b(x;γ)
其中 k(x;γ)k(x;\gamma)k(x;γ) 和 f(x;γ)f(x;\gamma)f(x;γ) 为独立随机过程,kkk 严格正值。他们还研究了散布传感器测量有限时的情况,展示问题如何从正向逐渐转变为混合问题,最终为逆问题。实现方式为:假设 f(x;γ)f(x;\gamma)f(x;γ) 有足够传感器测量,然后逐渐减少 k(x;γ)k(x;\gamma)k(x;γ) 测量,同时增加 u(x;γ)u(x;\gamma)u(x;γ) 测量,当只有 kkk 测量而无 uuu 测量时为正向问题;当只有 uuu 测量而无 kkk 测量时为逆问题。
类似结果在 [195] 中也被观察到,利用稀疏传感器的随机数据和 PINN 学习解的任意多项式混沌(aPC)展开的模态函数。此外,[196] 提出两种 PINN 解决时变随机偏微分方程(SPDE),基于谱动态正交(DO)和双正交(BO)随机过程表示方法,并在线性随机对流问题、随机 Burgers 方程和非线性反应-扩散方程上进行测试。
为了表征细胞-药物相互作用的形态变化(morphodynamics),Cavanagh 等 [27] 使用核密度估计(KDE)将形态空间嵌入(morphspace embeddings)转换为概率密度函数(PDFs)。然后,他们使用基于 Waddington 型势阱的扩散发展顶-下(top-down)Fokker--Planck 模型,通过 PINN 学习这些势阱,将 PDF 拟合到 Fokker--Planck 方程。该架构为每个实验条件设计了一个神经网络,用于学习 PDF、扩散系数以及势阱。所有参数均通过序列蒙特卡罗近似贝叶斯计算(aBc-SMC)方法拟合:在该方法中,aBc 从先验分布中选择参数并运行模拟;如果模拟结果与数据在一定相似度范围内匹配,则保存该参数。由此形成后验分布,即存储参数的密度 [27]。
3.4 使用 PINN 求解微分问题
本小节讨论一个一维非线性 Schrödinger(NLS)问题的实际例子,如图 3 所示。该非线性问题与 Raissi [139]、Raissi 等 [143] 中提出的问题相同,用于展示 PINN 处理周期边界条件和复值解的能力。初始状态为
ψ(x,0)=2,sech(x) \psi(x,0) = 2,\text{sech}(x) ψ(x,0)=2,sech(x)
假设周期边界条件 Eq. (10),得到初始边值问题,定义域为
−5,5\]×(0,T\],T=π/2 \[-5,5\] \\times (0,T\], \\quad T = \\pi/2 \[−5,5\]×(0,T\],T=π/2 其形式为: {iψt+0.5ψxx+∣ψ∣2ψ=0,(x,t)∈\[−5,5\]×(0,T\] ψ(0,x)=2,sech(x),x∈\[−5,5\] ψ(t,−5)=ψ(t,5),t∈(0,T\] ψx(t,−5)=ψx(t,5),t∈(0,T\] \\begin{cases} i \\psi_t + 0.5 \\psi_{xx} + \|\\psi\|\^2 \\psi = 0, \& (x,t) \\in \[-5,5\]\\times(0,T\] \\ \\psi(0,x) = 2,\\text{sech}(x), \& x \\in \[-5,5\] \\ \\psi(t,-5) = \\psi(t,5), \& t \\in (0,T\] \\ \\psi_x(t,-5) = \\psi_x(t,5), \& t \\in (0,T\] \\end{cases} {iψt+0.5ψxx+∣ψ∣2ψ=0,(x,t)∈\[−5,5\]×(0,T\] ψ(0,x)=2,sech(x),x∈\[−5,5\] ψ(t,−5)=ψ(t,5),t∈(0,T\] ψx(t,−5)=ψx(t,5),t∈(0,T
为了评估 PINN 的精度,Raissi 等 [143] 使用传统谱方法模拟 Schrödinger 方程生成高分辨率数据集,积分至最终时间 T=π/2T = \pi/2T=π/2,采用 MATLAB 开源 Chebfun 软件 [40]。PINN 在子集测量点上训练,包括初始数据、边界数据以及域内配点(collocation points)。初始时间数据 t=0t=0t=0 为
xi0,ψi0i=1N0 {x_i^0, \psi_i^0}_{i=1}^{N_0} xi0,ψi0i=1N0
边界配点为
tibi=1Nb {t_i^b}_{i=1}^{N_b} tibi=1Nb
方程残差配点为
tic,xici=1Nc {t_i^c, x_i^c}_{i=1}^{N_c} tic,xici=1Nc
在 Raissi 等 [143] 中,从高分辨率数据集中随机采样 N0=50N_0 = 50N0=50 个初始数据点,以及 Nb=50N_b = 50Nb=50 个边界点以强制周期边界,域内随机采样 Nc=20,000N_c = 20,000Nc=20,000 个配点。神经网络架构有两个输入,分别为时间 ttt 和空间位置 xxx;输出长度为 2,而非 1,用于预测解的实部和虚部。网络训练目标是最小化初始和边界条件损失 LBL_BLB,以及在配点上满足 Schrödinger 方程残差 LFL_FLF。由于目标是 PDE 的替代模型,不使用额外数据,即 Ldata=0L_\text{data} = 0Ldata=0。损失函数为:
LB=1N0∑i=1N0∣ψ(0,xi0)−ψi0∣2+1Nb∑i=1Nb(∣ψ(tib,−5)−ψ(tib,5)∣2+∣ψx(tib,−5)−ψx(tib,5)∣2) L_B = \frac{1}{N_0}\sum_{i=1}^{N_0} |\psi(0,x_i^0) - \psi_i^0|^2 + \frac{1}{N_b}\sum_{i=1}^{N_b} \left( |\psi(t_i^b,-5) - \psi(t_i^b,5)|^2 + |\psi_x(t_i^b,-5) - \psi_x(t_i^b,5)|^2 \right) LB=N01i=1∑N0∣ψ(0,xi0)−ψi0∣2+Nb1i=1∑Nb(∣ψ(tib,−5)−ψ(tib,5)∣2+∣ψx(tib,−5)−ψx(tib,5)∣2)
LF=1Nc∑i=1Nc∣F(tic,xic)∣2 L_F = \frac{1}{N_c} \sum_{i=1}^{N_c} |F(t_i^c, x_i^c)|^2 LF=Nc1i=1∑Nc∣F(tic,xic)∣2
所有随机采样点通过 Latin Hypercube Sampling 技术 [164] 生成。在训练中,先使用 Adam 优化器(学习率 10−310^{-3}10−3),再用 LBFGS 进行微调。通过不同设置和架构分析均方误差(MSE)与平均绝对误差(MAE),如表 2 所示。PyTorch 实现参考 Stiller 等 [167],基准解来自 Raissi 等 [143] 的 GitHub。原始配置为 5 层 DNN,每层 100 个神经元,激活函数为 tanh,用于表示未知函数 ψ\psiψ 的实部和虚部。我们同时分析其他网络架构和训练点数量。在三个时间截面上预测解与精确解比较见图 3、4。不同配置显示类似模式,仅误差量级不同。图 4 展示最佳配置,MSE 平均值约为 5.17⋅10−45.17 \cdot 10^{-4}5.17⋅10−4。图中先展示预测的时空解模 ∣ψ(x,t)∣|\psi(x,t)|∣ψ(x,t)∣ 与基准解比较,并绘制每点误差。该 PINN 在 (x,t)=(0,π/4)(x,t)=(0,\pi/4)(x,t)=(0,π/4) 附近的中心高度预测存在困难,同时在 t∈(π/4,π/2)t \in (\pi/4, \pi/2)t∈(π/4,π/2) 对应 t∈(0,π/4)t \in (0,\pi/4)t∈(0,π/4) 对称值的映射上存在偏差。表 2 展示了改变边界和初始值数据时训练损失、相对 L2L_2L2、MAE 和 MSE 的变化,并分析随时间推进误差增长情况。
4 PINNs:数据、应用与软件
前述章节介绍了 PINN 框架中的神经网络组件及文献中涉及的方程。本节首先讨论物理信息层面,即如何管理数据和模型以在 PINN 框架中有效发挥作用。随后介绍 PINN 的实际应用,以及 2019 年推出的 DeepXDE、NeuralPDE、NeuroDiffEq 等软件包如何辅助 PINN 设计。
4.1 数据
PINN 技术不仅基于问题的数学描述(嵌入在损失或神经网络中),还依赖用于训练模型的信息,即训练点,这直接影响预测质量。使用 PINN 需要了解待处理问题的关键本构方程,并具备神经网络构建经验。此外,物理参数相对量级会影响学习过程,例如 Kissas 等 [81] 使用无量纲化与归一化技术。考虑问题几何也可轻松实现。PINN 不依赖固定网格,提供更大灵活性,可在复杂几何域上求解高维问题。训练点在时空域内可任意分布 [128],但其分布会影响 PINN 的灵活性。增加训练点数量通常提高近似精度,但在某些应用中,训练点位置至关重要。Pang 等 [128] 探讨了格点采样(等距)及准随机序列(如 Sobol 序列、Latin hypercube 采样)。PINN 还能描述不可观测的潜在非线性状态变量,例如 Zhang 等 [197] 观察到,当某变量缺失测量时,PINN 能准确预测该变量。
4.2 应用
本节探讨 PINN 的实际应用,关注其在日常生活中的创新潜力,例如在易获取位置收集数据并在系统其他部分模拟动态,或在血流动力学、弹性模型及地球科学中的应用。
血流动力学
Sun 等 [168] 提供了三个血流动力学流动示例,涉及狭窄流和动脉瘤流,标准化血管几何和可变黏度。文中不仅用 CFD 基准验证结果,还设计 DNN 强制初始与边界条件,仅通过最小化质量和动量守恒方程的损失,估计参数化 Navier--Stokes 方程解。
Raissi 等 [147] 提出 Hidden Fluid Mechanics(HFM)框架,从图像中直接提取速度和压力场,可推广至工程与生物学的电磁场问题。其在三维颅内动脉瘤血流动力学中应用,利用个体化系统动脉网络拓扑精确预测流动模式、壁面剪切应力及脉冲波传播。这些动脉网络拓扑用于估计 Windkessel 模型参数 [81]。
PINN 方法应用于 Navier--Stokes 方程简化形式,其中血流速度和截面积由双曲守恒律演化,而非质量和动量守恒。Kissas 等 [81] 提出血流三维模拟新方法:利用医学影像数据估计压力并获取流量信息。预训练网络可快速适配新患者条件,使 Windkessel 参数计算成为简单后处理步骤,从而简化复杂模型的校准。通过处理血流速度和血管壁位移的噪声测量,Kissas 等 [81] 提供物理有效的流动和压力波传播预测,并训练神经网络输出与临床数据一致。
流动问题
Mathews 等 [106] 观察到仅通过二维数据就有可能推断三维湍流场。为了从合成等离子体的部分观测中推断未观测到的场动力学,他们使用 PINN 模拟漂移约化 Braginskii 模型,同时训练神经网络完成监督学习任务,并保持非线性偏微分方程(PDE)的约束。
这种范式适用于磁化碰撞等离子体的准中性研究,并为利用人工智能构建等离子体诊断提供了方法。这一方法有潜力改善湍流约化模型在实验和模拟中的直接测试,以前用标准解析方法难以实现。因此,这种用于诊断湍流场的深度学习方法可以轻松迁移,能够在磁约束聚变实验中系统应用。Mathews 等 [106] 提出的方法可适用于磁化碰撞等离子体在推进引擎和天体物理环境中的跨学科研究(计算和实验)的多种情境。
Xiao 等 [186] 检查现有湍流数据库,并通过系统性改变流动条件提出基准数据集。在高速空气动力学流动背景下,Mao 等 [103] 研究了由 PINN 近似的 Euler 方程解,包括正问题和逆问题,涵盖一维和二维问题。对于逆问题,他们分析了两类传统方法难以处理的问题:第一类问题,通过密度梯度数据确定密度、速度和压力;第二类问题,通过提供密度、速度和压力数据确定二维斜波状态方程中的参数值。
在训练区域之外进行时间投影是 vanilla PINN 难以解决的问题,Kim 等 [79] 对此进行了研究和测试。作者表明,vanilla PINN 在多种 Burgers 方程基准问题上的外推任务表现不佳,并提出了一种具有不同训练方法的新型神经网络。
PINN 方法还用于解决一维 Buckley--Leverett 两相流问题,该问题在石油工程中具有非凸流函数和一个拐点,使问题较为复杂 [1]。结果与 Lagrangian--Eulerian 和 Lax--Friedrichs 方法得到的结果进行比较。Almajid 和 Abu-Al-Saud [4] 也研究了 Buckley--Leverett 问题,将 PINN 与不含物理损失的 ANN 进行比较:当仅提供早期饱和度分布数据时,ANN 无法预测解。
光学与电磁应用
Fang [44] 提出的混合 PINN(基于 CNN 与局部拟合方法)应用于 3D Helmholtz 方程、准线性 PDE 算子和逆问题。作者还在 Meshzoo 生成的二十面体网格上测试了该混合 PINN,以求解表面 PDE。
PINN 也被用于电力系统应用 [114],通过求解摆动方程(已简化为 ODE)。作者在后续研究 [165] 中扩展了研究成果。Wiecha 等 [183] 对纳米光学中 DL 方法(包括 PINN)的应用进行了综述。
Chen 等 [30] 利用 PINN 求解光子超材料和纳米光学中的逆散射问题,从多个有限尺寸散射系统中获取有效介电常数,包括多相互作用的纳米结构和多组分纳米颗粒。Fang 和 Zhan [45] 探讨了电磁超材料构建方法,例如隐身问题也在 Fang 和 Zhan [45] 以及 Chen 等 [30] 中研究。Cai 等 [21] 以电解质流动的电对流(electroconvection)作为 DeepM&Mnet 的基准问题,该问题涉及多物理场,包括质量、动量、阳/阴离子传输和静电场。
分子动力学与材料相关应用
Islam 等 [69] 使用多保真 PINN(MPINN)进行长程分子动力学模拟,通过少量分子动力学模拟估计纳米流体在广泛样本空间下的黏度,能够预测系统每个原子的能量、压力及扩散系数,尤其是氩-铜纳米流体的黏度。
Stielow 和 Scheel [166] 利用 PINN 重建银纳米簇的形状和方向,其网络从单次散射图像中重建 3D 对象空间。使用编码器-解码器架构将 2D 图像转化为 3D 对象空间,并在散射空间计算损失:通过网络预测与目标散射模式的均方误差计算散射损失,再对预测施加二值损失以强化物理二值特性。网络还能发现新型几何形状,精确模拟实验散射数据。
Lin 等 [95, 96] 在多尺度应用中描述了连续介质与原子尺度的小气泡,前者用 Rayleigh--Plesset 方程,后者用耗散粒子动力学技术。文中证明 DeepONet 架构能够在空间和时间尺度相差四个数量级的情况下实时预测气泡增长。
地球科学与弹性静力学问题
Li 等 [94] 基于 Föppl--von Kármán (FvK) 方程测试四种载荷情况:非均匀分布拉伸力的平面内拉伸、中心孔平面内拉伸、平面外挠曲以及压缩屈曲。Haghighat 和 Juanes [55] 研究了固体力学问题中的应力分布和位移场。
Smith 等 [163] 在地震震源反演中使用 Stein 变分推断(Stein variational inference),结合 PINN 求解 Eikonal 方程作为正问题模型,并在南加州地震数据库上验证方法。
工业应用
PINN 在工业过程中的应用非常广泛,尤其在整个物理模型未知的情况下扩展了 PINN 概念。例如润滑剂劣化过程仍不清楚,现有模型存在较大误差。Yucesan 和 Viana [194] 引入混合 PINN,用于主轴轴承疲劳损伤累积,仅通过视觉检查校准,结合 PINN 与序数分类器(DOrC 方法)。在案例研究中,对 120 台风力发电机进行了为期六个月的每月一次检查,结果表明模型准确无误。
Viana 等 [174] 研究了腐蚀-疲劳裂纹扩展和轴承疲劳。NVIDIA 的 Modulus [61] 在通道内传热模拟中,通过参数化几何和多设计变量训练 PINN,调整散热器翅片的厚度、长度和高度生成设计空间 [123]。与传统仅限单几何体模拟的求解器相比,PINN 框架通过几何参数化加速了设计优化,使复杂系统的设计空间搜索更高效 [22]。
4.3 软件
在 2019 年,多个软件包被发布以便更轻松、更快速地训练 PINN,包括 DeepXDE [100]、NVIDIA Modulus(原 SimNet)[61]、PyDEns [84] 和 NeuroDiffEq [28]。这些库均使用前馈神经网络(feed-forward NN)和自动微分机制来计算求解损失函数所需的解析导数。软件包处理边界条件的方式(作为硬约束或软约束)会产生显著影响。当边界条件未嵌入神经网络而包含在损失中时,各种损失必须被适当评估。多次损失评估及其加权和会增加超参数调优的复杂性,这也说明了这些库对于 PINN 设计的重要性。近年来,更多库被构建并持续更新,使该领域成为一个动态的研究和开发方向。本小节将介绍各个库,并在表 3 中给出综合对比。
DeepXDE
DeepXDE [100] 是最早由 vanilla PINN 作者之一构建的库之一。该库强调其问题求解能力,能够结合多种边界条件并解决复杂几何域上的问题。它提出了基于残差的自适应精炼(Residual-based Adaptive Refinement, RAR)策略,用于训练阶段优化残差点分布,类似于有限元(FEM)精炼方法。RAR 的工作原理是:在 PDE 残差较大的位置增加更多点,并持续添加点直到平均残差低于阈值。DeepXDE 还支持基于构造实体几何(CSG)的复杂几何域。
2019 年首个版本展示了五个应用,均在散乱点上求解:L 形域的 Poisson 方程、二维 Burgers 方程、一阶 Volterra 积分微分方程、Lorenz 系统逆问题,以及扩散--反应系统。自发布以来,已有大量文献使用 DeepXDE,例如用于逆散射 [30] 或从材料中推导机械特性 [98]。其他 PINN 实现如 hPINN [78] 也基于 DeepXDE。
此外,DeepXDE 上开发了更高级的工具,如 DeepONets [99] 及其扩展 DeepM&Mnet [21, 104]。作者认为 DeepONets 在逼近算子、多物理、多尺度问题(如气泡动力学预测 [95, 96])中具有重要潜力。DeepXDE 还用于医学超声应用中模拟具有单一时间依赖正弦源函数的线性波动方程 [3],并用于 Buckley--Leverett 问题 [4]。相关研究文献可在线查阅 [1]。
NeuroDiffEq
NeuroDiffEq [28] 是基于 PyTorch 的神经网络 PDE 求解库,在哈佛 IACS 使用。NeuroDiffEq 可解传统 PDE(如热方程和 Poisson 方程)二维问题,通过神经网络构造严格满足初/边界条件,从而形成 PCNN。该库采用类似试探函数方法 [89] 的策略,但试探函数形式不同。然而,由于 NeuroDiffEq 强制显式边界约束,而非将边界损失添加到总损失中,因此对于库不支持的任意边界,其效果不佳 [12]。
Modulus
Modulus [123](原 NVIDIA SimNet [61])是 Nvidia 提供的学术和工程工具集,旨在成为可扩展的研究平台及工业问题求解工具。它是一个 PINN 工具箱,支持乘法滤波网络(Multiplicative Filter Networks)和大批量梯度聚合方法。Modulus 还提供构造实体几何(CSG)和网格化几何(TG)功能,可参数化多种几何形状。
在实现细节上,Modulus 使用积分形式的损失,而非通常的求和形式,并通过全局学习率退火对损失 Eq. 6 中的权重参数 ωωω 进行微调。与其他软件包不同,Modulus 可处理广泛的 PDE,无论是强形式还是弱形式。它还支持多种神经网络结构,如 Fourier Networks 和类似 LSTM 架构的 DGM。Nvidia 展示了基于 PINN 的代码在多物理问题上的应用,例如复杂参数化散热器的热传导 [32]、颅内动脉瘤的三维血流模拟,或在二维圆柱流动中进行数据同化和逆问题求解 [123]。此外,Modulus 求解热传输问题的速度优于以往求解器。
SciANN
SciANN [55] 是 PINN 的高层 Keras 封装实现。SciANN 仓库收集了大量示例,便于复现并构建其他解决方案,如弹性、结构力学和振动问题。Haghighat 等 [56] 使用 SciANN 创建了非局部 PINN 方法,另有 [57] 将其应用于固体力学多网络模型。虽然在浅水方程模拟二维洪水时使用 SciANN [72],作者将前馈步骤写成独立函数以避免额外库带来的开销。Hoffer 等 [64] 对多种无网格机器学习/深度学习代理模型进行了比较,其中包括 SciANN。Waheed 等 [175] 使用 SciANN 实现求解 Eikonal 方程的 PINN 框架。
PyDENs
PyDENs [84] 是开源神经网络 PDE 求解器,允许定义和配置热方程及波动方程解。它在 NN 中施加初/边界条件,使其成为 PCNN。首版于 2019 年发布,开发似乎在 2020 年停止。
NeuralPDE.jl
NeuralPDE.jl 是 SciML 的一部分,SciML 是用于科学机器学习和微分方程建模的工具集。SciML(Scientific Machine Learning)[137] 使用 Julia 编写,将物理规律和科学模型与机器学习技术结合。
ADCME
ADCME [187] 可用于开发数值方法并与神经网络连接,特别是基于 TensorFlow 扩展开发。Xu 和 Darve [187] 使用 ADCME 求解非线性弹性、Stokes 问题和 Burgers 方程等示例;在 [188] 中用于通过神经网络逼近未知分布,解决随机模型的逆问题。
Nangs
Nangs [131] 是 Python 库,将 PDE 自变量作为 NN 输入,计算因变量导数,并利用这些导数构造 PDE 损失进行无监督训练。已应用于一维和二维对流--扩散问题。2020 年发布后,开发似乎停止。NeuroDiffEq 和 Nangs 在高维 PDE 求解上优于 PyDEns [134]。
TensorDiffEq
TensorDiffEq [107] 是基于 TensorFlow 的科学机器学习 PINN 工具包,支持多节点分布式计算。主要目标是通过可扩展性高效求解 PINN(推断)和逆问题(发现)。实现自适应 PINN(Self-Adaptive PINN),当相应损失较大时增加权重,通过训练网络同时最小化损失并最大化权重。
IDRLnet
IDRLnet [132] 是受 Nvidia SimNet [61] 启发的 Python PINN 工具箱。可混合几何对象、数据源、神经网络、损失指标和优化器,解决带噪逆问题、变分最小化问题和积分微分方程。
Elvet
Elvet [7] 是 Python 库,用于求解微分方程和变分问题。可求解耦合 ODE 或 PDE 系统(如量子谐振子)以及涉及给定泛函最小化的变分问题(如悬链线或测地线问题)。
其他软件包
专为 PINN 创建的软件包不仅能求解 PINN 问题,还可为未来 PINN 研究提供基础。然而,也有其他软件包可利用未来研究成果,如基于核方法的技术 [74]。与其在优化器、损失等方面切换方法,另一种思路是改变函数表示方式。
在此方向上,可用基于高斯过程(Gaussian process)的核方法代替神经网络。值得关注的高斯过程工具有:
-
Neural Tangents [122](基于 JAX 的核 NTK),可处理无限宽神经网络,支持复杂层次神经网络拓扑。
-
GPyTorch [49](基于 PyTorch),通过 Blackbox 矩阵--矩阵乘法并使用特定预处理器加速收敛,构建高斯过程模型。
5 PINN 的未来挑战与方向
PINN 在理论或应用层面的未来发展尚不明确。我们可以评估的,是现有文献中尚未完整解决的问题、论文中对 PINN 最具争议的方面的探讨、未充分研究的领域,以及 PINN 与其他学科的交叉点。尽管已有若干文章提升了 PINN 的能力,但仍有大量未解决的问题,例如在现实场景和不同方程上的应用。这些问题既涉及理论考量(如收敛性与稳定性),也涉及实现问题(边界条件管理、神经网络设计、PINN 架构设计和优化等方面)。利用物理先验的 PINN 和其他深度学习方法,有潜力有效解决高维 PDE 问题,这类问题在物理、工程和金融中非常重要。然而,与为特定 PDE 设计的数值方法相比,PINN 在精确逼近 PDE 解方面仍存在困难,尤其是在处理多尺度、混沌或湍流等复杂物理现象时可能失败。
5.1 克服 PINN 的理论难题
可以将 PINN 看作一个三模块结构:
-
逼近模块(神经网络,NN)
-
物理约束模块(Physics-informed Network,即损失函数设计)
-
优化模块(管理损失最小化过程)
神经网络架构决定了 NN 逼近函数的能力,其逼近误差称为逼近误差 (approximation error),如第 2.4 节所述。如何迭代改进逼近器,由损失函数定义方式以及积分或求和的采样点数量决定,其偏差质量被称为泛化误差 (generalization error)。最后,损失最小化的迭代质量取决于优化过程,其误差称为优化误差(optimization error)。这些因素提出了 PINN 未来研究的多个问题,其中最关键的是:PINN 是否能收敛到 PDE 的正确解?要实现稳定性,逼近误差必须趋于零,这受网络拓扑结构影响。
目前相关研究结果极为有限。例如,Mo 等 [115] 通过改变隐藏层数和每层神经元数计算不同神经架构的相对误差;Blechschmidt 和 Ernst [19] 统计了不同网络拓扑(层数、神经元数、激活函数)下十次训练成功(即训练损失低于阈值)的次数。Mishra 和 Molinaro [111] 提供了误差估计,并指出 PINN 逼近 PDE 的可能方法。研究表明,初始隐藏层可能负责编码低频成分(低频信号表示所需点较少),后续隐藏层则负责高频成分 [105]。这一发现可视为频率原则(F-principle)[198] 的延伸:DNN 在训练时从低频到高频拟合目标函数,体现了 DNN 的低频偏置,并解释了 DNN 在随机数据集上泛化能力较差的原因。对于 PINN,大尺度特征应先出现,小尺度特征可能需要多轮训练。
初始化和损失函数对 DNN 学习,特别是对泛化误差的影响,需要进一步研究。许多理论结果基于随机独立分布点的数值积分来估计损失。部分 PINN 方法提出在时空域特定区域选择配点 [118],这一策略也值得研究。此外,动态损失加权(dynamic loss weighting)在 PINN 中是一条有前景的研究方向 [120]。
优化任务对提升 NN 性能至关重要,PINN 亦如此。然而,物理约束的引入意味着 PINN 方法需要额外的优化理论、数值分析及动力系统理论基础。根据文献 [179, 181],关键问题在于理解 PDE 刚性与梯度下降等算法对 PINN 的影响。另一个有趣的研究方向是 PINN 为何不受维度诅咒影响。文献表明 PINN 可轻松扩展,且计算成本不会随问题维度指数增长 [112];这种特性普遍存在于神经网络架构,但缺乏正式解释 [36]。Bauer 和 Kohler [13] 最近证明,基于 FNN 的最小二乘估计可避免非参数回归中的维度诅咒;Zubov 等 [202] 展示了 PINN 结合积分方法求解高维问题的能力。
在 PINN 中,学习过程生成一个预测函数 uθu_\thetauθ,最小化经验风险(损失)。机器学习理论将预测误差分为偏差误差(bias error)和方差误差(variance error)。偏差--方差权衡(bias-variance trade-off)似乎与近年神经网络经验结果相矛盾:训练网络精确拟合(插值)数据时仍能在测试集上获得接近最优的结果。Belkin 等 [14] 展示了"双下降风险曲线"(double-descent risk curve)的存在,并给出其形成机制。在深度学习理论框架下,PINN 的行为尚需研究,可能引发更多理论问题。特别是可进一步研究 PINN 优化的假设空间 HHH,根据其求解的 PDE 类型,将物理约束纳入考虑。总体而言,PINN 可能无法逼近解,并非由于 NN 架构表达能力不足,而是因软 PDE 约束优化问题 [86]。
5.2 改进 PINN 的实现方面
在开发 PINN 时,设计者需注意文献中可能存在的额外配置、各类调整方法及良好实践,这些可系统地优化 PINN 的三个模块:从网络架构选型到激活函数类型;从损失函数的积分计算到物理问题的非量纲化或解空间约束;再到最佳训练流程设计。对每个具体物理问题,如何在最基础层面实现这些方面仍是研究热点,形成了丰富的文献体系,本节总结了其中尚未解决的问题。
在网络架构方面,非 FFNN 类型(如 CNN、RNN)在 PINN 中的理论影响研究仍缺乏 [181];而对于 FFNN,许多问题仍待研究,如网络规模选择 [56]。表 1 显示,目前仅少数 NN 架构用于 PINN,且应用问题相对有限。深度学习文献提出了多种替代架构 [35],PINN 可从中受益。可能思路包括:
-
应用 Fourier Neural Operator (FNO) [182] 学习广义函数空间 [138]
-
使用 N--BEATS [124](深度前馈层堆叠,带前向/后向残差连接)处理时间序列现象
-
使用 Transformer 架构处理复杂物理问题中的长程依赖关系 [75]
-
使用 SIRENs(Sinusoidal Representation Networks)[161] 表达复杂自然信号及其导数 [67, 185]
另一个研究方向是探索增加 FFNN 宽度或深度对 PINN 性能的影响。已有 DNN 研究对扩展宽度与深度的收益存在不同观点,这可能引出问题:是否存在最小深度/宽度以下的网络无法理解物理规律 [173]。PINN 的可互操作性(interoperability)也是未来研究重点 [149]。
激活函数方面,需要更深入理解。Jagtap 等 [70] 表明,可调节的可扩展激活函数能优化收敛速率和解的正确性。未来研究可探索微分方程求解的替代或混合微分方法。为加速训练,Chiu 等 [33] 提出用数值微分与自动微分定义损失函数,形成 can-PINN(coupled-automatic-numerical differentiation PINN),比传统 PINN 更高效、更精确,因为普通自动微分 PINN 在高精度下需要大量配点。
虽然 PINN 的训练点可在空间和时间上分布,具有高度灵活性,但训练点位置会影响结果质量。PINN 的一个缺点是边界条件必须在训练阶段确定,若边界条件变化需重新训练 [183]。在损失方面,NN 总会优先最小化加权方程中最大的损失项,因此所有损失项应处于同一数量级;对某一部分的加权可能影响其他部分。目前尚无客观方法确定损失函数权重,也缺乏机制保证方程在训练前能达到预定精度,这些问题仍需研究 [119]。
优化任务方面,研究相对不足,目前主要使用标准方法如 Adam 和 BFGS 算法 [184]。Adam 算法可生成可用动力系统理论分析的梯度下降动态。为减少梯度流动刚性,需要研究极限神经切线核(neural tangent kernel)。尽管机器学习领域在优化问题上已有大量工作,但 PINN 优化技术仍有提升空间 [169]。L-BFGS-B 是 PINN 中最常用的 BFGS 算法,也是关键技术 [105]。学习率对 PINN 训练行为的影响尚未充分研究。梯度归一化(gradient normalization)是另一重要研究方向 [120],可动态分配不同约束权重,消除全局损失函数中某一项主导的情况。
误差估计也是研究重点。少数示例包括 Hillebrecht 和 Unger [62],他们使用 ODE 构建 PINN 预测误差上界,并提出为物理约束部分引入额外加权参数,以平衡初值和 ODE 残差的误差贡献。然而,该研究仅提供了玩具示例,对误差估计下界的可能性分析以及 PDE 扩展仍需进一步探讨。
5.3 PINN 在 SciML 框架中的应用
PINN 以及 SciML(科学机器学习)整体上在将机器学习应用于关键科学和技术问题方面具有巨大潜力。然而,许多问题仍未解决,尤其是在将神经网络作为传统数值方法(如有限差分法或有限体积法)替代方案时。Krishnapriyan 等 [86] 分析了扩散和对流两个基本 PDE 问题,发现当对流或黏性系数较高时,PINN 可能无法学习物理问题的规律。他们指出,随着系数增大,PINN 的损失函数空间(loss landscape)变得越来越复杂。这部分源于优化问题,因为 PINN 使用的是软约束。然而,当将问题视为序列到序列(sequence-to-sequence)学习任务而不是一次性求解整个时空域时,可以获得更低的误差。若要将 PINN 用于更复杂的问题,必须解决这些挑战,在科学问题与机器学习方法之间建立深入联系。
此外,将 PINN 应用于不同领域可能产生意想不到的用途。例如,PINN 已被用于 Poisson 方程的线性求解器 [105],显示出 PINN 可作为高性能求解器(如 PETSc 求解器)一样快速且精确的线性求解工具。Lu 等 [100] 认为 PINN 相比传统数值方法(如有限元法 FEM)具有一些优势:FEM 对函数做线性逼近,而 PINN 对函数及其导数做非线性逼近,因此 PINN 适合广泛工程应用。然而,主要缺点是训练神经网络可能耗时显著长于传统方法。另一方面,PINN 可在与标准数值方法不同的范式下使用:采用在线-离线(online-offline)方式,一个 PINN 可用于实时快速评估动力学,提高预测能力。
从二维扩展到三维给 PINN 带来新障碍:训练复杂度增加,需要更强的网络表示能力、更大的批量大小(可能受 GPU 内存限制),以及更长的收敛训练时间 [119]。另一任务是将 PINN 集成到传统科学程序和库(如 Fortran 或 C/C++ 编写)中,或将 PINN 求解器融入现有高性能计算(HPC)应用 [105]。PINN 也可在现代 HPC 集群上实现,如使用 Horovod [156]。此外,开发 PINN 需要解决的数学模型时,用户应注意对问题进行预归一化,同时可使用软件包(如 SymPy)以符号形式书写 PDE。
PINN 在从初始条件或边界条件向未见区域或未来时刻传播信息时存在困难 [41, 73]。Wang 等 [180] 提出了一种 PINN 损失函数的重新表述,可在训练过程中显式考虑物理因果性。他们认为,PINN 的训练算法应设计为遵循系统演化的内在规律进行信息传播。新实现显示了显著的精度提升,并能评估 PINN 模型收敛性,使 PINN 可用于混沌 Lorenz 系统、Kuramoto--Sivashinsky 方程的混沌域,以及湍流条件下的 Navier--Stokes 方程。
然而,在混合/逆问题中仍需进一步研究,其中观测数据应视为信息源点,PDE 残差应在这些点上最小化后再向外传播信息。另一方法是使用集成一致性(ensemble agreement)作为引入新点的准则 [58]:在观测或初始数据附近,所有集成员收敛到同一解,而远离观测或长时间间隔处可能被驱向不同错误解。
PINN 对日常生活也可能产生重要影响。例如,Yucesan 和 Viana [194] 利用 PINN 预测润滑脂维护;在工业 4.0 范式下,可辅助工程师模拟材料和结构,或通过嵌入弹性静力训练的 PINN 实时分析建筑结构 [57, 110]。PINN 在解决高频或多尺度 PDE 问题时仍存在困难 [47, 179, 181]。另外,PINN 可用于研究自治动力系统中某一平衡点的吸引域 [152]。但在安全关键场景中使用 PINN,仍需关注其稳定性及理论基础。许多应用领域仍需大量工作,例如文化遗产、医疗保健、流体力学、粒子物理以及广义相对论建模。对于刚性问题,需开发专门的 PINN 方法,同时可将 PINN 用于数字孪生应用,如实时控制、网络安全和设备健康监测 [119]。目前,PINN 在多尺度应用中的研究仍较少,尤其是气候建模 [68],尽管在多尺度气泡动力学等应用中已显示出潜力 [95, 96]。
5.4 PINN 在 AI 框架中的应用
PINN 可被视为更大 AI 框架中的构建模块,或由其他 AI 技术辅助改进。对于实际应用,PINN 可作为深度强化学习(Deep Reinforcement Learning, DRL)的工具,将强化学习(RL)与深度学习结合。RL 使智能体通过探索环境获取知识,从而理解因果关系和推理能力 [11, 159]。在 DRL 框架下,PINN 可作为智能体,环境信息可通过执行器、传感器和物理先验嵌入智能体,如迁移学习范式。
PINN 也可视为深度学习与符号人工智能(symbolic AI)融合的实例。符号范式基于通过抽象模型操控表示与交互来产生智能的理念,可通过逻辑推理发现问题特征,但缺乏 DL 那样直接使用真实数据的便利。符号智能与 DL 的结合可发挥两者优势,用少量数据和先验构建模型表示 [50]。在 PINN 框架中,物理规律的注入可视为符号智能,通过加入推理过程实现。
因果模型(Causal Models)是对物理模型的抽象描述,同时回答统计模型问题 [154]。微分方程模型可预测物理系统未来行为、评估干预影响并预测变量间统计依赖;统计模型则通常不涉及动态过程,而是研究在实验条件固定时某些变量如何预测其他变量。在此背景下,将机器学习与图因果(graphical causality)结合的因果表示学习是一项新兴研究课题。针对已知数据建模物理现象时,研究 PINN 是否可用于混合(正向和逆向)问题的因果推断也值得探索。
6 结论
本文综述可被视为对过去四年创新过程的深入研究,而非简单的 PINN 领域研究调查。Raissi 的早期研究 [143, 144] 开发了 PINN 框架,重点在于实现 PINN 求解已知物理模型。这些创新性工作推动了 PINN 方法的发展,并进一步验证了其原始概念。大部分研究尝试通过修改激活函数、梯度优化、神经网络结构或损失函数结构对 PINN 进行个性化。
PINN 原始理念的扩展包括:在物理损失函数中使用模型的最少信息,而非典型 PDE;或在 NN 结构中直接嵌入初始/边界条件的有效性。仅少数研究关注自动微分的替代方案 [44] 或收敛问题 [179, 181]。还有一部分研究尝试提出全面框架,涵盖多种物理问题或多物理系统 [21]。
最初 PINN 文献的创新之处在于,通过神经网络逼近未知函数,实现带物理约束的优化 [39],并将其扩展到数据-方程混合驱动的方法。此前已有研究尝试用核方法 [126] 或 PDE 约束优化方法 [63] 逼近未知函数,但 PINN 的核心在于物理信息驱动,无论来自数据点还是 PDE。数据点可在域内任意位置提供,但通常仅为初始或边界数据;PDE 强制点(collocation points)是 NN 必须遵循物理方程的地方。
本文回顾了 PINN 文献,从 Raissi 等 [143, 144] 的开创性工作到在神经网络中引入物理先验的研究。综述涉及基于配点法(collocation)的 PINN 方法,包括变分 PINN(VPINN)、软约束形式(损失包括初始和边界条件)及硬约束形式(边界条件编码于 NN 结构)。本文分析了 PINN 流程,包括神经网络构建、基于物理模型的损失函数构建及反馈机制;总结了 PINN 应用的 PDE 示例,并提供了实际应用及可用软件包的见解。
结论是,PINN 仍有大量改进空间,尤其是在未解决的理论问题上;在优化训练和扩展到多方程求解方面也存在发展潜力。