核心要点
编码器把输入映射为潜变量分布的均值 μ 与方差 σ²,而非单个确定向量
用重参数化技巧 z = μ + σ·ε(ε~N(0,1))采样,使采样可微、梯度能反传
解码器从 z 重建输入,训练目标是最大化 ELBO = 重建项 − KL(q(z|x)‖p(z))
KL 项把后验拉向标准正态先验,使潜空间连续可采样,可从先验直接生成新样本
标准回答
从自编码器到变分
普通自编码器把输入压成一个确定向量再重建,潜空间不连续、不能采样生成。VAE 改为让编码器输出潜变量的概率分布——具体是高斯的均值 μ 和方差 σ²——把潜空间变成可采样的连续空间。
重参数化技巧
直接从 N(μ, σ²) 采样会阻断梯度。VAE 用 $z = \mu + \sigma \cdot \epsilon$,其中 $\epsilon \sim N(0, I)$,把随机性移到与参数无关的 ε 上,于是采样过程对 μ、σ 可微,能正常反向传播训练。
训练目标 ELBO
VAE 最大化证据下界(ELBO),等价于最小化两项之和:
- 重建项:解码器从 z 重建 x 的负对数似然(图像常用 MSE 或交叉熵),保证还原质量;
- KL 正则项:$KL(q(z|x) ,|, p(z))$,把后验分布拉向标准正态先验,使潜空间规整、连续、可从先验直接采样生成。
用途
训练后从先验 N(0,I) 采样 z 解码即可生成新样本;潜空间连续支持插值。Stable Diffusion 即用 VAE 做感知压缩,把扩散放到其潜空间。
常见误区
⚠️ 常见踩坑
编码器输出的是分布参数(μ、σ)而非确定编码;KL 项不是可选的正则,缺了它潜空间不连续、无法采样生成。KL 权重过大易「后验坍缩」,解码器忽略 z 导致样本模糊。
追问
追问 1:重参数化技巧解决了什么问题?
它解决了「采样不可微、梯度无法回传到编码器」的问题。把 z 写成 μ + σ·ε,随机性集中在与参数无关的 ε 上,μ、σ 成为确定可微的函数,于是整条计算图可端到端用反向传播训练。
追问 2:VAE 和 GAN 生成质量为何有差异?
追问 3:什么是后验坍缩?怎么缓解?
后验坍缩指 KL 项把后验压得几乎等于先验、潜变量不再携带信息,解码器干脆忽略 z。缓解手段有 KL 退火(训练初期调小 KL 权重)、β-VAE 调节权重、自由比特(free bits)给每维 KL 设下限,以及减弱解码器表达力。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。