关于郎之万动力学采样与EBMs模型

date
Sep 5, 2022
Last edited time
Sep 5, 2022 05:03 PM
status
Published
slug
关于郎之万动力学采样与EMB模型
tags
Algorithm
summary
type
Post
Field
Plat
抽样理论中有哪些令人印象深刻(有趣)的结论?
我们知道很多蒙特卡洛采样方法是来源于物理,比如最有名的哈密顿蒙特卡洛方法(HMC),就是源自于哈密顿动力学。不过这次我并不打算详细说明哈密顿蒙特卡洛,相关的解读已经很多了。 今天我想讲另一个大家可能不怎么在意的郎之万动力学(Langevin dynamics)采样法,没错就是那位传说和居里夫人有绯闻的郎之万同学。 我们先讲结论, 郎之万动力学采样方法源自于布朗运动,同时也是一个变优化为采样的神奇方法 。没错就是那个出现在了高中物理课本中的布朗运行。很难想象,一个常见的物理现象竟然会延申出一个采样方法,就让我们看一下到底发生了什么? 朗之万方程描述的是布朗运动,即由于与流体分子的碰撞,粒子的随机运动方程为: 其中 x 是粒子的位置, m 是粒子的质量。右边式子的第一项是流体的粘滞力,第二项就是分子热运动带来的碰撞力,也叫做热涨落。它有个特点就是时间上平均值等于0。通过解方程(1),我们可以得到: 其中, D=k_BT/\lambda ,和温度成正比。这个解的意思是,布朗运动粒子平均运动位置离原点(初始点)距离的平方和时间成正比。这个解就是对扩散运动的一个直观解释, 随着时间推移,粒子跑的越来越"散" 。 额外补充一句就是, D=k_BT/\lambda 也被叫做 爱因斯坦关系,由 阿尔伯特·爱因斯坦 在1905年和Marian Smoluchowski在1906年独立发现。 我们知道 抽样方法的目标就是抽样一个分布 ,那么布朗运动和分布又有什么关系呢? 假设粒子在一个势能 U(x)=kx^2/2 中运动,它的运动方程由郎之万动力学描述: 按照(1)式相同的解法,我们会得到关于粒子位置 x 分布的解: 这个方程就是我们常见的玻尔兹曼分布。通过郎之万方程,我们竟然获得了粒子的分布。 我们从布朗运动出发,通过郎之万动力学,架起来动力学和分布的桥梁。接下来就可以利用这个桥梁来采样了: 通过模拟动力学来采样分布,具体而言就是精确模拟粒子在势能以及热涨落中运动,捕捉粒子的位置,作为样本,就会得到想要的分布 。 最后要给大家交代的就是"势能"以及"热涨落"怎么来模拟: 热涨落力具有高斯分布,于是我们可以用高斯分布来模拟这个力: 对于贝叶斯分布后验分布, p(\theta|X) \propto p(\theta) \prod_{i=0}^N p(x_i|\theta) ,其中 \theta 是参数。根据玻尔兹曼分布,其势能就是 U(\theta) = \log p(\theta|X) 。于是势能力就可以通过对势能求梯度而获得。 于是当势能和热涨落都可以模拟的情况下,我们就可以通过模拟粒子运动来采样了: 这个公式来自于 Bayesian Learning via Stochastic Gradient Langevin Dynamics ,具体细节大家可以参考这篇文章。 最后要补充的就是,如果去掉高斯项\eta_t ,剩下的部分就是 梯度项,不就是我们常见的梯度法(gradient method)来优化目标函数吗?从这个角度而言,在梯度项上面加一个平凡无奇的高斯项就可以 化优化为采样 ,实在是太神奇了! 参考资料: 朗之万方程维基百科
抽样理论中有哪些令人印象深刻(有趣)的结论?

布朗运动

