Vasily's Blog

一个记录学习经历的站点

0%

LipKAN:用 Lipschitz 可控的 KAN 拟合分子势能面

缘起

NeurIPS 2025 上有一篇论文让我印象深刻:Generalization Bounds for Kolmogorov-Arnold Networks (KANs) and Enhanced KANs with Lower Lipschitz Complexity。它的核心洞见是:KAN 的泛化能力与网络的 Lipschitz 复杂度直接相关——Lipschitz 常数越小,泛化界越紧

这篇论文不仅给出了 KAN 的泛化界理论,还提出了一个实用的改进方案:LipKAN,通过在每层输出后施加 tanh 激活函数,从架构层面保证网络的 Lipschitz 常数可控。

我正好在做分子势能面(Potential Energy Surface, PES)拟合,而 PES 拟合有一个经典问题:非物理振荡——在数据稀疏区域,模型会"自创"出不存在的能量尖峰。LipKAN 似乎正是解决这个问题的工具。

这篇文章记录了对 C₆H₆(苯) 体系的一次完整 LipKAN 拟合尝试。最终结果:Test MAE = 1.908 kcal/mol,距化学精度(1 kcal/mol)仅差一步之遥。


为什么 PES 拟合需要 LipKAN?

精度与速度的矛盾

计算化学的核心矛盾始终是精度 vs 速度。DFT 精度够,但一次单点计算就要数分钟;分子动力学模拟需要\(10^6\)\(10^9\)次能量评估——用 DFT 跑 MD 是不现实的。

机器学习势能面填补了这个空白:用少量高精度 QM 数据训练一个代理模型,让它"学会"分子的能量函数。传统力场速度极快但精度有限;直接从头算精度高但计算成本过高。ML 势能面正是这一矛盾的平衡点。

KAN 的优势

KAN(Kolmogorov-Arnold Network)以基函数展开替代固定激活函数:

