L5.1 當那個要加總的量算不出來,可以退到哪裡?
本篇重用3 篇
一個多出來的變數
要怎麼替「這個模型有多符合資料」打一個分數? 給了一個乾淨的分數:把模型給實際資料的機率取對數。那一篇悄悄用掉一個前提—— 要算得出來。
想像收到一張手寫數字,資料上只有像素,沒有記下它出自哪一種筆跡。若模型先選筆跡,再畫出圖片,我們要評估這張圖的機率,就不能只猜一種筆跡;必須把各種可能來路都加起來。這類沒被觀測到的變數,就是 latent variable。
- 一堆點看起來分成幾群,但每個點屬於哪一群沒有寫在資料上。
- 一張圖片背後有一組「內容編碼」,但資料只有像素。
- 一段語音背後有一串音素狀態,但錄音只有波形。
把那個看不到的變數叫 。模型是 ——聯合機率通常很好寫,因為它就是「先抽一個 ,再依 生出 」這個故事。但你要的分數需要的是 的邊際機率:
兩個群集時只是兩項相加;但複雜模型的積分可能難算。長度 、每格 種值的 latent sequence 有 種組合,雖然某些結構能用 dynamic programming 降低成本;高維連續 latent 則通常需要近似。我們要找的是一個更容易估計、可以拿來訓練的 objective。
一個要對所有可能的隱藏狀態加總的量算不出來,
但我們其實只需要它變大——
有沒有一個算得出來、而且保證不會高估它的替身?
課堂提問Q1
造一個 的下界。有兩條路:一條用 Jensen 不等式,三行就到;另一條繞得遠一點,但會順便算出那個下界差了多少。兩條走一次,然後說明為什麼第二條才是這一篇真正的主角。
先想一想,再展開看整理後的答案
第一條路(Jensen)。 固定觀測 x,引入一個容易抽樣、容易算 density 的分布 ,用它猜 x 可能來自哪個 z。先假設 q 在 的地方也是正的,便能乘除 q,改寫原來的積分:
最後一步是 Jensen(保險為什麼存在:Convex Function 與 Jensen 不等式): 是凹的,所以 。右邊那個量就是 ELBO(evidence lower bound):
它仍是一個期望,不一定有 closed form;但若 joint density 和 q 都好算,就能從 q 抽樣估計它,不必直接算原來的 marginal likelihood。
但這條路只告訴你「」,沒告訴你差多少。 而「差多少」正是你最需要知道的:如果差距是 ,最大化 ELBO 就幾乎等於最大化 log-likelihood;如果差距是 而且會隨 亂跑,那最大化 ELBO 可能把你帶到完全錯的地方。
第二條路(直接算差)。 不用不等式,寫一個恆等式。注意 ,代進 ELBO:
也就是
這是一個等式,不是不等式。 它比第一條路多給了三件事:
- 下界也能由 看出來,和 Jensen 的推導一致。
- 鬆緊有了名字:ELBO 差 log-likelihood 多少,完全等於你選的 離真後驗 多遠。
- 緊的條件是可判斷的: 時等號成立,此時 ELBO 精確等於 log-likelihood。
第三點會在第三節直接變成一個演算法。
那個差真的就是 KL
先把等式當成一個可以驗的宣稱。
設定:兩個成分的一維 Gaussian 混合,、、、。這個模型小到 可以精確算出來(兩項相加),所以 ELBO 的每一分鬆緊都看得見。
取 。真後驗是 ,而 。讓 是一個 的伯努利,掃 :
r = 0.0500 ELBO = -2.9758 gap = 1.4067 KL(q‖p(z|x)) = 1.4067
r = 0.2000 ELBO = -2.4530 gap = 0.8840 KL = 0.8840
r = 0.5000 ELBO = -1.8186 gap = 0.2495 KL = 0.2495
r = 0.8134 ELBO = -1.5691 gap = 0.0000 KL = 0.0000 ← q = 真後驗
r = 0.8000 ELBO = -1.5697 gap = 0.0006 KL = 0.0006
r = 0.9500 ELBO = -1.6507 gap = 0.0816 KL = 0.0816
換三個不同的 、兩個不同的 ,逐位仍然吻合:
x = -2.0 r = 0.3 gap = 0.830826 KL = 0.830826
x = -2.0 r = 0.6 gap = 2.201990 KL = 2.201990
x = 0.0 r = 0.3 gap = 0.132907 KL = 0.132907
x = 0.0 r = 0.6 gap = 0.004070 KL = 0.004070
x = +2.0 r = 0.3 gap = 3.050125 KL = 3.050125
x = +2.0 r = 0.6 gap = 1.421288 KL = 1.421288
下界的鬆緊不是一個模糊的「近似誤差」,它有一個名字:你猜的後驗離真後驗的 KL。
例如 距離最佳值 不遠,缺口只有約 。在這個內部、平滑的 Bernoulli 例子裡,KL 的 Taylor expansion 從二次項開始,所以小偏差的代價是 。
但「參數看起來接近」不普遍保證 KL 小;漏掉 support 或尾端也可能造成大缺口。表中的 已經相差 ,提醒我們近似後驗的品質確實重要。
圖說: ELBO 與 log-likelihood 的差正是後驗 KL;最佳點附近的二次形狀讓小偏差只付二階代價。
EM:交替把兩個東西抬起來
第二節的等式對任何 都成立。把它當成一個有兩組變數的最佳化問題—— 和 ——立刻得到一個演算法:輪流固定一個、最大化另一個。
- E-step:固定 ,對 最大化 。由等式, 不含 ,所以最大化 等於最小化 ,答案是 ,而此時 ELBO 精確等於 log-likelihood。
- M-step:固定 ,對 最大化 。 固定時 ;在這裡的 Gaussian mixture,它能用加權平均求解,其他模型則可能還需要 numerical optimization。
實測。 筆從上面那個混合抽出來的資料,故意從一個很差的起點(、)開始:
init ELBO = -1119.412 log-lik = -1094.282
iter 1 E 後 ELBO = -1094.282 (= log-lik -1094.282) M 後 ELBO = -998.819 mu = -0.113, +0.966
iter 2 E 後 ELBO = -978.036 (= log-lik -978.036) M 後 ELBO = -949.100 mu = -0.271, +1.268
iter 3 E 後 ELBO = -923.753 (= log-lik -923.753) M 後 ELBO = -906.253 mu = -0.594, +1.475
iter 4 E 後 ELBO = -898.532 (= log-lik -898.532) M 後 ELBO = -894.940 mu = -0.762, +1.517
iter 5 E 後 ELBO = -893.098 (= log-lik -893.098) M 後 ELBO = -891.803 mu = -0.854, +1.500
iter 6 E 後 ELBO = -890.823 (= log-lik -890.823) M 後 ELBO = -890.030 mu = -0.919, +1.475
真值 mu = -1.000, +1.500
三件事直接從表上讀得出來。
一,每一個 E 後的 ELBO 精確等於當時的 log-likelihood(、、…,一位小數都不差)。這就是「E-step 把 KL 壓成零」的實測。
二,ELBO 從頭到尾單調不減:。兩種 step 都在最大化同一個 ,所以它只能上升。
三,log-likelihood 也單調不減,而且這是推論不是巧合:E 後 ;接下來的 M-step 讓 上升;而 恆成立。所以下一輪 E 後的 一定不低於這一輪。
E-step 把下界頂到天花板,M-step 把天花板抬高;兩步都在推同一個量,所以它不會倒退。
單調不減不等於全域最佳,也不等於逼近真實參數的距離每輪都減少。 我們在最佳化 sample likelihood;有限樣本的最優參數未必就是真值,EM 也可能受到初始化與局部解影響。
把單調性寫完整:對整份資料的 log-likelihood 與 ELBO ,精確 E-step 給 ,而 M-step 只要不降低同一個下界,就有
展開細節為什麼 M-step 常常有封閉解,而直接對 log p 做梯度下降沒有
直接最大化 時,那個 卡在加總的外面,微分會產生一個帶分母的式子,把所有成分耦合在一起。
M-step 最大化的是 —— 在加總裡面。Gaussian mixture 因而變成各 component 的加權估計:
也就是「用後驗當權重的加權平均」。上表的 M-step 就是這兩行。
在精確 E-step 後,缺口是零;M-step 改了模型參數,缺口又可能出現。一般變分近似則不一定能消掉缺口。我們知道它的數學身分,但未必能算出它的數值。
後驗也算不出來的時候
EM 假設 E-step 做得到,也就是真後驗 寫得出來。 是離散且不多的時候可以(上面就是),但 是一個連續向量、 是一個神經網路的時候,後驗完全沒有封閉形式。
這時候退一步:不要求 q 等於後驗,只在可參數化的家族裡近似它。還可以訓練一個網路 ,由 x 直接給出 q 的參數,不必每筆資料各解一次最佳化;這叫 amortized inference。Kingma 與 Welling [2] 的 VAE 採用這個做法,同時最佳化 與 :
(這只是把 ELBO 裡的 重新分組,不是新的東西。)
兩項的拉鋸很好讀:第一項要 帶足夠的資訊去還原 ,第二項要 的分布貼著先驗。而第二項可以被壓到零——如果 強到不需要 就能生出 ,那最省事的解是讓 完全不看 、直接等於先驗。這叫 posterior collapse:ELBO 看起來還不錯,但 什麼都沒學到。
先看一個能精確計算的類比:若混合模型的兩個 component 越來越相像,觀察 x 就越難判斷 z。當使用模型自己的真後驗時, 正是 mutual information:
|μ₁-μ₀| = 4.00 E_x[KL(p(z|x) ‖ p(z))] = 0.556150 nats
|μ₁-μ₀| = 2.00 0.291858
|μ₁-μ₀| = 1.00 0.094910
|μ₁-μ₀| = 0.50 0.025576
|μ₁-μ₀| = 0.20 0.004182
|μ₁-μ₀| = 0.05 0.000262
|μ₁-μ₀| = 0.00 0.000000
距離接近零時,這裡的資訊量大約隨距離平方縮小。但這張表沒有描述 VAE 的訓練動態,不能單靠它證明 collapse 的正回饋。實際上會觀察 KL、重建品質與 latent 的用途,再考慮 KL annealing、free bits 或調整 decoder。
補充VAE 的平均 KL 不只量 mutual information
令 ,aggregate posterior 為 。適當可積條件下,
第一項量 z 帶了多少 x 的資訊;第二項量整體編碼分布與 prior 的差距。只有第二項為零時,平均 KL 才恰好等於 mutual information。
補充受限的 q 遇到雙峰後驗,可能只蓋住其中一個峰
這裡的 是 ELBO 恆等式給出的方向,期望也對我們能抽樣的 q 取。若 q 的家族受限,它可能為了避免在 p 很小的地方放質量,而漏掉部分峰;Blei 等人 [3] 討論了這種變分近似的限制。
實測:目標 是 (雙峰,標準差 ),用單一 Gaussian 去逼近:
最小化 KL(q‖p) :mu = +1.9998 sigma = 0.5004 值 0.6931
最小化 KL(p‖q) :mu = -0.0000 sigma = 2.0616 值 0.7236前者的 numerical solution 貼近一個峰,成本約為 ;後者的最佳 Gaussian 匹配整體均值與變異數,但也在兩峰中間放了較多質量。這個 Gaussian mixture 的 density 處處為正,中間是低密度,不是零機率區域。
兩個方向各自在避免不同的災難: 罰的是「 有質量但 沒有」(所以它不敢跨過空隙), 罰的是「 有質量但 沒有」(所以它不敢漏掉任何一塊)。用錯的機率表下注一年會多輸多少:KL Divergence 與 Cross-Entropy 的不對稱性在這裡不是一個技術細節,它直接決定你會得到哪一種錯誤。
這是近似後驗 q 的例子,不能直接推出生成模型 必然低估資料散布。後者還取決於 decoder、變分家族、訓練與資料。
拖動 ,看下界和那塊 KL 一起動
互動 demo:一次走半步:E-step 把縫補成精確的 0,M-step 把貼好的下界往上推。
這套東西什麼時候可靠
這一切依賴什麼。
一,聯合機率 要好寫。整個方法的立足點就是「聯合好寫、邊際難算」;如果連聯合都寫不出來,ELBO 沒有著力點。
二, 的家族要罩得住真後驗的形狀。上面的 Remark 已經量過代價:家族不夠時,缺口不只是變大,它還會往特定方向偏。而且這個缺口是看不見的——你能算 ELBO,但算不出 ,所以你無從得知自己差多遠。
三,「ELBO 變大」不等於「模型變好」。因為 ,ELBO 上升可能是 上升,也可能只是 變準了。比較兩個不同架構的 ELBO 尤其危險:缺口大小不同,比較的不是同一個東西。
ELBO 是一個你算得出來的量, 是一個你想要的量,而兩者的差是一個你通常量不到的量——這三句話要一起記。
檢查理解
參考文獻
- Jordan, M., Ghahramani, Z., Jaakkola, T. & Saul, L. An Introduction to Variational Methods for Graphical Models. Machine Learning 37, 1999.(把 ELBO 與 EM 放在同一個變分框架下的經典整理。)
- Kingma, D. & Welling, M. Auto-Encoding Variational Bayes. ICLR 2014.(amortized inference 與重參數化技巧,本篇第四節那個目標函數的出處。)
- Blei, D., Kucukelbir, A. & McAuliffe, J. Variational Inference: A Review for Statisticians. JASA 112, 2017.( 方向的不對稱性、mean-field 近似的偏差,以及變分法與 MCMC 的取捨。)