生成模型到底承諾了什麼
判別式模型學的是 *p(y | x)*;生成模型更有野心:它要捕捉整個資料分布 *p(x)*——所有合理影像、句子或分子所構成的流形——好讓你能取樣(sample)出新的點、評估(score)某個點有多可能、並常常還能還原出解釋它的潛在(latent)編碼。這三項能力(取樣、評估密度、推論潛在變數)很少能免費同時擁有,而你能乾淨地拿到哪幾項,正是區分各個模型家族的關鍵。
整個生成模型領域誠實的起點是一個令人頭痛的事實:寫下一個有彈性的密度 p(x) = p̃(x) / Z 很容易,但正規化常數 Z = ∫ p̃(x) dx 是一個高維積分,我們通常算不出來。本指南裡的每一個家族,骨子裡都是一種讓你永遠不必去算 Z 的策略。
一行道尽全局:灵活的密度容易写出,难的是那个不可解的归一化常数 Z。
家族一——變分下界(VAE 一脈)
潛在變數模型把 p(x) = ∫ p(x | z) p(z) dz 寫成邊際積分。這個邊際難解,所以我們不直接最大化 log *p(x)*,而是最大化它一個可計算的下界——證據下界(evidence lower bound, ELBO)。ELBO 與真實對數概似之間的差距,恰好是近似後驗 *q(z | x)* 到真實後驗的 KL 散度,因此「收緊下界」和「學一個好的編碼器」其實是同一件事。這正是變分自編碼器(variational autoencoder)內部的引擎。
VAE 家族最大化的证据下界(ELBO):重构项减去拉向先验的 KL 项。
這個下界可能很鬆,而鬆的下界會把模型偏向「容易匹配」而非「真實」的後驗。重要性加權自編碼器(importance-weighted autoencoder, IWAE)透過對多個潛在樣本做重要性加權平均來收緊它:用 k 個樣本時,可以證明當 k → ∞ 下界會逼近 log *p(x),以算力換取保真度。理解為什麼*更緊的下界不見得能給出更好的編碼器梯度,是這裡一個典型的研究生級別細節。
# k-sample IWAE bound (single x) z = q.sample(k) # k latents from encoder logw = p_xz(x, z) + p_z(z) - q_zx(z, x) bound = logsumexp(logw) - log(k) # tighter than mean(logw)
家族二——以建構保證精確概似(流模型)
正規化流(normalizing flows)乾脆完全不去近似概似。它把 *p(x)* 建構成一個簡單基底密度(高斯)的可逆、可微變換,再用變數變換公式直接讀出精確的對數密度——你只需付出該變換 Jacobian 的對數行列式(log-determinant)。整個架構設計的賽局,就是讓每一層既有表達力、又能讓那個 Jacobian 便宜(例如三角形,行列式就是對角線的乘積)。
流模型如何读出精确对数似然:基分布在 f(x) 处的值加上雅可比行列式的对数。
這筆交易是:流模型給你精確的對數概似與精確的取樣,使它成為密度估計的誠實量尺。代價是可逆性的限制——每一層都必須是輸入輸出維度相同的雙射,這就限制了 VAE 可以隨意享用的那種瓶頸與壓縮。
家族三與四——能量與隱式
能量模型(energy-based models, EBMs)則正面擁抱未正規化的密度:對任意神經網路能量 E,令 *p(x) ∝ exp(−E(x))*。這彈性最大——完全沒有架構上的緊身衣——但代價是訓練與取樣都得設法繞過 Z。下一篇指南整篇都在講這個繞法,因為它會直接通往擴散模型。
隱式模型則完全放棄密度。生成對抗網路(generative adversarial network, GAN)只需要一個把雜訊映成樣本的生成器,對抗一個評論者(critic)來訓練。Wasserstein GAN把原本的 Jensen–Shannon 目標換成推土機距離(Earth-Mover, Wasserstein-1),其對偶形式即使在生成器與資料分布幾乎不重疊時,仍能給評論者有意義、不飽和的梯度——這正是修正早期 GAN 脆弱、模態崩潰訓練的關鍵。
交互式控件,展示生成器与判别器在极小极大对抗博弈中相互竞争。
生成的三難——以及接下來的路
退後一步,模式就浮現了。你想要三件事——快速取樣、高樣本品質、廣泛模態涵蓋(與概似相關)——而歷史上你大概只能挑兩樣。GAN 給你快又銳利的樣本卻丟模態;流模型與 VAE 涵蓋模態又給概似卻在品質上落後;EBM 有彈性但慢。本軌的主角——擴散模型——靠著把一個困難問題換成許多個容易的去雜訊步驟,打破了這個僵局。
- 指南 2——分數匹配:在完全不碰 Z 的情況下學會 ∇ log p;這是從能量模型通往擴散模型的橋。
- 指南 3——擴散模型:DDPM、SDE 觀點、機率流 ODE 與引導。
- 指南 4——連續時間傳輸:正規化流 → 連續流 → 流匹配。
- 指南 5——前沿:少步、蒸餾與離散狀態的生成。