1. 课程导入与问题界定

在开始系统学习物理信息神经网络(PINN)之前,先看一个典型的工程场景:一根长度 L=1 m 的均质金属导热杆,左端保持 100 ℃,右端保持 0 ℃,杆内无内热源,导热系数为常数。稳态下温度分布满足一维拉普拉斯方程 u''(x)=0,解析解为线性分布 u(x)=100(1−x)。若用 PINN 求解,网络输入是坐标 x,输出是温度 u,而真正决定解是否正确的,并不是网络结构本身,而是两件事:边界条件如何进入训练,以及损失函数如何把方程残差与边界约束组织到一起。

很多初学者第一次跑 PINN 时会遇到这样的现象:训练损失从 1e-1 降到 1e-4,看起来收敛良好,但把预测温度画出来,两端温度却是 37 ℃ 和 62 ℃,中间还出现轻微弯曲。原因往往不是优化器不够强,而是损失函数中边界项权重过小,网络优先满足了内部配点的方程残差,却“忽略”了端点约束。这个例子说明:PINN 的难点不在反向传播,而在于如何把物理约束和边界约束翻译成可优化的目标。

一维导热杆PINN:约束来源与损失组装 物理对象:均质导热杆(L=1 m,无内热源) x=0 x=1 u''(x)=0,解析解 u(x)=100(1−x) u(0)=100 ℃ u(1)=0 ℃ ① 方程残差约束 配点 x_i ∈ (0,1) r_i = u''(x_i) L_f = mean(r_i²) ② 边界条件约束 x=0:u(0)−100 x=1:u(1)−0 L_b = 两项平方均值 ③ 网络与采样 输入 x → MLP → 输出 u 自动微分求 u'' 配点/边界点数量配比 总损失 L = w_f·L_f + w_b·L_b 权重 w_f、w_b 决定方程与边界的相对优先级 判读:端点温度是否命中 100/0,内部是否接近线性 损失下降 ≠ 解正确,需分别检查 L_f 与 L_b

上图把本节要建立的核心认识画清楚了:PINN 的训练目标由三部分共同决定——方程残差、边界条件、网络与采样配置。三者通过加权求和组装成总损失,而最终解是否正确,必须回到物理判读,而不能只看总损失数值。

边界条件的三种常见类型与进入损失的方式

工程问题中的边界条件通常分为三类,它们在 PINN 中的处理方式并不相同。第一类是狄利克雷边界,直接给定场变量值,如上面的 u(0)=100。它进入损失的方式最直接:在边界点上计算网络输出与给定值之差的平方。第二类是诺伊曼边界,给定法向导数,例如绝热端 ∂u/∂n=0。此时不能直接约束输出值,而要用自动微分求出网络输出对输入的导数,再与给定导数值作差。第三类是罗宾边界,即场变量与导数的线性组合,如对流换热边界 −k∂u/∂n = h(u−u∞),需要同时用到输出值和一阶导数。

这里有一个容易被忽略的细节:诺伊曼条件中的导数必须对物理坐标求,而不是对归一化后的输入求。若训练时把 x 归一化到 [0,1] 之外的区间,链式法则会引入缩放因子,导致约束值被系统性放大或缩小。实践中建议统一在物理坐标下计算导数,或在归一化后显式乘回缩放系数,并在代码注释中写清参照约定。

损失函数构建中的四个关键决策

把约束写成损失并不难,难的是让各项真正协同工作。构建损失函数时,至少有四个决策会显著影响结果。

  • 配点与边界点的数量配比。内部配点用于约束方程,边界点用于约束边界。若边界点过少,边界项估计方差大,网络容易在端点附近“漂移”。示例中可在 (0,1) 内取 200 个配点,两端各取 20 个边界点,作为起步配置。
  • 各项权重。w_f 与 w_b 的量级差异会直接改变优化方向。若边界值量级为 100,而方程残差量级为 1,则边界项天然占优;反之则可能被淹没。常见做法是先让两项量级接近,再根据残差曲线微调。
  • 残差的计算方式。方程残差应在配点上用自动微分求得,且要保证网络对输入的二阶导数可求。激活函数选择 tanh 或 sin 通常比 ReLU 更合适,因为后者二阶导几乎处处为零。
  • 是否引入硬约束。另一种思路是把边界条件直接嵌入网络输出,例如令 u(x)=100(1−x)+x(1−x)·N(x),使边界自动满足,损失中只保留方程残差。这会降低优化难度,但构造对复杂几何并不总是方便。
判断损失函数是否“搭对了”,不要只看总损失曲线。建议在训练日志中分别记录 L_f 与 L_b,并每隔若干轮在端点处打印预测值。若 L_b 长期高于 L_f 一个数量级以上,说明边界约束没有被有效满足,应优先调整权重或增加边界点。

从问题界定到学习路径

基于上面的分析,本课程后续内容将围绕一条清晰的主线展开:先明确物理方程与边界条件的数学形式,再决定哪些约束用软约束、哪些用硬约束,然后完成损失组装与权重配置,最后通过残差分解和物理判读验证解的正确性。需要强调的是,PINN 不是“设好网络就能出解”的黑箱,边界条件与损失函数才是决定成败的核心环节。把这两件事做扎实,网络结构的选择反而有较大的容错空间。

回到开头的导热杆例子:如果训练后端点温度命中 100 ℃ 与 0 ℃,内部温度与线性解的最大偏差在 1 ℃ 以内,且 L_f 与 L_b 都降到较小量级,才可以认为这次 PINN 求解是可信的。这个判读标准将贯穿后续各节,成为检查每一次建模是否真正成功的依据。