形式陈述
设连续目标位于 q ∈ R d ,密度 π ( q ) = γ ( q ) / Z ,其中 γ ( q ) > 0 且 U = − log γ ∈ C 2 ;下面的精确流陈述还假设解在选定积分时段内存在。定义势能与动能
U ( q ) = − log γ ( q ) , K ( p ) = 1 2 p T M − 1 p , 其中质量矩阵 M 对称正定,辅助动量 p ∈ R d 服从 N ( 0 , M ) 。Hamiltonian
H ( q , p ) = U ( q ) + K ( p ) 对应联合密度 π ~ ( q , p ) ∝ e − H ( q , p ) ,其 q 边缘正是目标。相关Hamilton 系统 理路 Hamilton 系统 Hamiltonian system · Hamilton 系统 由 Hamiltonian 的梯度经标准辛矩阵生成相空间流的常微分方程系统。 为
q ˙ = M − 1 p , p ˙ = − ∇ U ( q ) = ∇ log γ ( q ) , 所以算法需要可计算的梯度 理路 梯度 Gradient 标量函数微分在内积下对应的向量。 ,但不需要 Z 。
基本的固定步数 HMC 更新先独立重抽 p 0 ∼ N ( 0 , M ) ,再以步长 ϵ 做 L 次leapfrog 更新 理路 HMC 的 leapfrog 积分器 Leapfrog integrator for HMC · Störmer–Verlet integrator for HMC 以半步动量、整步位置、半步动量的对称组合,离散 HMC 的可分 Hamilton 方程并保持可逆与辛结构。 ,得到 ( q ∗ , p ∗ ) ,通常再翻转动量以显式形成可逆提议。该离散映射可逆且保持体积,但不精确守恒 H ,故以
α = 1 ∧ exp { − H ( q ∗ , p ∗ ) + H ( q 0 , p 0 ) } 接受 q ∗ ,否则保留 q 0 。在选定时段内有定义的精确 Hamilton 流同时守恒能量和体积,理论接受率为一;数值轨迹的 Metropolis 校正把离散误差变成拒绝概率,从而保持 π ~ ,再边缘化得到目标不变核。
不缓存起点梯度时,一条 L ≥ 1 步轨迹需 L + 1 次势能梯度评值,相邻半步复用同一端点梯度,并需 L 次 M − 1 对向量的作用;另计动量抽样与首尾能量评值,已有的当前势能可复用。固定轨迹无需保存全部路径,只需 O ( d ) 个位置、动量和梯度分量;质量矩阵的表示、分解及其工作区另计。对角质量矩阵的一次作用为 O ( d ) ,稠密矩阵的乘法或已分解线性求解通常为 O ( d 2 ) ,不能把二者成本混同。
这给出不变性,不自动给遍历性。动量刷新、非退化 M 与适当轨迹长度通常帮助探索,但共振、分离支持和数值发散仍可造成不可达或极慢区域。轨道均值继承MCMC 理路 Markov 链 Monte Carlo Markov chain Monte Carlo · MCMC 构造以目标分布为不变分布的 Markov 转移,并用一条遍历轨道的时间平均估计目标期望。 的有限样本偏差与相关误差;接受校正不会把保留的样本变成 IID。
No-U-Turn Sampler 理路 No-U-Turn Sampler No-U-Turn Sampler · NUTS 以对称倍增的 Hamilton 轨迹树检测回头条件,并从有效轨迹状态中按保持目标不变的规则选择下一状态的自适应 HMC 算法。 属于更广的 HMC 方法族:它保留位置—动量联合目标与 Hamilton 数值轨迹,同时用对称轨迹树替换固定 L ,并以 slice 或 multinomial 候选选择维持不变性。因此它不是简单地在上面固定步数配方中临时改变 L 后,仍照搬端点接受证明。
直觉
随机游走每步重新猜方向,HMC 给参数配上动量,让它沿近似等能面持续滑行。势能把高后验密度变成低地,动量越过局部坡度;只要积分误差受控,一次提议可跨过许多局部相关尺度而保持较高接受率。
质量矩阵决定动量与位置尺度的匹配,步长决定能否解析最尖锐曲率,轨迹长度决定沿等能面走多远。三者承担不同职责。高接受率可能只是步长过小,长轨迹也可能折返到起点;有效性来自单位梯度计算带来的新位置,而非单一调参数字。
图片加载失败 HMC 的长距离动力学提议
例子与边界
对一维标准正态目标,U ( q ) = q 2 / 2 、M = 1 。从 q 0 = 1 , p 0 = 0 出发,以 ϵ = 0.5 做一步 leapfrog:
p 1 / 2 = 0 − 0.5 2 ( 1 ) = − 0.25 , q 1 = 1 + 0.5 ( − 0.25 ) = 0.875 , p 1 = − 0.25 − 0.5 2 ( 0.875 ) = − 0.46875 . 初始能量 H 0 = 0.5 ,新能量
H 1 = 0.875 2 2 + 0.46875 2 2 = 0.49267578125 . 所以 Δ H ≈ − 0.007324 ,本轮接受概率为一。能量略降不是精确动力学产生的物理耗散,而是离散误差;反向同样的更新能恢复原点,Metropolis 步据 Δ H 校正其影响。
Neal funnel 展示了真正的几何边界:令 v ∼ N ( 0 , 3 2 ) ,并令多个 x i ∣ v ∼ N ( 0 , e v ) 。在 v 很负的漏斗颈部,x i 尺度极小、曲率极大,需要很小步长;在宽阔部分,同一步长又使移动缓慢。过大步长在颈部产生巨大 Δ H 和 divergence,过小步长则耗费大量梯度。接受率的总体平均可能掩盖发散集中在颈部,重参数化往往比继续加长轨迹更直接。
不光滑边界、离散参数和相隔零密度区域也不符合普通 HMC 接口。对多峰目标,动力学受能量壳约束,有限动量很少越过高势垒;HMC 减少局部随机游走,不等于自动解决模态切换。
推论与应用
HMC 适合可微、连续且梯度成本与密度评值同量级的后验。先通过重参数化消除尺度漏斗,再用适配阶段学习步长和质量矩阵,逻辑上是在改善目标几何与动能度量;适配完成后固定参数进行采样,才能直接使用固定核的平稳论证。
能量误差、divergence、最大树深与动量能量诊断分别指向数值几何问题,不能由普通有效样本量替代。Metropolis 校正只修正可逆、保体积提议的能量误差:同一确定性近似力若对称用于两个半步,映射仍可逆但效率可能很差;随机或正反不一致的近似则会使证明失效。实现验证应先用有限差分核对梯度,再检查一步映射的反演与体积结构,最后才比较后验摘要。
参考资料
Radford M. Neal, “MCMC Using Hamiltonian Dynamics,” in Steve Brooks et al., eds., Handbook of Markov Chain Monte Carlo , CRC Press, 2011, Ch. 5.
Simon Duane, A. D. Kennedy, Brian J. Pendleton, and Duncan Roweth, “Hybrid Monte Carlo,” Physics Letters B 195(2), 1987, pp. 216–222.
Michael Betancourt, “A Conceptual Introduction to Hamiltonian Monte Carlo,” arXiv:1701.02434, 2017, §§2–4.