在变分贝叶斯方法中, 证据下界 (通常缩写为 ELBO ,有时也称为 变分下界 [1]负变分自由能 )是一个关于观测数据对数似然的常用下界。

1 术语和符号

XXZZ 为随机变量,其联合分布为 pθ(X,Z)p_\theta(X,Z)(简写为 pθp_{\theta} ),pθ(X)p_{\theta}(X)XX 的边缘分布,pθ(ZX)p_{\theta}(Z \mid X) 是给定 XXZZ 的条件分布。

对于 XX 的任意样本实现 xpθx \sim p_{\theta} 和任何分布 qϕq_{\phi} ,有

lnpθ(x)Ezqϕ[lnpθ(x,z)qϕ(z)].\ln p_{\theta}(x) \geq \mathbb {E}_{z \sim q_{\phi }} \left[\ln{\frac{p_{\theta}(x,z)}{q_{\phi}(z)}}\right].

在变分贝叶斯方法的术语中,观测变量的分布 pθ(X)p_{\theta}(X) 通常被称为 证据 ,其对数形式 lnpθ(X)\ln p_{\theta}(X) 被称为 对数证据。不过,有时候人们会将两者混用。

ELBO 没有普遍固定的表示法。在本文中我们使用如下形式:

L(ϕ,θ;x):=Ezqϕ(x)[lnpθ(x,z)qϕ(zx)].L ( \phi , \theta ; x ) := \mathbb{E}_{z\sim q_{\phi}(\cdot |x)}\left[\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right].

2 动机

(1)变分贝叶斯推断

假设我们有一个可观测的随机变量 XX ,我们的目标是希望找到它的真实分布 pp^* ,以便能够通过采样生成新数据,并估计未来事件的概率。但一般来说,不可能准确地找到 pp^*,这迫使我们去寻找一个好的 近似值

也就是说,我们定义一个足够大的参数化分布族 {pθ},θΘ\{ p_{\theta} \},\theta \in \Theta,然后对某些损失函数 LL 求解 minθL(pθ,p)\min \limits_{\theta} L(p_{\theta} ,p^{*})。 解决此问题的一种可能方法是考虑从 pθp_{\theta}pθ+δθp_{\theta + \delta \theta} 的微小变化,并求解 L(pθ,p)L(pθ+δθ,p)=0L(p_{\theta} , p^{*}) − L(p_{\theta + \delta \theta}, p^{*}) = 0,这通常被称为 变分法

由于没有多少显式参数化分布族(所有经典分布族,例如正态分布等,都过于简单化,无法对真实分布进行建模),我们可以考虑通过隐变量来 隐式参数化 概率分布:

  • 首先,在隐随机变量 ZZ 上定义一个简单分布 p(z)p(z)。通常采用正态分布或均匀分布就足够。
  • 接下来,定义一组由 θ\theta 参数化的复杂函数 fθf_{\theta}(例如深度神经网络)。
  • 最后,定义一种方法将任意 fθ(z)f_{\theta}(z) 转换为可观测随机变量 XX 上的简单分布。例如,设 fθ(z)=(f1(z),f2(z))f_{\theta}(z)=(f_{1}(z),f_{2}(z)) 有两个输出,那么我们可以定义 XX 上的对应分布为正态分布 N(f1(z),ef2(z))N (f_{1}(z),e^{f_{2}(z)})

这定义了 (X,Z)(X,Z) 上的联合分布族 pθp_{\theta} 。从联合分布 (x,z)pθ( x , z ) \sim p_{\theta} 中采样变得非常容易:只需先对隐变量 zpz \sim p 采样,然后计算 fθ(z)f_{\theta}(z) ,最后利用 fθ(z)f_{\theta}(z)xpθ(z)x \sim p_{\theta}(\cdot |z) 中采样。

注: 上面的描述对应于变分自编码器的解码器。其基本思想是通过对一个简单分布的非线性计算,生成一个复杂分布,然后用这个复杂分布来代替变分分布使用。之所以说是隐式参数化,是因为此变分分布没有简单分布的封闭形式。