朗之万方程描述的是布朗运动,即由于与流体分子的碰撞,粒子的随机运动方程为:
其中  是粒子的位置,  是粒子的质量。右边式子的第一项是流体的粘滞力,第二项就是分子热运动带来的碰撞力,也叫做热涨落。它有个特点就是时间上平均值等于0。通过解方程(1),我们可以得到:
其中, ,和温度成正比。
这个解的意思是,布朗运动粒子平均运动位置离原点(初始点)距离的平方和时间成正比。这个解就是对扩散运动的一个直观解释,随着时间推移,粒子跑的越来越“散”。
 也被叫做爱因斯坦关系,由阿尔伯特·爱因斯坦在1905年和Marian Smoluchowski在1906年独立发现。

重现玻尔兹曼分布

我们知道抽样方法的目标就是抽样一个分布,那么布朗运动和分布又有什么关系呢?
假设粒子在一个势能 中运动,它的运动方程由郎之万动力学描述:
按照(1)式相同的解法,我们会得到关于粒子位置  分布的解:
这个方程就是我们常见的玻尔兹曼分布。通过郎之万方程,我们竟然获得了粒子的分布。

郎之万动力学采样法

我们从布朗运动出发,通过郎之万动力学,架起来动力学和分布的桥梁。接下来就可以利用这个桥梁来采样了:
通过模拟动力学来采样分布,具体而言就是精确模拟粒子在势能以及热涨落中运动,捕捉粒子的位置,作为样本,就会得到想要的分布
最后要给大家交代的就是“势能”以及“热涨落”怎么来模拟:
热涨落力具有高斯分布,于是我们可以用高斯分布来模拟这个力:
对于贝叶斯分布后验分布, ,其中 是参数。根据玻尔兹曼分布,其势能就是 。于是势能力就可以通过对势能求梯度而获得。
于是当势能和热涨落都可以模拟的情况下,我们就可以通过模拟粒子运动来采样了:
这个公式来自于Bayesian Learning via Stochastic Gradient Langevin Dynamics,具体细节大家可以参考这篇文章。
最后要补充的就是,如果去掉高斯项 ,剩下的部分就是梯度项,不就是我们常见的梯度法(gradient method)来优化目标函数吗?从这个角度而言,在梯度项上面加一个平凡无奇的高斯项就可以化优化为采样,实在是太神奇了!

郎之万动力学采样法的实例

能量视角下的GAN模型-EBMs
这篇文章就是指出能量模型实际上就是某个特定的 Langevin 方程的静态解,然后就用这个 Langevin 方程来实现采样,有了采样过程也就可以完成能量模型的训练。 跟 《能量视角下的 GAN 模型(二):GAN="分析"+"采样"》 一样,假设我们有一批数据,我们希望用一个概率模型去拟合它,我们选取的模型为 其中 是带参数 的未定函数,我们称为 "能量函数",而 是归一化因子(配分函数) 这样的分布可以称为 "能量分布",在物理中也被称为 "玻尔兹曼分布"。 越小越好,为此,我们对 使用梯度下降。我们有(具体推导参考上面链接) 这里的能量函数 , 相当是 , 即 . 在式 (5) 中,是容易估算的,直接抽样一批真实数据来计算就行了;但是 却很困难,因为我们不知道怎么实现从 中采样。 重要采样 思路是定义另外一个容易采样的分布 ,然后改为从 中采样,同时去缩小 和 的差异,使得 确实可以成为 的一个良好近似。但这篇论文不一样,它直接从能量模型对应的 Langevin 方程采样。 Langevin 方程: 马尔可夫链由一个随机状态 和一个转移分布 定义而成, 是一个概率分布,说明了给定状态 的情况下随机地转移到 的概率。运行一个马尔可夫链意味着根据转移分布 采出的值 来更新状态 。 从状态 到新状态 ′ 。单一状态转移到 的概率可以表示为 .
能量视角下的GAN模型-EBMs
 

© Lazurite 2021 - 2023