PDE与机器学习(一):物理信息神经网络
从有限差分到 PINN:自动微分、PDE 残差损失、Neural Tangent Kernel 视角的训练病理、Burgers 反问题、与 FEM/神经算子的对比,配 7 张实验图。
本系列第一章 · 阅读用时约 35 分钟。 这一章是整个系列的"地基"——后面七章谈到的神经算子、变分原理、Score Matching,本质上都在重复同一个问题:怎样让神经网络的优化目标编码进物理或数学约束? 把 PINN 啃透,后面就只剩"换一个约束"。
1 引子:从一根金属棒说起
想预测一根金属棒上的温度 $u(x,t)$,过去半个世纪有两个标准答案:
- 有限差分(FDM):把 $[0,L]$ 切成 $N$ 段,把 $[0,T]$ 切成 $M$ 段,二阶导用三点差分代替,得到一个递推方程。
- 有限元(FEM):把区域三角剖分,在每个三角形里用线性多项式近似,再要求弱形式残差与一组测试函数正交。
两条路都成熟得不能再成熟,但都有同一个痛处——先得到一张网格。一维棒还好,机翼形状就够烦,十维相空间则直接死于"维度灾难":网格点数 $\propto h^{-d}$,$d=10$、$h=0.1$ 已经是 $10^{10}$ 个点。
2019 年 Raissi、Perdikaris 与 Karniadakis 在 Journal of Computational Physics 给出第三条路 1:
不要网格。让一个神经网络 $u_\theta(x,t)$ 直接逼近解,再把"满足 PDE"写成损失函数。
这个想法的雏形可以追溯到 1990 年代的 Lagaris 2,更早还能追到 Ritz(1908)的变分法——把"解 PDE"重塑为"在某个函数空间里最小化一个泛函"。Ritz 选择的函数空间是分片多项式,PINN 选择的是神经网络;而 PINN 真正的杀手锏是自动微分:高阶导用一行 torch.autograd.grad 算出来,且是机器精度,不是有限差分的截断精度。

本章按以下顺序展开:先把传统数值方法的痛点定量化(§2),随后给出 PINN 的最小完备定义和它与 Ritz–Galerkin 的等价性(§3);§4 是核心——用 NTK 视角解释 PINN 为什么经常训不动,并给出三种主流补救方案;§5 跑一个完整 Burgers 实验,并演示反问题;§6 列举失败模式与边界;§7 把 PINN 放到更大的 SciML 地图上和 FEM、神经算子并排比较。
2 经典数值方法:你以为成熟,其实有边界
2.1 有限差分 —— 直觉与稳定性的代价
考虑一维热方程
$$ u_t = \nu\, u_{xx},\qquad x\in(0,1),\ t>0, $$边界 $u(0,t)=u(1,t)=0$,初始 $u(x,0)=\sin(\pi x)$。空间步长 $h$,时间步长 $\tau$,前向 Euler 离散:
$$ \frac{u_i^{n+1}-u_i^n}{\tau}=\nu\frac{u_{i-1}^n-2u_i^n+u_{i+1}^n}{h^2}. $$Von Neumann 稳定性给出充要条件 $\tau\le h^2/(2\nu)$——时间步长必须正比于 $h^2$。要把空间精度提高 10 倍,时间步要细 100 倍,总计算量爆涨 1000 倍。Crank–Nicolson 隐式格式无条件稳定,但每步要解三对角线性方程组;高维就是稀疏直接法或多重网格的天下。
关键结论:FDM 的精度受 $O(\tau+h^2)$ 控制,全局误差由 Lax 等价定理保证。它在结构化网格上无敌,但完全不能处理复杂几何。
2.2 有限元 —— 弱形式与 Ritz 变分
Poisson 方程 $-\Delta u = f$ 的弱形式:找 $u\in H_0^1(\Omega)$ 使得
$$ \underbrace{\int_\Omega \nabla u\cdot\nabla v\,\mathrm dx}_{a(u,v)} =\underbrace{\int_\Omega f v\,\mathrm dx}_{\ell(v)},\qquad \forall v\in H_0^1(\Omega). $$它等价于最小化 Dirichlet 能量 $J(u)=\tfrac12 a(u,u)-\ell(u)$。在分片线性子空间 $V_h\subset H_0^1$ 中找 $u_h=\sum c_j\phi_j$,$c$ 满足 $Kc=f$,$K_{ij}=a(\phi_i,\phi_j)$ 是稀疏正定刚度阵。
Céa 引理给出最优误差:$\|u-u_h\|_{H^1}\le C h^k\|u\|_{H^{k+1}}$。FEM 的强项是收敛性证明、误差控制、自适应网格细化都是教科书内容。短板仍然是网格——尤其是动边界、多孔介质、高维参数空间。
2.3 PINN 想要破的是什么
把 §2.1、§2.2 串起来看,传统数值方法共同的代价是:
| 维度 | FDM | FEM |
|---|---|---|
| 网格 | 必须,结构化 | 必须,可非结构化 |
| 高阶导数 | 离散星型,截断误差 $O(h^p)$ | 弱化为一阶 + 测试函数 |
| 高维 | 灾难 | 灾难 |
| 复杂几何 | 困难 | 中等(生网格成本高) |
| 反问题(参数辨识) | 需另写优化外环 | 同上 |
| 一旦换边界 / 几何 / 参数 | 全部重算 | 全部重算 |
PINN 想一次解决最后三个痛点:无网格、高维友好、把反问题与正问题统一为一次优化。代价是没有传统的收敛保证,要靠新的训练技巧去保证它真的收敛。
3 PINN 的最小完备定义
3.1 数学陈述
考虑一般 PDE
$$ \mathcal N[u](x,t) = 0,\quad (x,t)\in\Omega\times(0,T],\qquad \mathcal B[u]=g\ \text{on}\ \partial\Omega,\qquad u(x,0)=u_0(x). $$用一个参数化网络 $u_\theta:\mathbb R^{d+1}\to\mathbb R$(通常是 tanh-MLP)逼近 $u$,定义复合损失
$$ \boxed{\; \mathcal L(\theta) = \lambda_r\underbrace{\frac1{N_r}\sum_{i=1}^{N_r}|\mathcal N[u_\theta](x_i^r,t_i^r)|^2}_{\mathcal L_r:\,\text{PDE 残差}} +\lambda_b\underbrace{\frac1{N_b}\sum|\mathcal B[u_\theta]-g|^2}_{\mathcal L_b} +\lambda_i\underbrace{\frac1{N_i}\sum|u_\theta-u_0|^2}_{\mathcal L_i} +\lambda_d\underbrace{\frac1{N_d}\sum|u_\theta-u^{\mathrm{obs}}|^2}_{\mathcal L_d}\;} $$最后一项 $\mathcal L_d$ 在正问题里没有,反问题里则是核心。整个训练就是 $\theta^\star=\arg\min_\theta \mathcal L(\theta)$,用 Adam 或 L-BFGS。