换句话说,我们有一个可观测变量和隐变量的 生成模型。现在,如果联合分布 pθp_{\theta} 与真实分布 pp^* 非常接近,则我们认为 pθp_{\theta} 是一个足够好的近似:

pθ(X)p(X)p_{\theta}(X) \approx p^{*}(X)

注意,我们关注的是可观测变量 XX 的边缘分布,因此,公式左侧需要在联合分布 pθ(X,Z)p_{\theta}(X,Z) 基础上边缘化掉隐变量 ZZ

一般来说,不太可能执行边缘化积分 pθ(x)=pθ(xz)p(z)dzp_{\theta}(x)=\int p_{\theta }(x|z)p(z)dz ,这迫使我们寻找另一个近似值。

根据概率公式有 pθ(x)=pθ(xz)p(z)pθ(zx)p_{\theta}(x)=\frac{p_{\theta}(x|z)p(z)}{p_{\theta}(z|x)} ,也就是说,我们只要找到条件分布 pθ(zx)p_{\theta}(z|x) 的一个好的近似值,同样能够得到 XX 的边缘分布。因此,可以定义另一个分布族 qϕ(zx)q_{\phi}(z|x) 并用它来近似 pθ(zx)p_{\theta}(z|x) 。这是一个隐变量 ZZ判别模型

整个情况总结如下表:

tab01

贝叶斯 语言中,上述 XX 为可观测变量,ZZ 是(不可观测的)隐变量,p(z)p(z) 是隐变量 ZZ先验分布pθ(xz)p_{\theta}(x|z) 为似然函数,而 pθ(zx)p_{\theta}(z|x) 是隐变量 ZZ 的后验分布。也就是说,给定观测 xx,我们可以计算 pθ(zx)p_{\theta}(z|x) 来推断什么 zz 可能会导致 xx。如果按照贝叶斯定理的话,需要首先计算积分项 pθ(x)=pθ(xz)p(z)dzp_{\theta}(x)=\int p_{\theta}(x|z)p(z)dz ,然后计算得出 pθ(zx)=pθ(xz)p(z)pθ(x)p_{\theta} (z|x) =\frac {p_{\theta}(x|z)p(z)}{p_{\theta}(x)}。这显然执行起来代价过于昂贵,但如果可以为大多数 xx 找到一个好的近似值 qϕ(zx)pθ(zx)q_{\phi}(z|x) \approx p_{\theta}(z|x) ,我们就可以从 xx 廉价地推断出 zz。这种利用 qϕq_{\phi} 直接对 xx 进行计算得到 zz 的方式,也被称为 摊销推断

总体而言,我们提出了一个 变分贝叶斯推断 的问题。

(2) ELBO 的推导

变分推断的一个基本目标是最小化 Kullback–Leibler 散度(KL-散度),这等效于最大化对数似然:

Exp(x)[lnpθ(x)]=H(p)DKL(p(x)pθ(x))\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]=-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x))

其中 H(p)=Exp[lnp(x)]H ( p^{*} )=-\mathbb {E} _{x\sim p^{*}}[\ln p^{*}(x)] 是真实分布的熵,可以认为是一个常数。所以如果想要最大化 Exp(x)[lnpθ(x)]\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)] ,只需要最小化 DKL(p(x)pθ(x))D_{KL} (p^ {*}(x)\|p_{\theta }(x)) 即可。通过这种最小化来找到近似值 pθpp_{\theta} \approx p^{*}

为了最大化 Exp(x)[lnpθ(x)]\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)] ,我们可以简单地采样许多 xip(x)x_i \sim p^{*}( x) ,即使用重要性采样

NExp(x)[lnpθ(x)]maxθilnpθ(xi)N \mathbb {E}_{x \sim p^{*}(x)}[\ln p_{\theta }(x)] \approx \max _{\theta} \sum_{i} \ln p_{\theta }(x_{i})

为了最大化 ilnpθ(xi)\sum\limits_{i}\ln p_{\theta }(x_{i}) ,有必要找到 lnpθ(x)\ln p_{\theta}(x)

