从变分推断(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(x∣z)与
p
(
z
)
p(z)
p(z)可以做出必要的假设符合某个分布。
p
(
x
)
p(x)
p(x)是已经观察到的,所以称为证据(evidence)。
变分推断的一般步骤:
精确推断方法准确地计算
p
(
z
∣
x
)
p(z|x)
p(z∣x),该过程往往需要很大的计算开销,现实应用中近似推断更为常用。近似推断的方法往往分为两大类:
- 第一类是采样,常见的是MCMC方法,
- 第二类是使用另一个分布近似 p ( z ∣ x ) p(z|x) p(z∣x),典型代表就是变分推断。变分推断可以是推断后验分布的期望或者方差。
近似变分推断,就是要找到一个分布 q ∗ ( z ) q^*(z) q∗(z)去近似后验分布 p ( z ∣ x ) p(z|x) p(z∣x):
- 指定一个关于z的分布族Q
- 找到一个
q
∗
(
z
)
∈
Q
q^*(z) \in Q
q∗(z)∈Q去近似
p
(
z
∣
x
)
p(z|x)
p(z∣x)
其中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)}) ∑x∈XP(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)}) ∑x∈XQ(x)log(P(x)Q(x)),二者肯定是不一样的,所以KL距离不是对称的。
这样做下面的一步推导,其中
p
(
z
∣
x
)
p(z|x)
p(z∣x)是未知的(本质上,
p
(
x
)
p(x)
p(x)是未知的)。
这样做进一步的变化,把
p
(
z
∣
x
)
p(z|x)
p(z∣x)拆开。
关于ELBO(evidence lower bound,evidence下界):
- ELBO是evidence的对数的下界
- 对 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) KL(q(z)||p(z|x)) KL(q(z)∣∣p(z∣x))的最小化等价于对ELBO的最大化(做这样的转化是必要的,因为ELBO中是没有未知量的)
- ELBO中的 p ( x , z ) = p ( x ∣ z ) p ( z ) p(x,z)=p(x|z)p(z) p(x,z)=p(x∣z)p(z), p ( x ∣ z ) p(x|z) p(x∣z)与 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