\[ \text{MLP:} \quad x \to \sigma(Wx + b) \to x' \]

\[ \text{KAN:} \quad x \to \sum_k W_{ijk} \cdot \sigma_k(x_j) \to x' \]

其中\(\sigma_k(x)\)是可学习的基函数(如 Chebyshev 多项式、B-spline 等)。这种设计的优势在于:对物理函数中常见的低维结构(如原子对相互作用、角度弯曲项),KAN 的基函数展开天然比 MLP 的参数效率更高。

非物理振荡问题

但标准 KAN 缺乏对 Lipschitz 常数的控制。在训练数据稀疏的区域,网络的输出可能剧烈振荡——对势能面来说,这意味着出现物理上不存在的能量"尖峰"。

LipKAN 的解决方案很直接:在每层 KAN 输出后叠加 tanh 激活函数\(\|\tanh\|_{\text{Lip}} = 1\)),配合 L1.5 权重正则化,从架构层面保证 Lipschitz 常数可控。


LipKAN 原理

单层数学形式

LipKAN 单层的计算可以写为:

\[ x'_i = \tanh\left(\sum_j \sum_k W_{ijk} \cdot \sigma_k(x_j)\right) \]

其中\(\sigma_k(x)\)是第\(k\)个基函数,\(W_{ijk}\)是三维可训练权重张量\([d_{\text{out}} \times d_{\text{in}} \times G]\),G 是基函数数量。tanh 作为 Lipschitz 有界激活,保证每层的输出 Lipschitz 常数\(\leq 1\)

多层堆叠

整个网络结构为:

1
66D/172D 特征 → tanh(LipKAN) → tanh(LipKAN) → ... → identity → 1D 能量

每一层的 Lipschitz 常数为 1,总体 Lipschitz 常数不超过层数之积(上界可控)。

L1.5 正则化

L1.5 正则化直接惩罚 Lipschitz 常数的上界:

\[ \ell_{\text{L1.5}} = \sum_l \sum_i \sqrt{\sum_j \sum_k W_{l,ijk}^2} \]

物理含义:对每层的每个输出神经元,将其所有输入权重的 L2 范数求和。如果一个神经元需要依赖大量基函数来拟合某个特征组合,它的 L1.5 惩罚就会很大。这迫使网络用更少的基函数组合拟合每个输出维度,从而抑制非物理尖峰。

梯度惩罚

光滑性约束\(\|\partial E / \partial x\|^2\)是对 PES 光滑性的直接约束,无需参考力数据:

\[ \mathcal{L}_{\text{GP}} = \beta \cdot \left\|\frac{\partial E_\theta(x)}{\partial x}\right\|^2 \]

可以理解为力匹配(force matching)的廉价替代——对所有 PES 拟合任务都推荐启用。


特征工程:对称不变性

分子势能面必须满足三种对称性:平移不变性、旋转不变性、同种原子置换不变性。特征工程是 PES 拟合的第一步,也是最关键的一步。

本实验探索了两种方案:

方案 维度 优点 缺点
排序距离 66 数值范围一致,无需复杂预处理 排序破坏微分关系,仅为工程近似
FI 多项式 172 代数完备,严格保真,可微分 各阶量纲不同,需分阶预处理

排序距离方案:计算所有原子对距离,按元素类型分组(C-C、C-H、H-H),每组内升序排列后拼接。C₆H₆(12 个原子)共有\(R = N(N-1)/2 = 66\)个原子对。数值范围一致(均为 Å 量级),工程上非常友好。

FI 多项式方案:基于 Hilbert-Noether 定理,FI 多项式是通过 Reynolds 算符构建的对称不变描述子,用于表示分子构型。共 172 维。理论上更完备,但各阶量纲不同(高阶不变量随距离增大迅速衰减),需 log 变换 + Z-score 标准化。


实验迭代

数据:11,510 个 C₆H₆ 构型,能量范围 0–33.55 eV。一共进行了 5 轮迭代。

v1:基础版(排序距离基线)

首次尝试:用排序距离特征 + 小网络建立基线。

超参数
网络 66 → 128 → 64 → 32 → 1
基函数 Chebyshev, G=8
L1.5\(\lambda\) \(10^{-5}\)
优化器 AdamW, lr=5e-4
参数量 149,760
结果 (Test MAE) 0.00416 Ha = 2.61 kcal/mol

问题诊断:Train MSE << Val MAE(36× 差距),严重过拟合。L1.5\(\lambda=10^{-5}\)贡献仅占 train_loss 的 ~10%,正则化强度不足。

v2:优化版(加宽加深 + 强正则化)

超参数 v1 v2
基函数 G 8 12
隐藏层 [128, 64, 32] [192, 96, 32]
BatchNorm
L1.5\(\lambda\) \(10^{-5}\) \(10^{-4}\)
学习率 5e-4 1e-3
参数量 149,760 411,779

服务器结果 (347 epochs 早停):

  • Best Val MAE = 0.0834 eV (epoch 267)

  • Test MAE = 0.0827 eV = 1.908 kcal/mol

  • Test RMSE = 0.2377 eV = 5.481 kcal/mol

这是所有实验的最佳结果。距化学精度(1 kcal/mol)仅差 0.9 kcal/mol。排序距离特征 + 宽网络 + BatchNorm 的组合效果出色。

v3:FI 特征版

动机:用代数完备的 FI 特征替代排序距离,理论上更严格的对称性保证。

变更

  • 特征:66 维排序距离 → 172 维 FI 特征

  • 网络:172 → 128 → 64 → 32 → 1,G=8

  • 参数量:258,304

  • 预处理:仅 log 变换,未做 Z-score + 未启用 BatchNorm

结果 (406 epochs 早停):

  • Test MAE = 0.2482 eV = 5.725 kcal/mol

诊断:172 维中高阶 FI 数值差异极大,log 变换不充分。且无 BatchNorm + 小网络,拟合能力受限。

v4:正则化增强版(AdaHessian + λ 退火 + 梯度惩罚)

在 FI 框架内启用全套正则化策略,缩窄网络适配二阶优化器:

改进项 详情
网络缩窄 [128,64,32] → [30,30],参数 48,720
二阶优化器 AdaHessian (自适应 Hutchinson 对角 Hessian 估计)
λ 退火 \(10^{-5}\)线性退火 → \(10^{-3}\)
梯度惩罚 \(\beta=10^{-4}\)
Dropout \(p=0.1\)
预处理 log + Z-score 均启用

结果 (321 epochs 早停):

  • Test MAE = 0.1642 eV = 3.787 kcal/mol

亮点:仅 48K 参数(v3 的 1/5)就取得了比 v3 好 34% 的结果。λ 退火 + 梯度惩罚 + AdaHessian 的组合被证明有效。

v5:傅里叶基函数版

动机:傅里叶级数比 Chebyshev 多项式数值更稳定,频率物理意义更直观。

变更

  • 基函数:Chebyshev → Fourier:\([1, \sin(\pi x), \cos(\pi x), \sin(2\pi x), \cos(2\pi x), \dots]\)- 优化器:LMM (完整 Levenberg-Marquardt,Jacobi 矩阵法)

  • 网络:172 → 128 → 64 → 32 → 1,G=8

结果

  • 60 epochs 即发散

  • Best Val MAE (epoch 10) = 0.3488 eV

  • Test MAE = 0.3628 eV = 8.366 kcal/mol

诊断:傅里叶基要求数据具有周期性——势能面非周期,导致高频分量无法有效拟合。LMM 构建完整\(J^T J\)矩阵(258K² ~ 66 GB),计算量极大且训练不稳定。


结果分析

综合对比

版本 特征 网络 参数 基函数 优化器 Test MAE (eV) Test MAE (kcal/mol)
v2 距离 66D 192→96→32 411,779 Chebyshev G=12 AdamW 0.0827 1.908
v1 距离 66D 128→64→32 149,760 Chebyshev G=8 AdamW 0.1133 2.61
v4 FI 172D 30→30 48,720 Chebyshev G=8 AdaHessian 0.1642 3.787
v3 FI 172D 128→64→32 258,304 Chebyshev G=8 AdamW 0.2482 5.725
v5 FI 172D 128→64→32 258,304 Fourier G=8 LMM 0.3628 8.366

几个关键发现

发现 1:距离特征 + 宽网络 = 当前最佳

v2 的 1.91 kcal/mol 是所有实验中最好的。排序距离特征虽然理论上不如 FI 完备,但工程上:

  • 数值范围一致(均为 Å 量级),无需复杂预处理

  • 每个维度的物理意义清晰,网络易于学习

  • 配合宽网络 + BatchNorm 可充分逼近

发现 2:FI 特征 + 强正则化 > FI 特征 + 大网络

从 v3 到 v4,在 FI 框架内:

  • 弱正则化大网络(v3,258K 参数)→ 5.73 kcal/mol

  • 强正则化小网络(v4,49K 参数)→ 3.79 kcal/mol

正则化策略(λ 退火、梯度惩罚、AdaHessian)的贡献显著。

发现 3:优化器对比

优化器 收敛速度 最终精度 训练稳定性 内存开销
AdamW ✓✓ ✓✓✓ ✓✓✓ O(P)
AdaHessian ✓✓ ✓✓ O(P)
LBFGS ✓✓ O(P)
LM (对角) ✓✓ O(P)
LMM (完整) ✓✓✓ ✗✗ O(P²)

AdaHessian 在小网络(v4,48K 参数)表现可圈可点。完整 LM 不适合此规模的网络(258K² ~ 66 GB 矩阵)。

发现 4:梯度惩罚的有效性

v4(启用梯度惩罚)vs v3(未启用)的对比表明,\(\|\partial E/\partial x\|^2\)能在不增加参数的情况下有效平滑 PES。建议在所有 PES 拟合中默认启用。


展望

短期可以立即实施的改进方向:

方向 具体措施 预期收益
v2 + λ 退火 在 v2 架构上引入 λ 退火 + 梯度惩罚 有望突破 1.5 kcal/mol
v2 + 能量归一化 对能量做 Z-score 后训练,反归一化恢复 训练更稳定,加速收敛
v4 加宽 保留 v4 正则化,网络加宽至 [128,64,32] 在 FI 框架内逼近 2.0 kcal/mol
数据增强 对已有构型做随机旋转/扰动 提高泛化能力

中长期的几个方向:

  • 力匹配(Force Matching):联合训练能量 + 力\(L_{\text{total}} = L_{\text{MSE}}(E) + \alpha \cdot L_{\text{MSE}}(F)\),力数据可通过一次有限差分自动生成,无需额外 DFT 计算

  • 集成与不确定性量化:训练多个 LipKAN 集成预测,方差 = 预测不确定性,用于主动学习采样

  • 训练数据补全:当前 11,510 构型能量分布偏斜,高能区域和过渡态附近需加密采样

  • 迁移学习:将 C₆H₆ 的 LipKAN 迁移到同类体系,冻结底层、微调顶层,新体系仅需少量额外数据


结语

这次实验的核心收获是验证了 LipKAN 在势能面拟合中的有效性——通过 tanh + L1.5 正则化,确实能有效抑制非物理振荡,在排序距离特征 + 宽网络的配置下取得了接近化学精度的结果。

1.91 kcal/mol 离 1 kcal/mol 的化学精度还有一段距离,但这个差距是可以通过工程优化(λ 退火、梯度惩罚、能量归一化)来缩小的。这比从零设计新的架构要务实得多。

从 NeurIPS 2025 上读到那篇论文,到动手实现 LipKAN,再到在 C₆H₆ 体系上跑出有意义的数字——理论到实践的闭环,大概就是这样。


参考文献

  1. Li et al. (2025). Generalization Bounds for Kolmogorov-Arnold Networks (KANs) and Enhanced KANs with Lower Lipschitz Complexity. NeurIPS 2025.
  2. Liu, Z. et al. (2024). KAN: Kolmogorov-Arnold Networks. arXiv:2404.19756.
  3. Behler, J. (2011). Atom-centered symmetry functions for constructing high-dimensional neural network potentials. J. Chem. Phys., 134(7), 074106.