在变分贝叶斯方法中, 证据下界 (通常缩写为 ELBO ,有时也称为 变分下界 [1]或 **负变分自由能** )是一个关于观测数据对数似然的常用下界。 ## 1 术语和符号 设 $X$ 和 $Z$ 为随机变量,其联合分布为 $p_\theta(X,Z)$(简写为 $p_{\theta}$ ),$p_{\theta}(X)$ 是 $X$ 的边缘分布,$p_{\theta}(Z \mid X)$ 是给定 $X$ 时 $Z$ 的条件分布。 对于 $X$ 的任意样本实现 $x \sim p_{\theta}$ 和任何分布 $q_{\phi}$ ,有 $$ \ln p_{\theta}(x) \geq \mathbb {E}_{z \sim q_{\phi }} \left[\ln{\frac{p_{\theta}(x,z)}{q_{\phi}(z)}}\right]. $$ 在变分贝叶斯方法的术语中,**观测变量的分布 $p_{\theta}(X)$ 通常被称为 _证据_ ,其对数形式 $\ln p_{\theta}(X)$ 被称为 _对数证据_**。不过,有时候人们会将两者混用。 ELBO 没有普遍固定的表示法。在本文中我们使用如下形式: $$ 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)变分贝叶斯推断 假设我们有一个可观测的随机变量 $X$ ,我们的目标是希望找到它的真实分布 $p^*$ ,以便能够通过采样生成新数据,并估计未来事件的概率。但一般来说,不可能准确地找到 $p^*$,这迫使我们去寻找一个好的 **近似值** 也就是说,我们定义一个足够大的参数化分布族 $\{ p_{\theta} \},\theta \in \Theta$,然后对某些损失函数 $L$ 求解 $\min \limits_{\theta} L(p_{\theta} ,p^{*})$。 解决此问题的一种可能方法是考虑从 $p_{\theta}$ 到 $p_{\theta + \delta \theta}$ 的微小变化,并求解 $L(p_{\theta} , p^{*}) − L(p_{\theta + \delta \theta}, p^{*}) = 0$,这通常被称为 **变分法**。 由于没有多少显式参数化分布族(所有经典分布族,例如正态分布等,都过于简单化,无法对真实分布进行建模),我们可以考虑通过隐变量来 _隐式参数化_ 概率分布: - 首先,在隐随机变量 $Z$ 上定义一个简单分布 $p(z)$。通常采用正态分布或均匀分布就足够。 - 接下来,定义一组由 $\theta$ 参数化的复杂函数 $f_{\theta}$(例如深度神经网络)。 - 最后,定义一种方法将任意 $f_{\theta}(z)$ 转换为可观测随机变量 $X$ 上的简单分布。例如,设 $f_{\theta}(z)=(f_{1}(z),f_{2}(z))$ 有两个输出,那么我们可以定义 $X$ 上的对应分布为正态分布 $N (f_{1}(z),e^{f_{2}(z)})$ 。 这定义了 $(X,Z)$ 上的联合分布族 $p_{\theta}$ 。从联合分布 $( x , z ) \sim p_{\theta}$ 中采样变得非常容易:只需先对隐变量 $z \sim p$ 采样,然后计算 $f_{\theta}(z)$ ,最后利用 $f_{\theta}(z)$ 从 $x \sim p_{\theta}(\cdot |z)$ 中采样。

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

