證據下界

在變分貝葉斯方法中，證據下界（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散度而付出了較弱的不等式代價。