正在学,把网上优质文章整理了一下。
我们经常利用贝叶斯公式求posterior distribution

但posterior distribution 


inference)问题可以看做是对后验概率(posterior)的计算。因此提出了Variational Inference来计算posterior distribution。
那Variational Inference怎么做的呢?其核心思想主要包括两步:
- 假设一个分布
(这个分布是我们搞得定的,搞不定的就没意义了)
- 通过改变分布的参数
,使
靠近
。
总结称一句话就是,为真实的后验分布引入了一个参数话的模型。 即:用一个简单的分布

这种策略将计算 

收敛后,就可以用 

KL散度
而用一个分布去拟合另一个分布通常需要衡量这两个分布之间的相似性,通常采用KL散度,当然还有其他的一些方法,像JS散度这种。下面介绍KL散度:
机器学习中比较重要的一个概念—相对熵(relative entropy)。相对熵又被称为KL散度(Kullback–Leibler divergence) 或信息散度 (information divergence),是两个概率分布间差异的非对称性度量 。在信息论中,相对熵等价于两个概率分布的信息熵的差值,若其中一个概率分布为真实分布,另一个为理论(拟合)分布,则此时相对熵等于交叉熵与真实分布的信息熵之差,表示使用理论分布拟合真实分布时产生的信息损耗 。其公式如下:
![如何简单易懂地理解变分推断(variational inference)?插图19 D_{K L}(p \| q)=\sum_{i=1}^{N}\left[p\left(x_{i}\right) \log p\left(x_{i}\right)-p\left(x_{i}\right) \log q\left(x_{i}\right)\right]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
合并之后表示为:

假设理论拟合出来的事件概率分布



![如何简单易懂地理解变分推断(variational inference)?插图31 \sum_{i=1}^{N} p\left(x_{i}\right) \log \frac{q\left(x_{i}\right)}{p\left(x_{i}\right)} \leq \sum_{i=1}^{N} p\left(x_{i}\right)\left(\frac{q\left(x_{i}\right)}{p\left(x_{i}\right)}-1\right)=\sum_{i=1}^{N}\left[p\left(x_{i}\right)-q\left(x_{i}\right)\right]=0](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
其中第一个不等式是由

这个性质很关键,因为它正是深度学习梯度下降法需要的特性。假设神经网络拟合完美了,那么它就不再梯度下降,而不完美则因为它大于0而继续下降。
但它有不好的地方,就是它是不对称的。也就是用



求解
中间引入了KL散度,但是我们本文的目的还是来求这个变分推理,不要走偏了。下面涉及一些公式等价转换:
等式两边同时对
到这里我们需要回顾一下我们的问题,我们的目标是使 


而由于 


将



现在,variational inference的目标变成:
![如何简单易懂地理解变分推断(variational inference)?插图55 \max_{\lambda}\mathbb E_{q(z;\lambda)}[\text{log}p(x,z)-\text{log}q(z;\lambda)]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![如何简单易懂地理解变分推断(variational inference)?插图57 \mathbb E_{q(z;\lambda)}[\text{log}p(x,z)-\text{log}q(z;\lambda)]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
Evidence Lower Bound(ELBO)。
evidence,又因为
ELBO公式表达为:
![如何简单易懂地理解变分推断(variational inference)?插图57 \mathbb E_{q(z;\lambda)}[\text{log}p(x,z)-\text{log}q(z;\lambda)]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
原公式可表示为:

引入ELBO表示为:

实际上EM算法(Expectation-Maximization)就是利用了这一特征,它分为交替进行的两步:E step假设模型参数不变,
M step再做ELBO相对于模型参数的优化。与变分法比较,EM算法假设了当模型参数固定时, 
那如何来求解上述公式呢?下面介绍平均场(mean-field)、蒙特卡洛、和黑盒变分推断 (Black Box Variational Inference) 的方法。
平均场变分族(mean-field variational family)
之前我们说我们选择一族合适的近似概率分布 

一个简单而有效的变分族为平均场变分族(mean-field variational family)。它假设了隐藏变量间是相互独立的:

这个假设看起来似乎比较强,但实际应用范围还是比较广泛,我们可以将其延展为将有实际相互关联的隐藏变量分组,而化为各组联合分布的乘积形式即可。
利用ELBO和平均场假设,我们就可以利用coordinate ascent variational inference(简称CAVI)方法来处理:
- 利用条件概率分布的链式法则有 :

- 变分分布的期望为:
![如何简单易懂地理解变分推断(variational inference)?插图69 E\left[\log q\left(z_{1: m}\right)\right]=\sum_{j=1}^{m} E_{j}\left[\log q\left(z_{j}\right)\right]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
将其代入ELBO的定义得到:
![如何简单易懂地理解变分推断(variational inference)?插图71 E L B O=\operatorname{logp}\left(x_{1: n}\right)+\sum_{j=1}^{m} E\left[\log p\left(z_{j} | z_{1:(j-1)}, x_{1: n}\right)\right]-E_{j}\left[\log q\left(z_{j}\right)\right]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
将其对 
![如何简单易懂地理解变分推断(variational inference)?插图75 \frac{d E L B O}{d q\left(z_{k}\right)}=E_{-k}\left[\log p\left(z_{k} | z_{-k}, x\right)\right]-\log q\left(z_{k}\right)-1=0](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
由此得到coordinate ascent 的更新法则为:
![如何简单易懂地理解变分推断(variational inference)?插图77 q^{*}\left(z_{k}\right) \propto \exp E_{-k}\left[\log p\left(z_{k}, z_{-k}, x\right)\right]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
我们可以利用这一法则不断的固定其他的

Gibbs Sampling过程类似,不过Gibbs Sampling是不断的从条件概率中采样,而CAVI算法中是不断的用如下形式更新:
![如何简单易懂地理解变分推断(variational inference)?插图81 q^{*}\left(z_{k}\right) \propto \exp E[\log (\text {conditional})]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
其完整算法如下所示:

MCMC
MCMC方法是利用马尔科夫链取样来近似后验概率,变分法是利用优化结果来近似后验概率,那么我们什么时候用MCMC,什么时候用变分法呢?
首先,MCMC相较于变分法计算上消耗更大,但是它可以保证取得与目标分布相同的样本,而变分法没有这个保证:它只能寻找到近似于目标分布一个密度分布,但同时变分法计算上更快,由于我们将其转化为了优化问题,所以可以利用诸如随机优化(stochastic optimization)或分布优化(distributed optimization)等方法快速的得到结果。所以当数据量较小时,我们可以用MCMC方法消耗更多的计算力但得到更精确的样本。当数据量较大时,我们用变分法处理比较合适。
另一方面,后验概率的分布形式也影响着我们的选择。比如对于有多个峰值的混合模型,MCMC可能只注重其中的一个峰而不能很好的描述其他峰值,而变分法对于此类问题即使样本量较小也可能优于MCMC方法。
黑盒变分推断(BBVI)
ELBO公式表达为:
![如何简单易懂地理解变分推断(variational inference)?插图57 \mathbb E_{q(z;\lambda)}[\text{log}p(x,z)-\text{log}q(z;\lambda)]](http://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
对用参数


直接展开计算如下:
由于:

因此:
然后写成 SGD,就是所谓 Black Box Variational Inference (BBVI)。
其中

参考
今天的文章如何简单易懂地理解变分推断(variational inference)?分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/22273.html