2. 物理残差的基本概念

在物理信息神经网络(PINN)与自适应采样方法中,“残差”是贯穿始终的核心量。它既是物理方程被网络满足程度的度量,也是采样策略决定“在哪里加密点”的直接依据。理解残差的定义、强形式与弱形式的差别,以及它在采样中的角色,是后续所有自适应算法的基础。

残差是什么:把方程“搬到”网络输出上

考虑一个一般的物理方程,写成算子形式:

N[u(x)] = f(x),  x ∈ Ω
B[u(x)] = g(x),  x ∈ ∂Ω

其中 N 是微分算子(可能含空间导数、时间导数、非线性项),B 是边界或初始条件算子。真实解 u* 使等式严格成立。而神经网络给出的近似解 u_θ(x) 通常不满足方程,于是定义物理残差为把 u_θ 代入方程后得到的偏差:

r(x; θ) = N[u_θ(x)] - f(x)

边界残差类似地定义为 r_b(x; θ) = B[u_θ(x)] - g(x)。残差是一个关于空间点 x 和网络参数 θ 的函数:对固定 θ,它是一张“误差场”;对固定 x,它是训练时可优化的标量。残差处处为零,等价于 u_θ 是方程的精确解。因此 PINN 的损失通常写成残差在采样点上的均方值:

L(θ) = (1/N_r) Σ r(x_i; θ)² + λ (1/N_b) Σ r_b(x_j; θ)²

这里 N_r、N_b 是配点与边界点的数量,λ 平衡两项。注意残差与“数据误差”不同:数据误差衡量预测与观测的差,残差衡量预测与物理定律的差,后者不需要任何标签,这正是 PINN 能少数据甚至无数据求解的原因。

强形式残差与弱形式残差

按对方程的处理方式,残差分为两类。强形式残差直接把微分算子作用在网络上,要求逐点满足方程,如上式所示。它实现简单,但对网络的光滑性要求高:若方程含二阶导数,网络必须二阶可微,且高阶导数在训练中容易数值不稳定。

弱形式残差则先把方程乘以测试函数 v,在区域上积分并分部积分,把导数“转移”到测试函数上:

∫_Ω (N[u_θ] - f) v dx = 0,  ∀v

分部积分后,对 u_θ 的求导阶数降低,对测试函数 v 的导数要求提高。实际计算时用一组测试函数(如多项式、正弦基或分段函数)把积分条件离散成若干标量残差。弱形式的优点是降低了对解的光滑性要求,能更自然地处理间断、奇异源项和复杂边界;代价是需要选取测试函数并做数值积分,实现比强形式复杂。工程上,光滑问题多用强形式,含材料界面、裂纹或低正则解的问题倾向弱形式(如 VPINN、能量形式 PINN)。

强形式残差 vs 弱形式残差 强形式:逐点代入 网络 u_θ(x) 自动微分求导 算子 N[·] 二阶及以上导数 r(x) = N[u_θ(x)] − f(x) 在每个配点上逐点计算 优点:实现直接、无需积分 代价:高阶导数、光滑性要求高 弱形式:积分加权 网络 u_θ(x) 低阶导数即可 测试函数 v 多项式/正弦基 ∫ (N[u_θ] − f) v dx = 0 分部积分转移导数 优点:降低光滑性要求、适合奇异解 代价:需选测试函数与数值积分

残差在采样中的角色

残差不仅是损失函数的一部分,更是采样密度的指示器。均匀采样在残差大的区域(如激波、边界层、源项突变处)往往配点不足,导致这些区域训练不充分。自适应采样的基本思想是:先训练一轮,计算各候选点的残差,再把新配点集中到残差较大的区域。常见做法包括:

  • 残差阈值加密:在候选池中保留 |r(x)| 超过阈值 ε 的点,或按残差大小做概率采样;
  • 残差梯度采样:不仅看残差大小,还看残差在空间上的变化率,把点放在残差梯度大的位置;
  • RAD 类方法:用残差分布构造采样概率密度,周期性重采样,使配点随训练推进逐步向高残差区迁移。

需要注意,残差大小受方程量纲和系数影响,直接比较不同区域的残差可能失真。实践中常对残差做归一化(除以 f 的尺度或局部梯度尺度),或结合解的梯度、曲率等几何量共同决定采样密度。此外,残差在训练早期普遍偏大,过早据此加密容易把点堆在虚假的高残差区,通常要等损失下降到一定水平后再启动自适应重采样。

常见物理方程的残差示例

以几个典型方程说明残差的具体形式(均为一维示例,x 为空间坐标,t 为时间):

方程 形式 强形式残差 r(x,t)
泊松方程 −u'' = f −u_θ''(x) − f(x)
热传导方程 u_t = α u_xx ∂_t u_θ − α ∂_xx u_θ
Burgers 方程 u_t + u u_x = ν u_xx ∂_t u_θ + u_θ ∂_x u_θ − ν ∂_xx u_θ
波动方程 u_tt = c² u_xx ∂_tt u_θ − c² ∂_xx u_θ

以热传导为例,若取 α = 0.01、区域 x ∈ [0,1]、t ∈ [0,1],网络输出 u_θ,则每个配点 (x_i, t_i) 上的残差为 ∂_t u_θ(x_i,t_i) − 0.01 ∂_xx u_θ(x_i,t_i)。训练时用自动微分同时求一阶时间导数和二阶空间导数,把残差平方求和作为物理损失。若在某段初始时刻附近残差持续偏大,说明该区域时间分辨率不足,自适应采样就应在此处增加配点。

判断残差是否“够小”不能只看绝对值:应结合方程量纲、解的幅值和边界条件尺度,观察残差在空间上的分布是否均匀。若残差集中在少数点而其余区域很小,往往意味着采样不均而非模型能力不足。

总结来说,残差把“物理定律”翻译成了可计算的数值偏差:强形式逐点代入、实现直接但要求光滑;弱形式积分加权、适应低正则问题但实现复杂。在采样层面,残差是决定配点分布的核心信号,配合归一化与训练阶段控制,才能让自适应采样真正把计算资源投到最需要的地方。