lnpθ=lnpθ(xz)p(z)dz\ln p_{\theta} = \ln \int p_{\theta }(x|z)p(z)dz

这通常没有封闭形式,只能进行估计,常用方法是重要性采样的蒙特卡洛积分:

pθ(xz)p(z)dz=Ezqϕ(x)[pθ(x,z)qϕ(zx)]\int p_{\theta}(x|z)p(z)dz = \mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]

其中 qϕ(zx)q_{\phi} (z|x) 是我们用于执行蒙特卡洛积分的 zz 上的采样分布。

所以我们看到,如果对 zqϕ(x)z \sim q_{\phi}(\cdot |x) 进行采样,那么 pθ(x,z)qϕ(zx)\frac{p_{\theta}(x,z)}{q_{\phi}(z|x) }pθ(x)p_{\theta}(x) 的无偏估计。不幸的是,这并没有给处 lnpθ(x)\ln p_{\theta}(x) 的无偏估计,因为 ln\ln 是非线性的。事实上,根据 Jensen 不等式,

lnpθ(x)=lnEzqϕ(x)[pθ(x,z)qϕ(zx)]Ezqϕ(x)[lnpθ(x,z)qϕ(zx)]\ln p_{\theta}(x)=\ln \mathbb{E} _{z\sim q_{\phi}(\cdot |x)} \left[{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right] \geq \mathbb{E}_{z\sim q_{\phi}(\cdot |x)} \left[\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]

lnpθ(x)\ln p_{\theta}(x) 的所有明显估计都向下偏置,因为无论采用多少 ziqϕ(x)z_i\sim q_{\phi }(\cdot |x) 样本,都有 Jensen 不等式:

Eziqϕ(x)[ln(1Nipθ(x,zi)qϕ(zix))]lnEziqϕ(x)[1Nipθ(x,zi)qϕ(zix)]=lnpθ(x)\mathbb{E}_{z_{i} \sim q_{\phi }(\cdot |x)}\left[\ln\left({\frac {1}{N}}\sum _{i}{\frac {p_{\theta }(x,z_{i})}{q_{\phi }(z_{i}|x)}}\right)\right] \leq \ln \mathbb {E} _{z_{i}\sim q_{\phi }(\cdot |x)}\left[{\frac {1}{N}}\sum _{i}{\frac {p_{\theta }(x,z_{i})}{q_{\phi }(z_{i}|x)}}\right] = \ln p_{\theta }(x)

减去右边,我们看到问题归结为零偏差估计:

Eziqϕ(x)[ln(1Nipθ(zix)qϕ(zix))]0\mathbb{E}_{z_{i}\sim q_{\phi }(\cdot |x)}\left[\ln\left({\frac {1}{N}}\sum _{i}{\frac {p_{\theta }(z_{i}|x)}{q_{\phi }(z_{i}|x)}}\right)\right]\leq 0

通过 delta 方法,我们有

Eziqϕ(x)[ln(1Nipθ(zix)qϕ(zix))]12NVzqϕ(x)[pθ(zx)qϕ(zx)]=O(N1)\mathbb{E}_{z_{i}\sim q_{\phi }(\cdot |x)}\left[\ln\left({\frac {1}{N}}\sum _{i}{\frac {p_{\theta }(z_{i}|x)}{q_{\phi }(z_{i}|x)}}\right)\right]\approx -{\frac {1}{2N}}\mathbb {V} _{z\sim q_{\phi }(\cdot |x)}\left[{\frac {p_{\theta }(z|x)}{q_{\phi }(z|x)}}\right]=O(N^{-1})

如果继续这样做,我们将获得重要性加权的自编码器 [2]。但是我们回到 N=1N = 1 的最简单情况:

lnpθ(x)=lnEzqϕ(x)[pθ(x,z)qϕ(zx)]Ezqϕ(x)[lnpθ(x,z)qϕ(zx)]\ln p_{\theta}(x)=\ln\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]\geq \mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]

不等式的散度有一个封闭形式:

lnpθ(x)Ezqϕ(x)[lnpθ(x,z)qϕ(zx)]=DKL(qϕ(x)pθ(x))0\ln p_{\theta} (x)-\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]=D_{\mathit {KL}}(q_{\phi }(\cdot |x)\|p_{\theta }(\cdot |x))\geq 0

这样就得到了 ELBO 函数:

L(ϕ,θ;x):=lnpθ(x)DKL(qϕ(x)pθ(x))L ( \phi , \theta ; x ) := \ln p_{\theta}(x)-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\|p_{\theta }(\cdot |x))

(3)最大化 ELBO

对于固定的 xx ,优化 maxθ,ϕL(ϕ,θ;x)\max_{\theta, \phi} L(\phi ,\theta ;x) 同时尝试最大化 lnpθ(x)\ln p_{\theta}(x) 并最小化 DKL(qϕ(x)pθ(x))D_{ KL} (q_{\phi }(\cdot |x)\|p_{\theta }(\cdot |x))。如果 pθp_{\theta}qϕq_{\phi} 的参数化足够灵活,我们将获得一些 ϕ^\hat{\phi}, θ^\hat{\theta},这样我们同时拥有

lnpθ^(x)maxθlnpθ(x);qϕ^(x)pθ^(x)\begin{align} &\ln p_{\hat{ \theta}}(x)\approx \max _{\theta }\ln p_{\theta }(x);\\ &q_{\hat {\phi }}(\cdot |x)\approx p_{\hat {\theta }}(\cdot |x) \end{align}

因为

Exp(x)[lnpθ(x)]=H(p)DKL(p(x)pθ(x))\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]=-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x))

所以有

lnpθ^(x)maxθH(p)DKL(p(x)pθ(x))\ln p_{\hat{ \theta}} (x)\approx \max _{\theta }-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x))

进而

θ^argminθDKL(p(x)pθ(x))\hat{\theta} \approx \arg \min_{\theta} D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x))

换句话说,最大化 ELBO 将同时允许我们获得一个准确的生成式模型 pθ^pp_{\hat{ \theta}} \approx p^{*} 和一个准确的判别式模型 qϕ^(x)pθ^(x)q_{\hat{ \phi}} (\cdot |x)\approx p_{\hat {\theta }}(\cdot |x)

3 主要形式

ELBO 有许多可能的表达方式,每个表达方式都有不同的侧重点。

Ezqϕ(x)[lnpθ(x,z)qϕ(zx)]=qϕ(zx)lnpθ(x,z)qϕ(zx)dz\mathbb{E}_{z\sim q_{\phi }(\cdot |x)}\left[\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}\right]=\int q_{\phi }(z|x)\ln{\frac {p_{\theta }(x,z)}{q_{\phi }(z|x)}}dz

这种形式表明,如果我们对 zqϕ(x)z \sim q_{\phi} (\cdot |x) 进行采样,则 lnpθ(x,z)qϕ(zx)\ln \frac{p_{\theta}(x,z)}{q_{\phi}(z|x)} 是 ELBO 的无偏估计量。

lnpθ(x)DKL(qϕ(x)    pθ(x))\ln p_{\theta}(x)-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\;\|\;p_{\theta }(\cdot |x))

这种形式表明 ELBO 是证据 lnpθ(x)\ln p_{\theta}(x) 的下界,并且关于 ϕ\phi 最大化 ELBO 等同于最小化 KL 散度 pθ(x)p_{\theta}(\cdot|x)qϕ(x)q_{\phi}(\cdot |x)

Ezqϕ(x)[lnpθ(xz)]DKL(qϕ(x)    p)\mathbb{E}_{z\sim q_{\phi }(\cdot |x)}[\ln p_{\theta }(x|z)]-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\;\|\;p)

这种形式表明,最大化 ELBO 同时尝试使 qϕ(x)q_{\phi} (\cdot |x) 接近 pp 并将 qϕ(x)q_{\phi}(\cdot |x) 集中在那些最大化 的 zzlnpθ(xz)\ln p_{\theta}(x|z) 。也就是说,近似后验 qϕ(x)q_{\phi}(\cdot |x) 在保持接近先验 pp 和向最大似然 argmaxzlnpθ(xz)\arg \max_z \ln p_{\theta }(x|z) 移动之间取得平衡。

