变分推断 Variational Inference
贝叶斯与近似贝叶斯
贝叶斯推断(Bayesian Inference) ,在贝叶斯推断中我们有观测数据
,将模型的参数设置为
,它具有
个参数
。给定一个 先验(prior) 分布
,在我们观测到数据
之后,我们依据这个数据对
的分布有一个更新。这种更新我们通常称之为计算 后验分布(posterior distribution)
:
其中
是 后验分布(posterior distribution) ;
是 likelihood,相当于是一个方程,将数据
和我们所关心的参数
联系在了一起;
是参数的先验prior信息;而
是我们对于数据的信息,通常称之为evidence。
一般来说,贝叶斯建模需要走以下几步:
- 选一个prior,然后去选一个给定的likelihood。一般我们需要有一些假设,比如prior或者likelihood是服从某种分布的。
- 基于观测数据,去计算后验分布。
- 如果后验分布变量z\mathrm{z}z的维度非常高的话,我们就没办法将其全部表示出来,我们一般用后验分布的一些统计量,来代表整个后验分布。比如常见的用posterior mean and variances。
但是有一个问题,就是要去计算后验分布
的话,我们需要去计算
这个积分,如果是高维度上的积分,数值上计算是非常困难的。并且有些情况是可能不存在解析解的。常用的方法有Markov Chain Monte Carlo(MCMC),但是计算比较慢。
另外一种思路,把贝叶斯模型的计算问题转化为一个优化问题。之后就可以通过一些优化上的手段来进行加速。
KL散度 Kullback-Leibler divergence
机器学习中比较重要的一个概念—相对熵(relative entropy)。相对熵又被称为KL散度(Kullback–Leibler divergence) 或信息散度 (information divergence),是两个概率分布间差异的非对称性度量 。在信息论中,相对熵等价于两个概率分布的信息熵的差值,若其中一个概率分布为真实分布,另一个为理论(拟合)分布,则此时相对熵等于交叉熵与真实分布的信息熵之差,表示使用理论分布拟合真实分布时产生的信息损耗。其公式如下:
假设理论拟合出来的事件概率分布
跟真实的分布
一模一样,即
,那么
就等于真实事件的信息熵,这一点显而易见。在理论拟合出来的事件概率分布跟真实的一模一样的时候,相对熵等于
。而拟合出来不太一样的时候,相对熵大于
。其证明如下:
放缩那一步是根据
进行的,因此当且仅当
时,取等号。
这个性质很关键,因为它正是深度学习梯度下降法需要的特性。假设神经网络拟合完美了,那么它就不再梯度下降,而不完美则因为它大于
而继续下降。但它有不好的地方,就是它是不对称的。也就是用
来拟合
和用
来拟合
的相对熵居然不一样,而他们的距离是一样的。这也就是说,相对熵的大小并不跟距离有一一对应的关系。
变分推断 Variational Inference
我们经常利用贝叶斯公式求posterior distribution:
但posterior distribution
求解用贝叶斯的方法是比较困难的,因为我们需要去计算
。而
通常会是一个高维的随机变量,这个积分计算起来就非常困难。在贝叶斯统计中,所有的对于未知量的 推断(inference) 问题可以看做是对 后验概率(posterior) 的计算。因此提出了 Variational Inference 来计算 posterior distribution 。
Variational Inference 核心思想主要包括两步:
- 假设一个用于近似的简单分布
- 通过改变分布的参数
,使
靠近
。
总结称一句话就是,为真实的后验分布引入了一个参数化的模型。 即:用一个简单的分布
拟合复杂的分布
。
这种策略将计算
的问题转化成优化问题了
对
进行如下变形:
由此我们获得等式:
,已知KL Divergence的最小值为
,于是有不等式
其中
称为evidence,所以根据上述不等式,
这一项称为ELBO(Evidence Lower Bound)。当evidence达到ELBO时,KL Divergence为0,两个分布相同。
再结合之前的最优化问题的目标函数,有:
由此可见,最小化KL Divergence 就等价于 最大化ELBO(Evidence Lower Bound)。
暂时只需要知道这么多,以后还需要更多内容的时候再更新。
Reference