物理信息机器学习中的损失函数设计
在物理信息机器学习的五步流程中,设计损失函数是将物理知识嵌入模型最常用、最直接的方法,通过添加物理约束项(如偏微分方程、稀疏性、对称性)来提升模型的泛化能力、学习效率和样本效率。
核心要点
- 本次讲解聚焦于物理信息机器学习五个步骤中的第四步:如何设计损失函数(loss function)。
- 损失函数是嵌入物理知识最常用和最简单的方式之一,能带来泛化能力提升、学习效率提升和样本效率提升等多重好处。
- 物理信息神经网络(PINN)通过在损失函数中添加偏微分方程残差项,使模型在训练中同时满足数据拟合和物理规律。
- 损失函数与架构紧密相关,许多看似架构选择的方案(如拉格朗日神经网络)实际上核心在于定制损失函数。
- 通过 L2 范数促进低维性、L1 范数促进稀疏性,可以构建更可解释、更可泛化的物理模型。
- 对称性和等变性可以通过损失函数以“虚拟数据增强”的方式嵌入模型。
- 损失函数“促进”物理,而优化中的约束优化则可以“强制”物理,两者相辅相成。
详细解析
1. 物理信息神经网络(PINN)
是什么与基本思想
物理信息神经网络(Physics-Informed Neural Network, PINN)由 Raissi、Perdikaris 和 Karniadakis 提出。其核心思想是:在训练预测物理量的神经网络时,除了常规的数据拟合损失,额外添加一个损失项,用于衡量模型输出满足已知物理方程(如偏微分方程,PDE)的程度。
以流体速度场为例,流场包含 x 方向速度 U、y 方向速度 V、z 方向速度 W 以及压力场 P,这些量随空间 (x, y, z) 和时间 t 变化。
原理机制
- 朴素方法:构建一个深度前馈网络,输入为空间和时间位置,输出为对应的流场量,仅使用简单的数据拟合损失函数(模型预测与实际速度场的均方误差)。
- PINN 的改进:借助现代机器学习框架(如 PyTorch、JAX、TensorFlow)的自动微分能力,可以近乎零成本地计算输出量 (U, V, W, P) 对空间和时间的偏导数。利用这些偏导数,可以构建控制物理系统行为的偏微分方程(如 Navier-Stokes 方程)的残差。
- 损失函数组成:总损失函数 = 数据拟合损失 + 物理方程损失项。物理方程损失项直接计算偏微分方程的残差范数;当方程被满足(残差为零)时,该项为零。
优势与案例
- 优势:允许用少得多的数据训练模型,且模型往往能更准确地表征物理规律。这是最广泛采用的物理信息机器学习算法之一。
- 案例:Wong 和 Rose 的论文中展示了,不可压缩流体的速度场 U 满足不可压缩性偏微分方程(div(U) = 0)。通过添加一个损失项要求模型预测的速度场满足无散度条件,获得了更好的细尺度结构捕捉能力和更好的质量守恒性。
局限性与注意点
- 添加物理损失项并不能保证物理约束被精确满足。真实物理系统中该损失应严格为零,但 PINN 只能“促进”该项趋近于零,最终结果是物理损失和数据损失之间的平衡。
- 最终模型会比不添加物理损失的模型更好,但“不是完美的物理模型”。
- 物理损失项可能使优化更难、更“僵硬”(stiff),可能导致优化器找到奇怪的极小值,并非“银弹”(silver bullet)。
2. 拉格朗日神经网络与损失函数的关系
核心观点:架构与损失函数密不可分
拉格朗日神经网络(Lagrangian Neural Network)和哈密顿神经网络(Hamiltonian Neural Network)表面上看起来是架构选择,其核心创新实际在损失函数设计中。
- 架构层面:网络用于学习一个拉格朗日量(Lagrangian L),输入为广义坐标和速度。
- 损失函数层面:损失函数要求所学习的拉格朗日量满足欧拉-拉格朗日方程(Euler-Lagrange equations)。计算方法是对拉格朗日量求偏导数并构建欧拉-拉格朗日方程,然后将该方程的残差作为损失项。
总结:这类网络之所以能被训练且具有拉格朗日结构,是因为损失函数强制架构满足欧拉-拉格朗日方程。相关论文通常公开代码,可自行下载尝试。
3. 通过范数促进低维性和稀疏性
可解释性与泛化性的物理内涵
- 可解释且可泛化的模型是物理学的黄金标准,该理念已有 2000 年历史(从亚里士多德到爱因斯坦)。
- 爱因斯坦名言:模型“应尽可能简单以描述数据,但不能更简单”(Everything should be made as simple as possible to describe the data, and no simpler)。
- 低维性(low-dimensionality)和稀疏性(sparsity)是使模型更可解释和可泛化的数学工具,也是让模型更“物理”的关键特征。例:牛顿第二定律 F=ma 既适用于地球上的苹果,也适用于人类登月,既可解释且高度泛化。
L1 与 L2 范数的区别
- L2 范数:欧几里得距离,即两点之间直线距离。
- L1 范数:曼哈顿范数(出租车范数),测量网格状路径的距离。
- 这两种范数量化了物理系统中不同内涵的“简约性”或“简单性”。
在自动编码器中的高阶应用
- 处理高维图像数据时,可使用自动编码器神经网络将百万像素级图像压缩为几个最具描述性的潜在变量。
- 使用 L2 范数度量编解码器误差,促进潜在空间的低维性。
- 若需学习潜在空间中的动力学,可使用稀疏非线性动力学识别(SINDy)等方法,找到构成微分方程的最少项数,由 L1 范数量化稀疏性。
- 损失函数中平衡低维性和稀疏性两个目标,可通过自定义组合损失函数实现。
Kathleen Champion 的案例
- Kathleen Champion 的论文使用自动编码器学习低维坐标系统(如角度 θ 和角速度 θ̇),同时学习描述这些变量时间演化的微分方程。
- 定制损失函数包含重建损失(L2 范数,编码器-解码器误差)、SINDy 损失(要求微分方程项数尽可能少),以及连接编码器-解码器和动力学一致性的自定义中间损失。
- 值得注意的是:这个损失函数的设计并非易事,花费了数月试错才得以完成。
4. 稀疏识别非线性动力学(SINDy)
基本方法
SINDy(Sparse Identification of Nonlinear Dynamics)由 Steve Brunton、Josh Proctor 和 Nathan Kutz 在西雅图开发。其核心思想是:当拥有物理系统的数据时,通过库回归过程从数据中学习控制系统的微分方程。
- 流程:构建一个包含候选函数的库(如多项式、正弦、余弦等),尝试拟合状态的时间导数 (ẋ) 由最少的库函数项(即最少的非零系数)线性组合表示。
- 目标:寻找最少的库列来匹配 ẋ,实现“稀疏”模型。
损失函数的选择与影响
- 最小二乘法:作为库回归损失函数,会产生包含大量非零项的模型,如 ẋ 的微分方程包含 81 项,ẏ 和 ż 各 81 项。这不符合物理学中反复出现的简约原则,物理学书籍中从未出现过 81 项的微分方程。
- L2 正则化(岭回归):使模型系数变小,但不稀疏。
- L1 正则化(Lasso):使模型系数稀疏,很多系数为零。
- 弹性网络(Elastic Net):L1 和 L2 正则化结合。
- SINDy 通常使用 Lasso 或弹性网络,最终追求稀疏模型。
误差与复杂度的平衡
- 损失函数结构:总损失 = L2 数据拟合损失(模型预测与数据之间的误差)+ λ × L0 或 L1 稀疏性惩罚(模型系数的稀疏程度)。
- 超参数 λ 的作用:
- λ 极大:过于强调稀疏性,导致欠拟合模型(缺少正确动力学)。
- λ = 0:退化为最小二乘法,模型严重过拟合(如 81 项模型)。
- 中间值:存在一个“金发姑娘区”(Goldilocks zone),获得既准确又简约的模型。
- 通过交叉验证(在留出测试集上表现)可找到该最佳复杂度区间。当模型复杂度不足时过拟合,而简约模型是最佳选择。
5. 对称性与等变性嵌入损失函数
概念与原理
对称性是物理学的重要属性:某些物理系统具有旋转不变性、平移不变性等各类对称性和不变量,我们可能希望模型遵守这些对称性。
等变性(equivariance)是指模型 f(x) = y 满足:当输入 x 经过某种变换(如翻转、旋转、平移)时,输出 y 应相应变换或保持不变。
实现方式:虚拟数据增强
- 不必通过复制数据来增强数据集(这会增加训练成本),可额外添加一个损失函数项,要求模型在输入变换时输出保持不变。
- 例子:若系统具有镜像对称性(f(x) = f(-x)),可添加损失函数项“模型在输入 x 翻转(镜像)时输出应完全相同”。
- 该损失函数可实现“虚拟数据增强”,避免数据扩充带来的训练成本。
- 原理上可推广到旋转、平移以及任意李群(Lie group)或离散对称性。
限制与待确认问题
- PINN 的物理损失项只能促进物理约束满足,不能精确保证。若追求精确满足,需使用优化中的约束优化方法。
- 物理损失项可能使优化过程更僵硬,导致优化器陷入奇怪极小值,不一定是稳定的改进。
- Kathleen Champion 论文中自定义损失函数的设计细节清晰可查,但涉及数月试错,提示此类设计可能有较高门槛。
- SINDy 中使用 L1 或 L0 范数(讲座中未明确区分细节)。
- 讲座提及其它关于稀疏性和 L1/L2 的详细课程链接,但未展开说明(此处仅提及)。
- 讲座结尾预告:下一步将讨论优化,其中约束优化可提供严格方法“强制”物理满足(如对称性或守恒律),与损失函数的“促进”作用形成对比。
行动清单与总结
- 若已知系统满足某个守恒律或偏微分方程,可将其作为额外损失项加入模型,立即增强模型的物理性。
- 选择 L1 范数促进模型稀疏性,L2 范数促进低维性;可通过弹性网络兼顾两者。
- 面对对称性需求,优先考虑在损失函数中实现“虚拟数据增强”,而非扩大数据集。
- 牢记“架构与损失函数结合紧密”的原则:设计架构时同步考虑损失函数,有些看似架构的决定(如拉格朗日网络)实为损失函数设计。
- 物理信息损失函数的主要收益:更少数据需求、更好泛化、更准确的物理表示。主要代价:物理约束不能精确满足、可能使优化变难。
- 在误差-复杂度权衡中寻找“金发姑娘区”是获得简约物理模型的关键步骤。