4. 物理约束嵌入的建模方法

在物理数据稀缺的场景中,纯数据驱动的模型往往面临两个困境:一是样本覆盖不足导致泛化能力差,二是预测结果可能违反基本物理规律(例如能量凭空产生、质量不守恒)。物理约束嵌入的核心思想,是把人类已经掌握的守恒律、对称性、边界条件等先验知识,以可计算的形式注入模型——要么改造模型结构使其天然满足约束,要么在损失函数中加入惩罚项迫使模型遵守约束。本节围绕这两条技术路线展开,并给出可操作的实现细节。

一、两类嵌入路径:结构约束与损失约束

结构约束(硬约束)通过重新设计网络结构或输出变换,使模型输出在数学上恒满足约束。典型做法包括:对输出做守恒投影、用对称性构造等变网络层、将边界条件编码为固定基函数。硬约束的优点是约束严格成立,缺点是设计复杂、对复杂约束的适配性有限。损失约束(软约束)则保留标准网络结构,在训练目标中加入物理残差项,例如把偏微分方程残差、守恒量偏差、边界违反量作为惩罚。软约束实现灵活、易于组合多种约束,但约束只是近似满足,需要调节权重。

实际工程中常采用混合策略:对必须严格成立的约束(如质量守恒、不可穿透边界)用结构约束保证,对难以结构化表达的约束(如复杂本构关系)用损失约束近似。

物理约束嵌入的两条路径与训练闭环 先验知识源 守恒律(质量/能量/动量) 对称性(平移/旋转/尺度) 边界条件与初值 结构约束(硬约束) 守恒投影层 / 等变网络 边界基函数编码 损失约束(软约束) PDE 残差项 / 守恒偏差项 边界违反惩罚项 物理约束模型 输出满足约束的预测 约束残差评估 守恒偏差 / 边界违反量 PDE 残差范数 权重调节与再训练 λ 自适应 / 拉格朗日乘子 / 课程式加权 反馈迭代 硬约束:输出恒满足,设计复杂;软约束:灵活可组合,需调权重。 工程实践常混合使用:严格约束走结构,复杂本构走损失惩罚。

二、守恒律的嵌入:从残差项到投影层

以不可压缩流体的一维质量守恒为例,控制方程为 ∂u/∂x = 0(密度恒定)。若用神经网络 u_θ(x) 拟合速度场,软约束做法是在损失中加入残差项:

L_total = L_data + λ · mean( (∂u_θ/∂x)² )
# L_data 为观测数据拟合误差,λ 为约束权重
# 残差用自动微分计算,无需网格

训练时若 λ 过小,模型会拟合噪声而破坏守恒;λ 过大则数据项被压制,预测趋于平凡解。常用做法是采用自适应权重:每隔若干步计算数据损失与约束损失的量级比,令 λ 随约束残差下降而逐步增大,形成“先拟合、后守律”的课程式训练。

硬约束做法更直接:令网络输出一个标量势函数 φ(x),再取 u = ∂φ/∂x 的某种零散度变换,或直接对输出做减去均值的投影 u ← u − mean(u),使离散守恒严格成立。对于多维问题,可用离散散度算子构造投影层,把输出投影到无散空间。

三、对称性的嵌入:等变网络与数据增广

对称性指物理系统在某种变换下保持不变。例如各向同性材料的应力响应在坐标旋转下应等变:输入旋转 R,输出也按 R 变换。结构约束的实现方式是构造等变层,使网络满足 f(R·x) = R·f(x)。工程上更易落地的是数据增广:对训练样本施加随机旋转、平移、镜像,迫使网络学习到对称性。两者可结合——在浅层用等变卷积,在深层用增广数据微调。

需要提醒的是,对称性增广会放大样本量但不会创造新信息,若原始数据极少,增广后的样本仍高度相关,此时应优先用结构等变层而非单纯增广。

四、边界条件的嵌入:硬编码与惩罚

边界条件分两类:Dirichlet 型(给定边界值)和 Neumann 型(给定法向导数)。软约束把边界违反量加入损失:

L_bc = mean( (u_θ(x_b) − u_b)² )        # Dirichlet
L_bc = mean( (∂u_θ/∂n(x_b) − q_b)² )    # Neumann

硬约束则通过输出变换实现。例如对一维区间 [0, L] 上的 Dirichlet 边界 u(0)=u(L)=0,可令 u_θ(x) = x(L−x)·N_θ(x),其中 N_θ 为无约束网络,这样输出在端点恒为零。对非零边界值,可写成 u_θ(x) = g(x) + x(L−x)·N_θ(x),g(x) 为满足边界条件的简单插值函数。这种“基函数 + 网络修正”的构造在数据稀缺时尤其有效,因为它把边界信息直接写进了模型结构。

五、一个可复现的教学示例

假设我们有一维稳态热传导问题:−d²T/dx² = 0,边界 T(0)=100,T(1)=0,仅有 8 个内部温度观测点(含噪声)。真实解为线性分布 T=100(1−x)。

采用硬约束构造:T_θ(x) = 100(1−x) + x(1−x)·N_θ(x)。此时边界条件自动满足,损失只需包含数据项和 PDE 残差项:

L = mean((T_θ(x_i) − T_obs_i)²) + λ · mean((d²T_θ/dx²)²)
# 示例参数:λ=0.01,网络 2 层 32 单元,训练 2000 步
# 预期:边界误差≈0,内部拟合误差随 λ 调节

若改用纯数据驱动(无约束),8 个含噪点训练出的网络在边界附近会出现明显偏离,且二阶导数不为零,违反控制方程。加入约束后,即使数据点稀疏,模型在无观测区域也能给出符合物理的线性插值。判断是否成功,可检查三项指标:边界违反量是否接近零、PDE 残差范数是否随训练下降、无观测区域的预测是否落在物理合理范围内。

权重选择经验:先令 λ=0 训练至数据损失收敛,记录数据损失量级 L_d;再令 λ 使约束项初始量级约为 L_d 的 0.1~1 倍,随后按约束残差下降情况逐步增大。若约束残差长期不降,说明网络容量不足或约束表达有误,而非权重问题。
常见误区:把约束项权重设得过大,导致模型输出退化为满足约束的平凡解(如全零场),数据拟合完全失效。另一个误区是约束残差用有限差分近似却与自动微分混用,造成梯度不一致。建议统一用自动微分计算残差,并定期打印各项损失量级做监控。

总结来看,物理约束嵌入不是单一技巧,而是一套“约束识别—表达选择—权重调节—残差验证”的工程方法。守恒律、对称性、边界条件各有其适合的嵌入形式,硬约束保证严格性、软约束提供灵活性,二者结合才能在数据稀缺时既守住物理底线,又保留对观测的拟合能力。