3.2 为什么自动微分是关键
朴素的"数值微分"靠
$$ \partial_x u \approx \frac{u(x+\varepsilon)-u(x-\varepsilon)}{2\varepsilon} $$这有两个致命伤:一是 $\varepsilon$ 太小会被浮点截断吃掉,二是高阶导要复合差分,误差爆炸。自动微分(reverse-mode autodiff)则是符号-精确的:每个基本运算的导数已知,链式法则自动累乘,结果与解析导数等同,机器精度。
| |
create_graph=True 让导数本身仍参与计算图,这样 loss = (residual**2).mean() 反传时能拿到 $\nabla_\theta$。
3.3 与 Ritz 方法的同构
把 PINN 训练写在更抽象的层面:
- Ritz:在子空间 $V_h=\mathrm{span}\{\phi_1,\dots,\phi_n\}$ 中最小化 $J(u)=\tfrac12 a(u,u)-\ell(u)$。
- PINN:在子空间 $V_\theta=\{u_\theta:\theta\in\mathbb R^p\}$ 中最小化 $\mathcal L(\theta)$。
差别只有两条:
- 基函数集合——分片多项式 vs 神经网络。后者非线性、连续可微、且具有"频谱可调"的特性。
- 检验机制——Galerkin 用积分形式做内积;PINN 用配点法(collocation)+ Monte-Carlo 近似积分。
由此可见 PINN 不是横空出世,而是 “把 Ritz 的有限维子空间从分片多项式换成神经网络”。Deep Ritz 3 把这点显式化,直接最小化能量泛函而非残差平方,对椭圆型问题更稳定。
3.4 收敛性:有,但是弱
Shin–Darbon–Karniadakis (2020) 给出对线性二阶椭圆方程的渐近收敛 4:当残差点数 $N_r\to\infty$、网络宽度 $\to\infty$、且 $\mathcal L\to 0$ 时,$u_\theta\to u^\star$ 在 $L^2$ 意义下成立。但收敛速率没有像 FEM 的 $O(h^k)$ 那样定量——这是 PINN 与传统方法之间最现实的鸿沟。后续工作多是在特定假设下给出 Sobolev 范数的误差界,离工程级"先验收敛阶"还远。
4 训练病理:PINN 真正难的地方
跑过 PINN 的人都遇到过:损失从 1 降到 0.01 后再也不动,或者边界条件根本满足不了。下面把三大病因讲清,配上对应的工程修补。
4.1 病因 A:损失项不平衡(梯度病理)
Wang & Perdikaris (2021) 5 用反向传播的梯度统计揭示了一个普遍现象:$\nabla_\theta\mathcal L_r$ 比 $\nabla_\theta\mathcal L_b$ 大几个数量级。直接 Adam 只会沿大梯度走,边界条件被淹没,于是网络"在内部很好地满足 PDE,但完全不知道边界长什么样"。

