如何简单易懂地理解变分推断(variational inference)? | 您所在的位置:网站首页 › 怎样看世界地图简单易懂一点 › 如何简单易懂地理解变分推断(variational inference)? |
正在学,把网上优质文章整理了一下。 我们经常利用贝叶斯公式求posterior distribution 但posterior distribution 那Variational Inference怎么做的呢?其核心思想主要包括两步: 假设一个分布 总结称一句话就是,为真实的后验分布引入了一个参数话的模型。 即:用一个简单的分布 这种策略将计算 收敛后,就可以用 而用一个分布去拟合另一个分布通常需要衡量这两个分布之间的相似性,通常采用KL散度,当然还有其他的一些方法,像JS散度这种。下面介绍KL散度: 机器学习中比较重要的一个概念—相对熵(relative entropy)。相对熵又被称为KL散度(Kullback–Leibler divergence) 或信息散度 (information divergence),是两个概率分布间差异的非对称性度量 。在信息论中,相对熵等价于两个概率分布的信息熵的差值,若其中一个概率分布为真实分布,另一个为理论(拟合)分布,则此时相对熵等于交叉熵与真实分布的信息熵之差,表示使用理论分布拟合真实分布时产生的信息损耗 。其公式如下: 合并之后表示为: 假设理论拟合出来的事件概率分布 其中第一个不等式是由 这个性质很关键,因为它正是深度学习梯度下降法需要的特性。假设神经网络拟合完美了,那么它就不再梯度下降,而不完美则因为它大于0而继续下降。 但它有不好的地方,就是它是不对称的。也就是用 中间引入了KL散度,但是我们本文的目的还是来求这个变分推理,不要走偏了。下面涉及一些公式等价转换: 等式两边同时对 到这里我们需要回顾一下我们的问题,我们的目标是使 而由于 将 现在,variational inference的目标变成: ELBO公式表达为: 原公式可表示为: 引入ELBO表示为: 实际上EM算法(Expectation-Maximization)就是利用了这一特征,它分为交替进行的两步:E step假设模型参数不变, 那如何来求解上述公式呢?下面介绍平均场(mean-field)、蒙特卡洛、和黑盒变分推断 (Black Box Variational Inference) 的方法。 平均场变分族(mean-field variational family) 之前我们说我们选择一族合适的近似概率分布 一个简单而有效的变分族为平均场变分族(mean-field variational family)。它假设了隐藏变量间是相互独立的: 这个假设看起来似乎比较强,但实际应用范围还是比较广泛,我们可以将其延展为将有实际相互关联的隐藏变量分组,而化为各组联合分布的乘积形式即可。 利用ELBO和平均场假设,我们就可以利用coordinate ascent variational inference(简称CAVI)方法来处理: 利用条件概率分布的链式法则有 :将其代入ELBO的定义得到: 将其对 由此得到coordinate ascent 的更新法则为: 我们可以利用这一法则不断的固定其他的 其完整算法如下所示: MCMC方法是利用马尔科夫链取样来近似后验概率,变分法是利用优化结果来近似后验概率,那么我们什么时候用MCMC,什么时候用变分法呢? 首先,MCMC相较于变分法计算上消耗更大,但是它可以保证取得与目标分布相同的样本,而变分法没有这个保证:它只能寻找到近似于目标分布一个密度分布,但同时变分法计算上更快,由于我们将其转化为了优化问题,所以可以利用诸如随机优化(stochastic optimization)或分布优化(distributed optimization)等方法快速的得到结果。所以当数据量较小时,我们可以用MCMC方法消耗更多的计算力但得到更精确的样本。当数据量较大时,我们用变分法处理比较合适。 另一方面,后验概率的分布形式也影响着我们的选择。比如对于有多个峰值的混合模型,MCMC可能只注重其中的一个峰而不能很好的描述其他峰值,而变分法对于此类问题即使样本量较小也可能优于MCMC方法。 黑盒变分推断(BBVI)ELBO公式表达为: 对用参数 直接展开计算如下: 由于: 因此: 然后写成 SGD,就是所谓 Black Box Variational Inference (BBVI)。 其中 |
CopyRight 2018-2019 实验室设备网 版权所有 |