换句话说,我们有一个可观测变量和隐变量的 **生成模型**。现在,如果联合分布 $p_{\theta}$ 与真实分布 $p^*$ 非常接近,则我们认为 $p_{\theta}$ 是一个足够好的近似: $$ p_{\theta}(X) \approx p^{*}(X) $$ 注意,我们关注的是可观测变量 $X$ 的边缘分布,因此,公式左侧需要在联合分布 $p_{\theta}(X,Z)$ 基础上边缘化掉隐变量 $Z$。 一般来说,不太可能执行边缘化积分 $p_{\theta}(x)=\int p_{\theta }(x|z)p(z)dz$ ,这迫使我们寻找另一个近似值。 根据概率公式有 $p_{\theta}(x)=\frac{p_{\theta}(x|z)p(z)}{p_{\theta}(z|x)}$ ,也就是说,我们只要找到条件分布 $p_{\theta}(z|x)$ 的一个好的近似值,同样能够得到 $X$ 的边缘分布。因此,可以定义另一个分布族 $q_{\phi}(z|x)$ 并用它来近似 $p_{\theta}(z|x)$ 。这是一个隐变量 $Z$ 的 **判别模型**。 整个情况总结如下表: ![tab01](https://xishansnowblog.oss-cn-beijing.aliyuncs.com/images/ntk/stats-20230518090743-a542.png) 在 **贝叶斯** 语言中,上述 $X$ 为可观测变量,$Z$ 是(不可观测的)隐变量,$p(z)$ 是隐变量 $Z$ 的 _先验分布_,$p_{\theta}(x|z)$ 为似然函数,而 $p_{\theta}(z|x)$ 是隐变量 $Z$ 的后验分布。也就是说,给定观测 $x$,我们可以计算 $p_{\theta}(z|x)$ 来推断什么 $z$ 可能会导致 $x$。如果按照贝叶斯定理的话,需要首先计算积分项 $p_{\theta}(x)=\int p_{\theta}(x|z)p(z)dz$ ,然后计算得出 $p_{\theta} (z|x) =\frac {p_{\theta}(x|z)p(z)}{p_{\theta}(x)}$。这显然执行起来代价过于昂贵,但如果可以为大多数 $x$ 找到一个好的近似值 $q_{\phi}(z|x) \approx p_{\theta}(z|x)$ ,我们就可以从 $x$ 廉价地推断出 $z$。这种利用 $q_{\phi}$ 直接对 $x$ 进行计算得到 $z$ 的方式,也被称为 **摊销推断**。 总体而言,我们提出了一个 **变分贝叶斯推断** 的问题。 ### (2) ELBO 的推导 变分推断的一个基本目标是最小化 Kullback–Leibler 散度(KL-散度),这等效于最大化对数似然: $$ \mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]=-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x)) $$ 其中 $H ( p^{*} )=-\mathbb {E} _{x\sim p^{*}}[\ln p^{*}(x)]$ 是真实分布的熵,可以认为是一个常数。所以如果想要最大化 $\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]$ ,只需要最小化 $D_{KL} (p^ {*}(x)\|p_{\theta }(x))$ 即可。通过这种最小化来找到近似值 $p_{\theta} \approx p^{*}$ 。 为了最大化 $\mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]$ ,我们可以简单地采样许多 $x_i \sim p^{*}( x)$ ,即使用重要性采样 $$ N \mathbb {E}_{x \sim p^{*}(x)}[\ln p_{\theta }(x)] \approx \max _{\theta} \sum_{i} \ln p_{\theta }(x_{i}) $$ 为了最大化 $\sum\limits_{i}\ln p_{\theta }(x_{i})$ ,有必要找到 $\ln p_{\theta}(x)$ : $$ \ln p_{\theta} = \ln \int p_{\theta }(x|z)p(z)dz $$ 这通常没有封闭形式,只能进行估计,常用方法是重要性采样的蒙特卡洛积分: $$ \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_{\phi} (z|x)$ 是我们用于执行蒙特卡洛积分的 $z$ 上的采样分布。 所以我们看到,如果对 $z \sim q_{\phi}(\cdot |x)$ 进行采样,那么 $\frac{p_{\theta}(x,z)}{q_{\phi}(z|x) }$ 是 $p_{\theta}(x)$ 的无偏估计。不幸的是,这并没有给处 $\ln p_{\theta}(x)$ 的无偏估计,因为 $\ln$ 是非线性的。事实上,根据 Jensen 不等式, $$ \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] $$ $\ln p_{\theta}(x)$ 的所有明显估计都向下偏置,因为无论采用多少 $z_i\sim q_{\phi }(\cdot |x)$ 样本,都有 Jensen 不等式: $$ \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) $$ 减去右边,我们看到问题归结为零偏差估计: $$ \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 方法,我们有 $$ \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 = 1$ 的最简单情况: $$ \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] $$ 不等式的散度有一个封闭形式: $$ \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 ( \phi , \theta ; x ) := \ln p_{\theta}(x)-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\|p_{\theta }(\cdot |x)) $$ ### (3)最大化 ELBO 对于固定的 $x$ ,优化 $\max_{\theta, \phi} L(\phi ,\theta ;x)$ 同时尝试最大化 $\ln p_{\theta}(x)$ 并最小化 $D_{ KL} (q_{\phi }(\cdot |x)\|p_{\theta }(\cdot |x))$。如果 $p_{\theta}$ 和 $q_{\phi}$ 的参数化足够灵活,我们将获得一些 $\hat{\phi}$, $\hat{\theta}$,这样我们同时拥有 $$ \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} $$ 因为 $$ \mathbb{E}_{x\sim p^{*}(x)}[\ln p_{\theta }(x)]=-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x)) $$ 所以有 $$ \ln p_{\hat{ \theta}} (x)\approx \max _{\theta }-H(p^{*})-D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x)) $$ 进而 $$ \hat{\theta} \approx \arg \min_{\theta} D_{\mathit {KL}}(p^{*}(x)\|p_{\theta }(x)) $$ 换句话说,最大化 ELBO 将同时允许我们获得一个准确的生成式模型 $p_{\hat{ \theta}} \approx p^{*}$ 和一个准确的判别式模型 $q_{\hat{ \phi}} (\cdot |x)\approx p_{\hat {\theta }}(\cdot |x)$ 。 ## 3 主要形式 ELBO 有许多可能的表达方式,每个表达方式都有不同的侧重点。 $$ \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 $$ 这种形式表明,如果我们对 $z \sim q_{\phi} (\cdot |x)$ 进行采样,则 $\ln \frac{p_{\theta}(x,z)}{q_{\phi}(z|x)}$ 是 ELBO 的无偏估计量。 $$ \ln p_{\theta}(x)-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\;\|\;p_{\theta }(\cdot |x)) $$ 这种形式表明 ELBO 是证据 $\ln p_{\theta}(x)$ 的下界,并且关于 $\phi$ 最大化 ELBO 等同于最小化 KL 散度 $p_{\theta}(\cdot|x)$ 到 $q_{\phi}(\cdot |x)$ 。 $$ \mathbb{E}_{z\sim q_{\phi }(\cdot |x)}[\ln p_{\theta }(x|z)]-D_{\mathit {KL}}(q_{\phi }(\cdot |x)\;\|\;p) $$ 这种形式表明,最大化 ELBO 同时尝试使 $q_{\phi} (\cdot |x)$ 接近 $p$ 并将 $q_{\phi}(\cdot |x)$ 集中在那些最大化 的 $z$ 上 $\ln p_{\theta}(x|z)$ 。也就是说,近似后验 $q_{\phi}(\cdot |x)$ 在保持接近先验 $p$ 和向最大似然 $\arg \max_z \ln p_{\theta }(x|z)$ 移动之间取得平衡。 $$ H ( q_{\phi}(\cdot |x))+\mathbb {E} _{z\sim q(\cdot |x)}[\ln p_{\theta }(z|x)]+\ln p_{\theta }(x) $$ 这种形式表明,最大化 ELBO 同时尝试保持 $q_{phi}(\cdot |x)$ 的熵较高,并将 $q_{phi}(\cdot |x)$ 集中在那些最大化的 $z$ 上 $\ln p_{\theta}(z|x)$ 。也就是说,近似后验 $q_{\phi}(\cdot |x)$ 在均匀分布和向最大后验 $\arg \max_z \ln p_{\theta }(z|x)$ 移动之间取得平衡。 ### 数据处理不等式 假设我们从 $p^*$ 中抽取 $N$ 个独立样本,并将它们收集在数据集 $D = \{ x_1,...,x_{N}\}$ 中,那么我们有经验分布 $q_D(x) ={\frac {1}{N}}\sum_{i}\delta _{x_{i}}$ 。 我们可以通过最大化对数似然 $\ln p_{\theta}(D)$ 来将 $p_{\theta}(x)$ 拟合到 $q_D(x)$, 来完成: $$ 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 不等式,我们可以为 $\ln p_{\theta} (D)$ 设置下界,因此有 $$ D_{KL}(q_{D}(x)\|p_{\theta }(x))\leq -{\frac {1}{N}}L(\phi ,\theta ;D)-H(q_{D}) $$ 右侧简化为 KL 散度,因此我们得到: $$ 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(\phi,\theta;D) = \sum\limits_{i} L(\phi ,\theta ;x_{i})$ 就是最小化 $D_{KL} (q_{D, \phi }(x,z);p_{\theta }(x,z))$ ,根据数据处理不等式,它是实际感兴趣量 $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.