修补 1:自适应权重。每若干步重置一次
$$ \hat\lambda_b = \frac{\max_\theta|\nabla_\theta\mathcal L_r|}{\overline{|\nabla_\theta\mathcal L_b|}},\qquad \lambda_b\leftarrow (1-\alpha)\lambda_b+\alpha\hat\lambda_b. $$这是 Wang 等人的 learning-rate annealing 方案,几行代码就能从训不动变成正常收敛。
修补 2:硬约束。把边界直接塞进网络结构里。例如对一维 Dirichlet 零边界,用
$$ u_\theta(x,t) = x(1-x)\,\tilde u_\theta(x,t) + B(x,t), $$$B$ 满足边界即可,$\tilde u_\theta$ 任意。这样 $\mathcal L_b\equiv 0$,根本不用平衡。
修补 3:NTK-平衡。Wang–Yu–Perdikaris (2022) 6 证明 PINN 的训练动力学被三个 Neural Tangent Kernel 主控,按 NTK 的迹来设权重最自然。
4.2 病因 B:谱偏差(spectral bias)
NN 训练有一个深刻的现象:低频成分先学,高频后学(Rahaman 2019;Tancik 2020)。对 PINN 影响尤其大,因为 PDE 残差 $\mathcal N[u_\theta]$ 涉及二阶导,会把高频误差放大 $k^2$ 倍——网络越学不到高频,残差越大,恶性循环。
修补:
- Fourier 特征:把 $x$ 先映到 $[\sin(2\pi B x),\cos(2\pi B x)]$,$B$ 是高斯随机矩阵;这等价于把 NTK 的频谱抬平。
- Sine 激活函数(SIREN):天然地在频域多带能量,但需要谨慎初始化。
4.3 病因 C:因果违背(causality)
时间相关 PDE 的真实解满足"过去决定未来"。但 PINN 在 $\Omega\times[0,T]$ 上同时采点,相当于让网络一开始就拟合 $t=T$ 的解;如果 $t
修补:因果训练(Wang 2024)按时间顺序加权 PDE 残差,
$$ w_n = \exp\bigl(-\varepsilon \sum_{k4.4 收敛对照实验
把上述修补合在一起跑 Burgers 方程:

5 实验:Burgers 方程与反问题
5.1 正问题:Burgers 激波
考虑
$$ u_t + u u_x = \nu u_{xx},\quad x\in[-1,1],\ t\in[0,1],\quad u(\pm 1,t)=0,\ u(x,0)=-\sin(\pi x),\ \nu=\tfrac{0.01}{\pi}. $$参考解通过 Cole–Hopf 变换 $u=-2\nu(\ln\phi)_x$ 把 Burgers 化为热方程,求积分得到(脚本 §burgers_cole_hopf 即此)。$\nu$ 很小,$t\approx 0.4$ 起 $x=0$ 附近形成接近间断的激波。

实战要点:
- 网络 8 层 $\times$ 20 宽 tanh 已足够,不要无脑加深。
- 残差点 $N_r\sim 10^4$,自适应残差细化(RAR):每若干轮选 $|\mathcal N[u_\theta]|$ 最大的前 $k$ 个候选点加入训练集。
- 优化器 Adam 1e-3 跑 20k 步打底,再切 L-BFGS 跑 5k 步精修。
- 不要忘了归一化:把 $(x,t)$ 标到 $[-1,1]$,否则 NTK 会偏。
5.2 反问题:参数辨识
正问题没什么稀奇,反问题才是 PINN 的杀手锏——只需把损失函数加一项 $\mathcal L_d$ 拟合稀疏观测,PDE 里的未知参数 $\nu$ 直接作为可训练标量参与梯度下降。

为什么 PINN 反问题这么省事:传统反问题要嵌套两层——外层优化参数,内层求 PDE 正问题;每改一个参数就要重新跑一次解算器。PINN 把"满足 PDE"也变成损失项,参数和 $\theta$ 站在同一个梯度里,省掉了外环。代价是不确定性量化要靠 ensemble 或贝叶斯 PINN,不像传统的 MCMC + FEM 那样有一整套理论。
6 失败模式与边界
PINN 不是银弹。下面是几个工业上经常踩坑的场景:
| 失败模式 | 原因 | 现状 |
|---|---|---|
| 高频/多尺度(湍流) | 谱偏差 + 二阶导放大 | Fourier features、cPINN 域分解部分缓解 |
| 接近间断(激波、相变) | NN 倾向连续函数 | conservative PINN、weak-form PINN |
| 长时间积分 | 因果违背、误差累积 | 因果训练、时间分块 |
| 病态条件(弱解非唯一) | 损失景观非凸 | 添加先验、ensemble |
| 复杂耦合(多物理) | 各项尺度差异大 | 自适应权重、多任务学习 |
| 高维 ($d>10$) | 残差采样维度灾难 | 渐进采样、Quasi-MC |
工程实践的"经验法则":几何复杂、高维、需要参数反演 → PINN;对精度有保证要求、几何规则、参数固定 → FEM/谱方法;要在线评估同一族 PDE 的多次查询 → 神经算子。
7 PINN 在 SciML 地图上的位置

三者的简单选型口诀:
- FEM:经典、精度有保证、几何规则——大型工程模拟仍由它撑着。
- PINN:作为一把"瑞士军刀",特别适合反问题和先验融合的科研性问题。
- 神经算子(第 2 章主题):要做"同一个方程族、不同输入函数、要被反复查询"的应用——气象、半导体仿真、金融定价。
PINN 真正的位置不是"取代 FEM",而是让"先验物理"成为深度学习模型设计的一等公民。这一点会贯穿后面七章。
8 与后续章节的接力
把 PINN 当作"约束嵌入损失函数"的一种实例,后面七章就清晰了:
- 第 2 章 神经算子:把"学一个解"升级到"学一个解算子 $\mathcal G:f\mapsto u$"。
- 第 3 章 变分原理:PINN 损失换成能量泛函,更稳,更接近 FEM 的理论保证。
- 第 4 章 变分推断:把 Fokker–Planck 方程也塞进损失里,得到一致的概率推断。
- 第 5 章 辛几何:在网络结构里直接保证哈密顿守恒,相当于硬约束的极致。
- 第 6 章 Neural ODE / CNF:把"残差 = 0"换成"流的散度 = 0"。
- 第 7 章 扩散模型 / Score Matching:把 PINN 反过来——已知数据,反演满足 Fokker–Planck 的随机过程。
- 第 8 章 反应扩散 + GNN:把 MLP 换成图网络以处理网状几何。
读完本章,你应当能用一句话回答:"PINN 是把 PDE 残差当损失函数、用自动微分把高阶导算到机器精度、用神经网络作为通用基函数的 mesh-free 求解器;它的瓶颈在训练动力学(NTK 分析的梯度病理与谱偏差)而非表达能力。"
✅ 检查点
- 写出 PINN 的损失函数三项各代表什么。
- 解释为什么 NTK 的尺度差异会导致边界条件训不到。
- 说出至少两条修补谱偏差的工程方案。
- 给定一个反问题,写出把未知参数加入计算图的代码框架。
- 何时该选 PINN、何时该选 FEM、何时该选神经算子?
参考文献
系列导航
| 部分 | 主题 |
|---|---|
| 1 | 物理信息神经网络(本文) |
| 2 | 神经算子理论 |
| 3 | 变分原理与优化 |
| 4 | 变分推断与 Fokker-Planck 方程 |
| 5 | 辛几何与保结构网络 |
| 6 | 连续归一化流与 Neural ODE |
| 7 | 扩散模型与 Score Matching |
| 8 | 反应扩散系统与 GNN |
M. Raissi, P. Perdikaris, G. E. Karniadakis. Physics-Informed Neural Networks: A Deep Learning Framework for Solving Forward and Inverse Problems Involving Nonlinear Partial Differential Equations. J. Comput. Phys., 378:686–707, 2019. doi:10.1016/j.jcp.2018.10.045 ↩︎
I. E. Lagaris, A. Likas, D. I. Fotiadis. Artificial Neural Networks for Solving Ordinary and Partial Differential Equations. IEEE TNN, 9(5):987–1000, 1998. ↩︎
W. E, B. Yu. The Deep Ritz Method. Commun. Math. Stat., 6(1):1–12, 2018. arXiv:1710.00211 ↩︎
Y. Shin, J. Darbon, G. E. Karniadakis. On the Convergence of Physics-Informed Neural Networks for Linear Second-Order Elliptic and Parabolic Type PDEs. Commun. Comput. Phys., 28(5):2042–2074, 2020. arXiv:2004.01806 ↩︎
S. Wang, Y. Teng, P. Perdikaris. Understanding and Mitigating Gradient Flow Pathologies in Physics-Informed Neural Networks. SIAM J. Sci. Comput., 43(5):A3055–A3081, 2021. arXiv:2001.04536 ↩︎
S. Wang, X. Yu, P. Perdikaris. When and Why PINNs Fail to Train: A Neural Tangent Kernel Perspective. J. Comput. Phys., 449:110768, 2022. arXiv:2007.14527 ↩︎
A. Krishnapriyan et al. Characterizing Possible Failure Modes in Physics-Informed Neural Networks. NeurIPS 2021. arXiv:2109.01050 ↩︎