证据下界

在变分贝叶斯方法中，证据下界（Evidence lower bound，ELBO；有时也称为变分下界或负变分自由能）是一种用于估计一些观测数据的对数似然的下限。

## 术语和符号

设$X$和$Z$是随机变量，其联合分布为$p_\theta$。例如，$p_\theta( X)$是$X$的边缘分布，$p_\theta( Z \mid X)$是在给定$X$的条件下，$Z$的条件分布。那么对于任何从$p_\theta$中抽取的样本$x\sim p_\theta$和任何分布$q_\phi$，我们有：

$$\ln p_\theta(x) \ge \mathbb \mathbb E_{z\sim q_\phi}\left[ \ln\frac{p_\theta(x, z)}{q_\phi(z)} \right].$$

我们将上述不等式称为ELBO不等式。其中，左侧称为$x$的证据，右侧称为$x$的证据下界（ELBO）。

在变分贝叶斯方法的术语中，分布$p_\theta( X)$称为证据。一些人使用“证据”一词来表示$\ln 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].$$

## 动机

### 变分贝叶斯推理

假设我们有一个可观察的随机变量$X$，并且我们想找到其真实分布$p^*$。这将允许我们通过抽样生成数据，并估计未来事件的概率。一般来说，精确找到$p^*$是不可能的，因此我们不得不寻找一个近似。

也就是说，我们定义一个足够大的参数化分布族$\{p_\theta\}_{\theta\in\Theta}$，然后最小化某种损失函数$L$，$\min_\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$上的正态分布$\mathcal N(f_1(z), e^{f_2(z)})$。

这定义了一个关于$(X, Z)$的联合分布族$p_\theta$。从$p_\theta$中抽取样本$(x, z) \sim p_\theta$变得非常容易：只需从$p$中抽样$z\sim p$，然后计算$f_\theta(z)$，最后使用$f_\theta(z)$来抽样$x \sim p_\theta(\cdot | z)$。

换句话说，我们拥有了一个可观测量和潜在随机变量的生成模型。

现在，我们认为一个分布$p_\theta$是好的，如果它是$p^*$的一个接近近似：$$p_\theta(X) \approx p^*(X)$$由于右侧的分布仅涉及到$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)$的好的近似即可。因此，我们定义另一个分布族$q_\phi(z|x)$来近似$p_\theta(z|x)$，这是一个针对潜在变量的判别模型。

下表概述了所有情况:

$X$：观测量｜$X, Z$｜$Z$：潜变量

$p^*(x)\approx p_\theta(x) \approx \frac{p_\theta(x|z)p(z)}{q_\phi(z|x)}$可近似的｜$p(z)$，简单

$p_\theta(x|z)p(z)$，简单

$p_\theta(z|x) \approx q_\phi(z|x)$可近似的｜$p_\theta(x|z)$，简单

用贝叶斯的方式来说，$X$是观测到的证据，$Z$是潜在/未观测到的随机变量。分布$p$在$Z$上是$Z$的先验分布，$p_\theta(x|z)$是似然函数，而$p_\theta(z|x)$是$Z$的后验分布。

给定一个观测值$x$，我们可以通过计算$p_\theta(z|x)$来推断出可能导致$x$出现的$z$。通常的贝叶斯方法是估计积分：

$$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, z$下的好近似$q_\phi(z|x) \approx p_\theta(z|x)$，那么我们就可以快速地从$x$推断出$z$。因此，寻找一个好的$q_\phi$也称为摊销推断。

综上所述，我们找到了一个变分贝叶斯推断问题。

### 推导ELBO

变分推断中的一个基本结果是，最小化KL散度等价于最大化对数似然：$$\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)] = -H(p^*) - D_{\mathit{KL}}(p^*(x) \| p_\theta(x))$$其中$H(p^*) = -\mathbb \mathbb E_{x\sim p^*}[\ln p^*(x)]$是真实分布的熵。因此，如果我们可以最大化$\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)]$

