对于哈密顿蒙特卡罗,为什么否定动量变量会导致对称提议?

机器算法验证 马尔可夫链蒙特卡罗 蒙特卡洛 大都会黑斯廷斯 汉密尔顿-蒙特卡罗
2022-03-04 06:21:22

我一直在详细阅读 Radford Neal 出色的 HMC 书籍章节但是,有一个细节我现在真的很着迷,我不确定我是否考虑对了。在描述计算机实现所需的 HMC 的 Metropolis 步骤时,他说:

轨迹末端动量变量的否定使 Metropolis 提议对称,因为上述接受概率有效

但是,我无法弄清楚为什么否定动量变量意味着提案是对称的。为了清楚起见,这是我对事物的理解:

  • 定义一个提案,它表示从状态开始,然后将作为提案的密度,然后我们使用 MH 检查是否接受。f(s2|s1)s1s2
  • 在许多情况下,我们希望提案是对称的,因此 MH 测试简化为 Metropolis 测试。一种方法是使用高斯建议,因此将定义为从具有固定方差的高斯采样,以为中心。那么因为高斯是对称的,所以f(s2|s1)s1f(s2|s1)=f(s1|s2)
  • 使用 HMC,我们从开始时有以下步骤:(1) 采样动量变量,通常是高斯变量,(2) 运行步来更新这两个变量,(3) 最后将动量变量取反为得到我们最终提出的状态在这里,我使用 Radford Neal 关于系统状态的符号,其中表示位置,表示动量。(q,p)L(q,p)qp

好的,所以现在我需要知道为什么提案是对称的。我想我需要了解以下几点:

  • 认为在采样动量变量之后,越级步骤是“确定性的” (除非我们在计算导数时注入随机性)。这是否意味着从给定状态开始然后简单地应用跳跃步骤(假设没有对动量变量进行采样)直到我们到达稍后的状态的概率是一个?所以这是一个增量分布,真的。
  • 但是当我们对这些高斯动量变量进行采样时会发生什么。它们不会影响提案概率吗?当你包括越级步骤时,我不知道如何分析这一点。
  • Neal 还讨论了可逆性、哈密顿量守恒和哈密顿动力学的体积保持我想我需要更好地理解可逆性和体积保持意味着我们可以声称该提案是对称的。(我认为哈密顿量的守恒用于表明理论上应该具有相同的值,但在计算机实现中却没有。)不幸的是,我似乎在这里遇到了障碍。H

谢谢你的时间!

2个回答

哈密​​顿蒙特卡洛的原始构造可能难以理解的原因之一是它的限制比必要的多,即使只是为了简化理论证明。特别是,确定性更新中对动量的否定实际上实际上是无关紧要的,因为完全动量重采样*。然而,如果我们包含它,那么我们可以利用两个对称提议的组合本身是对称的这一理论事实来证明复合哈密顿蒙特卡罗更新也是对称的。

确定性提案分布有点棘手,因为如问题中所述,它是由 delta 函数给出的。蒂尔尼 ( https://projecteuclid.org/euclid.aoap/1027961031 ) 表明,任何这样的确定性更新都是对称的,它必须是一个对合。换句话说,它必须在应用两次时产生标识。假设一个辛积分器,它是时间可逆且保持体积的,这由动量求反来保证。

哈密​​顿蒙特卡洛实际上在理论和实现方面都比原始算法更通用。有关更多详细信息,请参阅https://arxiv.org/abs/1701.02434,尤其是附录。

* 有部分动量重采样方案,从 Horowitz 的原始方案到最近的“Extra Chance”或“Generalized”方案,其中否定对算法的有效性至关重要。

以下只是我的意见,因为我也是 HMC 的初学者。

我想你的描述已经很清楚了。动量的否定在实践中是不必要的,因为我们实际上只想要样本并在最后丢弃动量。

但是,正如您所说,我们需要f(s2|s1)=f(s1|s2)将MH测试减少到Metropolis测试。跨越式步骤确实是确定性的。如果您从 s1 开始并以s2,那么你从s2并否定你一定会得到的动力s1. 因此f(s2|s1)=1=f(s1|s2).