LLM2013· ICLR 2014· CLASSIC

Auto-Encoding Variational Bayes (VAE)

Kingma & Welling

用变分推断 + reparameterization trick 让生成模型可以 backprop——latent space 生成模型的基石。

arXiv:1312.6114
#generative#vae#foundational#latent

核心贡献

  • 01ELBO 目标:log p(x) ≥ E_q[log p(x|z)] − KL(q(z|x) || p(z))
  • 02Reparameterization trick:z = μ + σ·ε(ε~N(0,1)),让随机采样可导
  • 03Encoder 输出 q(z|x) 的均值方差;decoder 从 z 重建 x
  • 04Latent space 连续可插值,是后续 Latent Diffusion / VQ-VAE 的根

直接最大化 log p(x) = log ∫ p(x|z)p(z)dz 难算(积分爆炸)。引入近似后验 q(z|x),用 ELBO 把下界优化掉。两项:重建项(decoder 还原 x 的对数似然)+ KL 正则(让 q 靠近先验 p(z)=N(0,I))。Reparameterization trick 是关键——直接从 N(μ,σ²) 采样断梯度,写成 z=μ+σε 就能 backprop。

面试视角

VAE vs GAN? VAE 训练稳、有 likelihood、latent space 平滑;但样本糊。GAN 样本锐但 mode collapse、无 likelihood。为什么 VAE 生成糊? ELBO 倾向"平均"——MSE 重建 + 全局 Gaussian decoder 给出过平滑输出。VQ-VAE 用离散 codebook 解决。KL 项为什么必须? 没它 encoder 会学成 delta 分布,等同 AE;KL 把 q 拉向 prior,让 latent 可采样。Posterior collapse 是什么? Decoder 太强时 q(z|x) ≈ p(z),z 没有信息——常见于 text VAE。VAE 在现代怎么用? 不直接生成;用作 Stable Diffusion 的 image→latent encoder。

相关论文