H(qϕ(x))+Ezq(x)[lnpθ(zx)]+lnpθ(x)H ( q_{\phi}(\cdot |x))+\mathbb {E} _{z\sim q(\cdot |x)}[\ln p_{\theta }(z|x)]+\ln p_{\theta }(x)

这种形式表明,最大化 ELBO 同时尝试保持 qphi(x)q_{phi}(\cdot |x) 的熵较高,并将 qphi(x)q_{phi}(\cdot |x) 集中在那些最大化的 zzlnpθ(zx)\ln p_{\theta}(z|x) 。也就是说,近似后验 qϕ(x)q_{\phi}(\cdot |x) 在均匀分布和向最大后验 argmaxzlnpθ(zx)\arg \max_z \ln p_{\theta }(z|x) 移动之间取得平衡。

数据处理不等式

假设我们从 pp^* 中抽取 NN 个独立样本,并将它们收集在数据集 D={x1,...,xN}D = \{ x_1,...,x_{N}\} 中,那么我们有经验分布 qD(x)=1Niδxiq_D(x) ={\frac {1}{N}}\sum_{i}\delta _{x_{i}}

我们可以通过最大化对数似然 lnpθ(D)\ln p_{\theta}(D) 来将 pθ(x)p_{\theta}(x) 拟合到 qD(x)q_D(x), 来完成:

DKL(qD(x)pθ(x))=1Nilnpθ(xi)H(qD)=1Nlnpθ(D)+H(qD)D_{KL}(q_{D}(x)\|p_{\theta }(x))=-{\frac {1}{N}}\sum _{i}\ln p_{\theta }(x_{i})-H(q_{D})=-{\frac {1}{N}}\ln p_{\theta }(D)+H(q_{D})

现在,根据 ELBO 不等式,我们可以为 lnpθ(D)\ln p_{\theta} (D) 设置下界,因此有

DKL(qD(x)pθ(x))1NL(ϕ,θ;D)H(qD)D_{KL}(q_{D}(x)\|p_{\theta }(x))\leq -{\frac {1}{N}}L(\phi ,\theta ;D)-H(q_{D})

右侧简化为 KL 散度,因此我们得到:

DKL(qD(x)pθ(x))1NiL(ϕ,θ;xi)H(qD)=DKL(qD,ϕ(x,z);pθ(x,z))D_{\mathit{KL}}(q_D(x) \| p_{\theta}(x)) \leq - \frac{1}{N} \sum_{i} L(\phi,\theta;x_{i}) - H(q_D) = D_{\mathit{KL}}(q_{D,\phi}(x,z);p_{\theta}(x,z))

这个结果可以被解释为 数据处理不等式 的一个特例。在这种解释中,最大化 L(ϕ,θ;D)=iL(ϕ,θ;xi)L(\phi,\theta;D) = \sum\limits_{i} L(\phi ,\theta ;x_{i}) 就是最小化 DKL(qD,ϕ(x,z);pθ(x,z))D_{KL} (q_{D, \phi }(x,z);p_{\theta }(x,z)) ,根据数据处理不等式,它是实际感兴趣量 DKL(qD(x);pθ(x))D_{KL} (q_{D}(x);p_{\theta}(x)) 的上限。也就是说,为了更有效地最小化 KL 散度,我们将一个隐空间附加到可观测空间,并付出了较弱的不等式代价 [3]

References

  • [1] Kingma, Diederik P.; Welling, Max (2014-05-01). "Auto-Encoding Variational Bayes". arXiv:1312.6114.
  • [2] Burda, Yuri; Grosse, Roger; Salakhutdinov, Ruslan (2015-09-01). "Importance Weighted Autoencoders".
  • [3] Kingma, Diederik P.; Welling, Max (2019-11-27). "An Introduction to Variational Autoencoders". Foundations and Trends in Machine Learning. 12 (4). Section 2.7. arXiv:1906.02691. doi:10.1561/2200000056. ISSN 1935-8237.