1. 课程导入与逆问题认知
在工程仿真与科学计算中,我们习惯的思维方式是“给定参数,求响应”:已知材料导热系数、几何尺寸和边界条件,用有限元或有限差分算出温度场分布。这类问题称为正问题。而实际工程中更常见的情形恰恰相反——我们能测量到的是响应(温度、位移、浓度、电压),真正想知道的却是背后的参数(导热系数、弹性模量、源项强度、缺陷位置)。由响应反推参数,就是逆问题。
逆问题之所以困难,根源在于它的“反着来”特性。以稳态热传导为例,正问题可写为
d/dx( k · dT/dx ) = 0, T(0)=T0, T(L)=TL
已知:k, L, T0, TL → 求解:T(x)
这是一个适定问题:解存在、唯一且连续依赖于输入。而逆问题变成“已知若干测点温度 T(x_i),反求 k”,此时会出现三个典型障碍:不适定性(多组参数可能产生几乎相同的观测,解不唯一)、对噪声敏感(测量误差被放大,微小扰动导致参数剧烈跳变)、观测稀疏(传感器数量远少于未知量)。传统做法是反复调用正问题求解器做优化迭代,每次迭代都要跑一遍仿真,计算代价随参数维度迅速膨胀。
PINN 解决逆问题的基本思路
物理信息神经网络(PINN)提供了一条不同的路径:把待识别参数当作可训练变量,与网络权重一起通过梯度下降优化。网络输入是时空坐标 (x, t),输出是物理场 u(x, t);损失函数由三部分组成——数据项(拟合测点观测)、物理残差项(把 PDE 代入自动微分后的残差压到零)、边界/初始条件项。关键在于,未知参数 λ 出现在 PDE 残差里,因此它会被残差的梯度“牵着走”,逐步收敛到真值。
举个具体例子:一维稳态导热,真值 k=2.0 W/(m·K),我们在 x=0.2、0.5、0.8 处布置三个测点,温度观测含约 1% 的随机噪声。网络设为 3 层、每层 32 个神经元的 tanh MLP,k 初始化为 1.0 并取对数变换保证正值。训练 5000 步后,损失从约 1e-1 降到 1e-4 量级,k 通常能收敛到 1.95~2.05 区间。这里的数据与结果属于教学示例设定,用于说明收敛行为,并非实测。判断是否可信,不能只看总损失,还要看数据项与残差项是否同步下降——若残差很小而数据项居高不下,往往说明物理模型写错了或边界条件设错。
参数识别在工程与科学中的典型场景
参数识别并非抽象概念,它广泛存在于真实任务中。岩土工程里,通过地表沉降监测反演地层弹性模量与泊松比;电池管理中,用端电压与温度曲线辨识内阻和扩散系数;结构健康监测中,由模态频率变化定位刚度退化区域;地下水污染治理中,依据稀疏井点浓度反推污染源位置与释放强度。这些场景的共同点是:直接测量目标量代价极高甚至不可能,但响应数据相对易得。PINN 的价值在于它不依赖网格,能自然融合多源观测,并且可以在同一框架下同时输出场分布与参数值。
课程整体学习路径与实战项目
本课程按“认知—工具—方法—实战”递进组织。前段建立正/逆问题思维框架与 PINN 数学基础;中段进入实现层,讲解如何用自动微分构造残差、如何对参数做正性变换、如何设计损失权重与采样策略;后段聚焦逆问题专有难点,包括噪声鲁棒性、多参数可辨识性分析、观测点优化布置;最后通过一个完整的实战项目串联全部知识。
实战项目设定为“一维瞬态热传导中的导热系数与对流换热系数联合识别”:给定含噪声的温度时空观测,要求同时反演两个参数,并给出置信区间评估。项目交付包括可运行代码、参数收敛曲线、以及一份说明“在何种噪声水平与测点数量下结果可信”的分析报告。建议的学习节奏是每章先读概念、再动手改一行代码观察输出变化,把“调参”变成“验证物理直觉”的过程。入门阶段不必追求复杂网络,一个 3 层 MLP 配合 Adam 优化器,足以让你看清逆问题求解的完整链条。