我们就可以最小化$D_{\mathit{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\max_\theta \mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)]\approx \max_\theta \sum_i \ln p_\theta (x_i)$$为了最大化$\sum_i \ln p_\theta (x_i)$，必须要找到$\ln p_\theta (x_i)$：事实上，根据简森不等式，有 $\mathbb E_{x\sim p^{}(x)}\left[\max {\theta }\sum {i}\ln p{\theta }(x{i})\right]\geq \max {\theta }\mathbb E{x\sim p^{}(x)}\left[\sum {i}\ln p{\theta }(x_{i})\right]=N\max {\theta }\mathbb {E} {x\sim p^{*}(x)}[\ln p{\theta }(x)]$ 这个估计量存在向上的偏差。这可以看作是过度拟合：对于一些有限的采样数据 $x{i}$，通常存在一些 $\theta$ 比整个 $p^{*}$ 分布更好地拟合它们。$$\ln p_\theta(x) = \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$是非线性的。事实上，由于简森不等式，我们有：$$\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)$的样本，我们都可以由琴生不等式得到：$$\mathbb E_{z_i \sim q_\phi(\cdot|x)}\left[ <pre> \ln \left(\frac 1N \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 1N \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 1N \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 1N \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})$$如果我们继续推导，我们将得到加权自编码器。但是让我们先回到最简单的情况，即$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))$$

### 最大化 ELBO

对于固定的$x$，优化$\max_{\theta, \phi} L(\phi, \theta; x)$的同时试图最大化$\ln p_\theta(x)$和最小化$D_{\mathit{KL}}(q_\phi(\cdot | x)\| p_\theta(\cdot | x))$。如果$p_\theta$和$q_\phi$的参数化足够灵活，我们会得到一些 $\hat\phi, \hat \theta$，使得我们同时得到了以下近似：$$\ln p_{\hat \theta}(x) \approx \max_\theta \ln p_\theta(x); \quad q_{\hat\phi}(\cdot | x)\approx p_{\hat\theta}(\cdot | x)$$由于$$\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 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)$。

## 主要形式

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 等价于最小化从$p_\theta(\cdot | x)$到$q_\phi(\cdot | x)$ KL 散度 .$$\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)$集中在最大化$\ln p_\theta (x|z)$的那些$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)$集中于最大化$\ln p_\theta (z|x)$的那些$z$。也就是说，近似后验$q_\phi(\cdot | x)$在均匀分布和向最大后验$\arg\max_z \ln p_\theta (z|x)$之间保持平衡。

### 数据处理不等式

假设我们从$p^*$中取$N$个独立样本，并将它们收集在数据集$D = \{x_1, ..., x_N\}$中，则我们具有经验分布$q_D(x) = \frac 1N \sum_i \delta_{x_i}$。其中$\delta$表示冲激函数（Dirac函数）。

从$p_\theta(x)$拟合$q_D(x)$通常可以通过最大化对数似然$\ln p_\theta(D)$来完成：$$D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) = -\frac 1N \sum_i \ln p_\theta(x_i) - H(q_D)= -\frac 1N \ln p_\theta(D) + H(q_D)$$现在，根据 ELBO 不等式，我们可以约束$\ln p_\theta(D)$，因此$$D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) \leq -\frac 1N L(\phi, \theta; D) - H(q_D)$$右侧简化为 KL 散度，因此我们得到：$$D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) \leq -\frac 1N \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_i L(\phi, \theta; x_i)$等价于最小化$D_{\mathit{KL}}(q_{D, \phi}(x, z); p_\theta(x, z))$，其中上式是真实的需要估计的量$D_{\mathit{KL}}(q_{D}(x); p_\theta(x))$的上界，通过数据处理不等式获得。也就是说，我们通过将潜在空间与观测空间连接起来，为了更高效地最小化KL散度而付出了较弱的不等式代价。