变分推断(Variational Inference)

发布时间:2024年01月18日

从变分推断(Variational Inference)说起

?? 在贝叶斯体系中,推断(inference) 指的是 利用已知变量x的观测值推测未知变量z的后验分布,即我们在已经输入变量x后,如何获得未知变量z的分布p(z|x)[3].通俗一点讲一个完整的故事就是,如果没有任何信息,我们可能大概了解一个(latent)变量z的分布,这个分布可能方差比较大。变量x是可观察的,并含有z的一些信息。那么在观察到x后,关于z的分布(此时是后验分布p(z|x))会发生变化,比如方差变得更小了,如下图所示。
在这里插入图片描述
??利用贝叶斯公式:[4]
在这里插入图片描述
p ( x ∣ z ) p(x|z) p(xz) p ( z ) p(z) p(z)可以做出必要的假设符合某个分布。 p ( x ) p(x) p(x)是已经观察到的,所以称为证据(evidence)。
变分推断的一般步骤:
在这里插入图片描述
??精确推断方法准确地计算 p ( z ∣ x ) p(z|x) p(zx),该过程往往需要很大的计算开销,现实应用中近似推断更为常用。近似推断的方法往往分为两大类:

  • 第一类是采样,常见的是MCMC方法,
  • 第二类是使用另一个分布近似 p ( z ∣ x ) p(z|x) p(zx),典型代表就是变分推断。变分推断可以是推断后验分布的期望或者方差。

近似变分推断,就是要找到一个分布 q ? ( z ) q^*(z) q?(z)去近似后验分布 p ( z ∣ x ) p(z|x) p(zx)

  • 指定一个关于z的分布族Q
  • 找到一个 q ? ( z ) ∈ Q q^*(z) \in Q q?(z)Q去近似 p ( z ∣ x ) p(z|x) p(zx)
    在这里插入图片描述
    其中L是一种度量,可以度量两个分布分近似程度。Variational Bayes(变分贝叶斯,VB) 的这个度量采用KL距离:
    在这里插入图片描述
    ??KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(RelativeEntropy)。它衡量的是相同事件空间里的两个概率分布的差异情况。其物理意义是:在相同事件空间里,概率分布P(x)的事件空间,若用概率分布 Q ( x ) Q(x) Q(x)编码时,平均每个基本事件(符号)编码长度增加了多少比特。[5]
    在这里插入图片描述
    这里对KL的意义再重点讨论一下:
    ??KL的意义其实也很好理解。现在假如有两个概率分布P(x)和Q(x),现在要看看分布Q(x)与分布P(x)的接近程度。怎么做呢?其实很容易能够想到,就是根据分布P(x)中采样N个数: x 1 , x 2 , . . . , x N x_1,x_2,...,x_N x1?,x2?,...,xN?,看 P ( x 1 ) P ( x 2 ) . . . P ( x N ) Q ( x 1 ) Q ( x 2 ) . . . Q ( x N ) \frac{P(x_1)P(x_2)...P(x_N)}{Q(x_1)Q(x_2)...Q(x_N)} Q(x1?)Q(x2?)...Q(xN?)P(x1?)P(x2?)...P(xN?)?与1
    的接近程度,如果取对数就是 l o g ( P ( x 1 ) Q ( x 1 ) ) + l o g ( P ( x 2 ) Q ( x 2 ) ) + . . . + l o g ( P ( x N ) Q ( x N ) ) log(\frac{P(x_1)}{Q(x_1)})+log(\frac{P(x_2)}{Q(x_2)})+...+log(\frac{P(x_N)}{Q(x_N)}) log(Q(x1?)P(x1?)?)+log(Q(x2?)P(x2?)?)+...+log(Q(xN?)P(xN?)?)与0的接近程度,取平均数: 1 N ( l o g ( P ( x 1 ) Q ( x 1 ) ) + l o g ( P ( x 2 ) Q ( x 2 ) ) + . . . + l o g ( P ( x N ) Q ( x N ) ) ) \frac{1}{N}(log(\frac{P(x_1)}{Q(x_1)})+log(\frac{P(x_2)}{Q(x_2)})+...+log(\frac{P(x_N)}{Q(x_N)})) N1?(log(Q(x1?)P(x1?)?)+log(Q(x2?)P(x2?)?)+...+log(Q(xN?)P(xN?)?)),这个就是对 ∑ x ∈ X P ( x ) l o g ( P ( x ) Q ( x ) ) \sum_{x \in X}P(x)log(\frac{P(x)}{Q(x)}) xX?P(x)log(Q(x)P(x)?)的估计。因为是看分布Q(x)与分布P(x)的接近程度,所以是从P(x)取样,如果是看分布P(x)与分布Q(x)的接近程度,那就是从Q(x)取样,那么就是 ∑ x ∈ X Q ( x ) l o g ( Q ( x ) P ( x ) ) \sum_{x \in X}Q(x)log(\frac{Q(x)}{P(x)}) xX?Q(x)log(P(x)Q(x)?),二者肯定是不一样的,所以KL距离不是对称的。

?? 这样做下面的一步推导,其中 p ( z ∣ x ) p(z|x) p(zx)是未知的(本质上, p ( x ) p(x) p(x)是未知的)。
在这里插入图片描述
这样做进一步的变化,把 p ( z ∣ x ) p(z|x) p(zx)拆开。
在这里插入图片描述
关于ELBO(evidence lower bound,evidence下界):

  • ELBO是evidence的对数的下界
  • K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) KL(q(z)||p(z|x)) KL(q(z)∣∣p(zx))的最小化等价于对ELBO的最大化(做这样的转化是必要的,因为ELBO中是没有未知量的)
  • ELBO中的 p ( x , z ) = p ( x ∣ z ) p ( z ) p(x,z)=p(x|z)p(z) p(x,z)=p(xz)p(z) p ( x ∣ z ) p(x|z) p(xz) p ( z ) p(z) p(z)都做了假设,是知道的,所以 p ( x , z ) p(x,z) p(x,z)是知道的。

在这里插入图片描述

参考链接:

[3]:变分推断(Variational Inference)初探 - 知乎 (zhihu.com)

[4]: 变分推断-1贝叶斯统计 详细推导 Variational Inference「机器学习」_哔哩哔哩_bilibili
[5]: 计算 KL距离 (相对熵)

https://zhuanlan.zhihu.com/p/507776434

https://zhuanlan.zhihu.com/p/340226815

https://zhuanlan.zhihu.com/p/57574493

https://blog.csdn.net/m0_58547949/article/details/127963524

https://kexue.fm/archives/5253

文章来源:https://blog.csdn.net/l963852k/article/details/135644536
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。