形式陈述
考虑可分Hamilton 系统 理路 Hamilton 系统 Hamiltonian system · Hamilton 系统 由 Hamiltonian 的梯度经标准辛矩阵生成相空间流的常微分方程系统。
H ( q , p ) = U ( q ) + 1 2 p T M − 1 p , M ≻ 0 , 其中 q , p ∈ R d ,U 可微。给定步长 ϵ ,一次 leapfrog(Störmer–Verlet)更新依次为
p n + 1 / 2 = p n − ϵ 2 ∇ U ( q n ) , q n + 1 = q n + ϵ M − 1 p n + 1 / 2 , p n + 1 = p n + 1 / 2 − ϵ 2 ∇ U ( q n + 1 ) . 输入是 ( q n , p n ) 、M 、步长与势能梯度 理路 梯度 Gradient 标量函数微分在内积下对应的向量。 ;输出是更新后的相空间点。L ≥ 1 步轨迹就是这张映射的 L 次复合:未缓存起点梯度时共需 L + 1 次梯度评值,相邻步复用端点梯度,并做 L 次 M − 1 的向量作用。除梯度与质量矩阵操作的成本外,向量加减共为 O ( L d ) ;逐步推进只需 O ( d ) 个状态与梯度分量,质量矩阵的存储、预分解和内部工作区另计。若任何梯度或状态非有限,更新必须失败并把该 HMC 提议视作不可接受,而不能继续传播 NaN。
在 U ∈ C 2 时,三段更新都是辛剪切映射,Jacobian 行列式为一;组合因而保持辛结构与相空间体积。令动量翻转 R ( q , p ) = ( q , − p ) ,更新映射 Φ ϵ 满足
R Φ ϵ R = Φ ϵ − 1 . 这种时间对称性和辛性使它适合作为 HMC 的确定性提议。它一般不精确保持 H ,所以完整采样器仍需根据总能量误差做 Metropolis 校正。若解在固定时间区间足够光滑,单步局部误差为 O ( ϵ 3 ) ,固定总积分时间的全局状态误差为 O ( ϵ 2 ) ;这些阶数是 ϵ → 0 的结论,不是任意步长下的误差上界。
leapfrog 对可分 Hamiltonian 可以显式计算。若动能不可分、质量矩阵依赖位置或含约束,以上三行不再是对应系统的正确积分器,可能需要隐式或广义辛方法。形式相似的 Euler 更新既不时间对称,能量误差也可能系统漂移;少一次梯度并不补偿错误的长程几何。
直觉
先用当前位置的力推动半步动量,再让这个居中动量推动整步位置,最后用新位置的力补齐另半步。两侧完全对称,所以把时间和动量反过来能逐段撤销。半步并非记账技巧,而是让位置和动量在同一时间中心对齐。
辛性不等于每步能量不变。对足够光滑的系统,后向误差分析可逐阶构造形式修正 Hamiltonian;在解析、固定小步长且轨迹留在适当有界区域等条件下,合适截断的修正流与离散一步极为接近,从而解释长时间的小幅能量误差。一般修正级数未必收敛,不能据此断言离散轨迹精确对应某个真实修正 Hamiltonian 的流;形式级数与截断误差的区别见修正方程与后向误差分析 理路 修正方程与后向误差分析 Modified equation · Backward error analysis of integrators 逐阶构造邻近动力学,明确形式修正级数、有限截断与特殊精确嵌入之间的区别。 。HMC 仍用首尾真实能量差进行接受校正。
图片加载失败 leapfrog 的对称 kick-drift-kick 更新
例子与边界
对一维标准正态势能 U ( q ) = q 2 / 2 ,取 M = 1 、( q 0 , p 0 ) = ( 1 , − 0.5 ) 与 ϵ = 0.2 。一轮为
p 1 / 2 = − 0.5 − 0.1 ( 1 ) = − 0.6 , q 1 = 1 + 0.2 ( − 0.6 ) = 0.88 , p 1 = − 0.6 − 0.1 ( 0.88 ) = − 0.688 . 真实能量从 H 0 = 1 2 / 2 + ( − 0.5 ) 2 / 2 = 0.625 变为
H 1 = 0.88 2 / 2 + ( − 0.688 ) 2 / 2 = 0.623872 , 误差为 − 0.001128 。若从 ( q 1 , − p 1 ) 用同一步长更新再翻转动量,代数上返回 ( q 0 , p 0 ) ;这项可逆性正是接受校正能配对正反提议的条件。
步长存在真实稳定边界。对同一单位谐振子,一步映射矩阵为
( 1 − ϵ 2 / 2 ϵ − ϵ ( 1 − ϵ 2 / 4 ) 1 − ϵ 2 / 2 ) . 当 0 < ϵ < 2 时,两个不同的共轭特征值位于单位圆上,矩阵幂保持有界。在端点 ϵ = 2 ,两个特征值仍等于 − 1 ,但矩阵变成 ( − 1 2 0 − 1 ) ,非零初始动量会使位置振幅随步数线性增长。取 ϵ = 2.1 则进入指数不稳定区。单位圆上的特征值本身不足以保证边界稳定,还要检查重根的 Jordan 结构。
能量误差很大的提议通常被 Metropolis 步拒绝,使链长时间停留;接受校正不能修复积分效率。对多尺度后验,最尖锐方向决定全局可用步长,因此宽阔方向可能被迫走很多小步。
有限精度还会使理论可逆性出现舍入差,但通常远小于截断误差;若梯度含不连续分支、随机噪声或状态相关近似容差,反演差可显著放大。此时不能只靠最终接受率判断映射是否仍满足 HMC 的提议假设。
推论与应用
在HMC 理路 Hamiltonian Monte Carlo Hamiltonian Monte Carlo · Hybrid Monte Carlo · HMC 在位置—动量扩展空间用近似 Hamilton 轨迹提出远距离候选,并以能量误差作 Metropolis 校正。 中,步数 L 与步长 ϵ 分别控制轨迹时间和离散精度。固定 L ϵ 而缩小 ϵ 会降低能量误差,却线性增加梯度成本;选择应按每次梯度带来的有效移动衡量。质量矩阵先重标度曲率,可放宽由最尖方向施加的步长限制。
调试顺序应从单步公式开始:核对梯度符号,检查动量翻转后的往返误差,再观察 Δ H 随 ϵ 缩小时是否呈预期阶数。只有这些局部结构成立,树构建、步长适配与后验诊断才有可靠基础。对刚性 funnel,减小步长能减少 divergence,但若成本不可接受,重参数化是改变问题几何而非继续榨取积分器。
本页的剪切更新可放在Strang 分裂 理路 Lie–Trotter 与 Strang 分裂 Lie-Trotter splitting · Strang splitting 把可解子流按一阶或对称二阶次序复合,用非交换误差解释分裂的精度与结构保持。 的一般框架中理解。辛映射 理路 辛映射 Symplectic map 以 Jacobian 的 J 恒等式定义辛映射,证明 Hamilton 流保持它,并区分辛结构、体积与能量。 给出比行列式一更强的 Jacobian 判据,辛 Euler 理路 辛 Euler 方法 Symplectic Euler method 以更新后的动量推动位置,构造一阶辛方法,并在谐振子上精确计算稳定区和离散不变量。 则提供同样保辛但仅一阶、通常不对称的对照。
若系统带位置约束,还需同时维持动量的切向条件,具体构造见RATTLE 理路 RATTLE 约束积分器 RATTLE algorithm 用两次乘子求解分别保持位置约束和切向动量,完整核验单位圆上的一个约束积分步。 。若计算目标要求逐步精确保能量,可对照离散梯度方法 理路 离散梯度保能量方法 Discrete gradient method 用两点链式法则与反对称结构构造精确保能量更新,并在四次势能上解出一个完整隐式步。 ;保能量与保辛各自约束不同结构。
参考资料
Ernst Hairer, Christian Lubich, and Gerhard Wanner, Geometric Numerical Integration , 2nd ed., Springer, 2006, Ch. VI, symplectic integration.
Radford M. Neal, “MCMC Using Hamiltonian Dynamics,” in Handbook of Markov Chain Monte Carlo , CRC Press, 2011, Ch. 5, §2.3 in chapter, pp. 113–162.
Benedict Leimkuhler and Sebastian Reich, Simulating Hamiltonian Dynamics , Cambridge University Press, 2004, Chs. 2–4.