自编码器
直接在像素空间中训练生成模型的成本会随分辨率迅速增长。以 1024×1024 的 RGB 图像为例,x∈Rd 的维度为 d=3×1024×1024≈3×106;视频还要额外乘上帧数。相邻像素通常高度相关,天空中的大片蓝色和物体内部的重复纹理占据了大量坐标,却没有提供同等数量的独立语义。流模型和扩散模型仍要在每个采样步输出与输入同维的向量场、噪声或速度,把算力反复花在这些冗余坐标上,显存与计算压力因而尤为明显。
自编码器利用“自然图像集中在较低维流形附近”这一假设,把像素中的重复信息压成更少的潜在坐标。确定性编码器和解码器分别写作
μϕ:Rd→Rk,μθ:Rk→Rd,k≪d.
给定 x,编码得到 z=μϕ(x),再由 x^=μθ(z) 重构。由于瓶颈 k≪d 无法逐像素照抄输入,网络必须优先保留有助于解码的结构。最基本的训练目标是
LRecon(ϕ,θ)=Ex∼pdata[∥μθ(μϕ(x))−x∥22].

该损失只检查“每个训练样本能否绕一圈回来”,并不关心编码之间的空白区域。编码器完全可以把相似图像送到相距很远的点,或把训练样本挤成许多彼此分离的细簇;解码器只在这些点附近受过训练,从簇间采样或插值便可能得到无意义结果。若潜在空间还要承担生成任务,除可重构之外,还需要相邻编码对应相近数据,并让一个简单分布能够覆盖常用区域。VAE 用概率编码和先验约束同时塑造这种结构。
VAE 损失
VAE 不再把一张图压到一个没有体积的点,而是编码成一个带均值和尺度的局部概率云。相近样本的概率云可以重叠,解码器也会在每个样本周围而非单点上接受训练,从而降低潜在空间对微小扰动的敏感性。常见的对角高斯参数化为
qϕ(z∣x)=N(z;μϕ(x),diag(σϕ2(x))),
pθ(x∣z)=N(x;μθ(z),σθ2(z)Id).
编码器输出均值和逐维方差,表示“给定 x 后哪些潜在解释仍然合理”;解码器给出潜在变量下的数据分布。方差很小会接近确定性编码并保存更多样本细节,方差较大则让邻域更平滑,却要求同一个区域能解码出更多变化。编码和解码可写为
z∼qϕ(⋅∣x),x~∼pθ(⋅∣z).


为了判断采到的 z 是否仍保留了足够信息,重构项采用负条件对数似然:
Lrec(ϕ,θ)=−Ex∼pdata,z∼qϕ(⋅∣x)[logpθ(x∣z)].
若解码器是上式的各向同性高斯,则忽略与参数无关的常数后,
Lrec=Ex,z[2σθ2(z)∥x−μθ(z)∥22+2dlogσθ2(z)]+const.
第一项用预测方差衡量误差,第二项则惩罚随意增大方差。缺少后者时,解码器可以声称“任何像素都很不确定”来降低第一项,而不必改善均值;两项共同构成合法高斯似然。实践中常固定解码方差为常数 σ~2,把这种不确定性取舍预先确定,此时重构项与随机编码下的 MSE 成固定比例:
Lrec=Ex,z[2σ~21∥x−μθ(z)∥22]+const.
仅靠随机编码仍可能把概率云散落在任意位置,无法回答生成时应从哪里取 z。于是预先选择易采样的 p(z)=N(0,Ik),并要求每个样本的编码分布不要偏离它太远:
Lprior(ϕ)=Ex∼pdata[DKL(qϕ(z∣x)∥p(z))].
对两个对角高斯
q=N(μq,diag(σq2)),p=N(μp,diag(σp2)),
KL 散度具有闭式解:
DKL(q∥p)=21j=1∑k[logσq,j2σp,j2+σp,j2σq,j2+(μq,j−μp,j)2−1].
代入标准正态先验,得到训练中常用的形式:
DKL(qϕ(z∣x)∥N(0,Ik))=21j=1∑k(μϕ,j2(x)+σϕ,j2(x)−logσϕ,j2(x)−1).
其中 μϕ,j2 把概率云中心拉回原点,σϕ,j2−logσϕ,j2−1 在方差过大或过小时都会增大,并在 σϕ,j2=1 时取最小值。因此,KL 的作用并非简单地把所有编码压成一个点,而是让它们在共享的标准尺度内占据连续区域。重构项希望 z 保留足够多的个体信息,KL 项则希望编码容易从共同先验覆盖,两股力量形成 β-VAE 的目标:
Lβ(ϕ,θ)=Lrec(ϕ,θ)+βLprior(ϕ),β≥0.
β=0 时模型退回带随机性的自编码器,潜在分布可能难以采样;增大 β 会提高不同样本编码的重叠程度并限制信息容量,通常以部分重构细节为代价。极端情况下,解码器可以只凭自身能力建模数据,编码器便把所有 x 都映射到近似先验,出现 posterior collapse,潜变量几乎不再携带输入信息。需要注意,逐样本 KL 只鼓励聚合潜在分布接近先验,并不保证二者严格相等,这也为后续学习更复杂的潜在先验留下了空间。
ELBO
VAE 的损失并非任意拼接“重构”和“正则”两个经验项,它来自对数据似然的可计算近似。生成模型真正希望最大化
logpθ(x)=log∫pθ(x∣z)p(z)dz,
但积分汇总了所有可能的 z,高维神经解码器下通常无法精确计算。将编码器 qϕ(z∣x) 作为重要性分布插入积分,并用 Jensen 不等式,可得
logpθ(x)=logEqϕ(z∣x)[qϕ(z∣x)pθ(x∣z)p(z)]≥Eqϕ(z∣x)[logpθ(x∣z)]−DKL(qϕ(z∣x)∥p(z)).
右侧就是证据下界:第一项奖励能够解释 x 的潜变量,第二项防止编码器只在先验几乎采不到的位置解释它。VAE 同时定义的两条联合分布为
qϕ(x,z)=pdata(x)qϕ(z∣x),pθ(x,z)=p(z)pθ(x∣z).
在 β=1 时,联合 KL 与 VAE 损失存在精确关系:
DKL(qϕ(x,z)∥pθ(x,z))=Ex∼pdata[logpdata(x)]−Ex,z[logpθ(x∣z)]+Ex∼pdata[DKL(qϕ(z∣x)∥p(z))]=Epdata[logpdata(x)]+Lβ=1(ϕ,θ).
第一项只由数据分布决定,因此降低标准 VAE 损失,就是让“真实样本经过编码得到的 (x,z)”与“先从先验取 z 再解码得到的 (x,z)”难以区分。这个等价关系不适用于一般的 β=1;后者主动改变重构与容量的平衡,不再是同一生成模型的标准似然下界。
对单个样本,定义
ELBO(x;ϕ,θ)=Eqϕ(z∣x)[logpθ(x∣z)]−DKL(qϕ(z∣x)∥p(z)).
它与真实对数似然之间满足恒等式
logpθ(x)=ELBO(x;ϕ,θ)+DKL(qϕ(z∣x)∥pθ(z∣x)).
KL 非负,所以 ELBO 永远不会超过 logpθ(x);当编码器恰好等于真实后验时,最后一项为零,下界变紧。最大化 ELBO 一方面改善生成模型,另一方面也让可计算的编码器追赶生成模型的真实后验。当且仅当 β=1 时,
Lβ=1=−Ex∼pdata[ELBO(x;ϕ,θ)].
这里的 Lβ=1 指对数据分布取期望后的标准 VAE 目标。
“变分”指的是在一个可计算的分布族中寻找 qϕ(z∣x),近似通常不可计算的真实后验 pθ(z∣x)。即使训练充分,下界也可能因两个不同限制而无法贴紧。对给定的模型参数,设
qx⋆=argq∈QmaxELBO(x;q,θ),
其中 Q 是允许的近似后验族,例如对角高斯族。则选定编码器的推断误差可拆为
logpθ(x)−ELBO(x;qϕ,θ)=[logpθ(x)−ELBO(x;qx⋆,θ)]+[ELBO(x;qx⋆,θ)−ELBO(x;qϕ,θ)].
前一项是近似后验族表达能力有限带来的近似缺口,例如对角高斯无法表示多个分离的后验模态;后一项是一个共享编码器必须立即为所有输入给出答案,无法像逐样本优化那样到达各自最优解而产生的摊销缺口。二者都描述“用 q 逼近真实后验”的误差,而聚合潜在分布 qϕ(z)=∫pdata(x)qϕ(z∣x)dx 与先验的失配描述“从哪里采样”的问题,含义并不相同。
重参数化
重构损失依赖从 qϕ(z∣x) 取出的随机样本。如果把“从一个由 ϕ 决定的分布抽签”当作黑盒,解码器的误差无法沿这次离散抽签直接传回均值和方差。重参数化把抽签改写成固定噪声经过可导变换:
ϵ∼N(0,Ik),z=μϕ(x)+σϕ(x)⊙ϵ.
这样,ϵ 是与参数无关的外部随机源;在一次前向—反向传播中把它视作常量,z 就是关于 μϕ(x) 和 σϕ(x) 的普通可导函数,重构误差能够沿解码器、z 一直传回编码器。这种路径梯度通常比只根据采样结果估计分布参数的梯度方差更低。

一个 mini-batch 的训练过程由同一条可导计算图串起:
- 编码器输出每个样本的 μi 与 logσi2,再计算 σi=exp(21logσi2)。
- 采样 ϵi∼N(0,Ik),并构造 zi=μi+σi⊙ϵi。
- 解码器输出 x^i=μθ(zi)。
- 计算高斯负对数似然形式的重构损失,以及到 N(0,Ik) 的 KL 损失。
- 按 Lβ=Lrec+βLprior 反向传播。

编码器输出 logσ2 而非直接输出方差,可以避免训练过程中产生负值,并把很大的尺度范围变成更易优化的实数范围。固定解码方差通常也比直接预测像素级方差稳定。若图像重构只使用逐像素 MSE,多个同样合理的高频细节会被均值化,结果容易发糊;感知损失或对抗损失可让解码器更重视人眼可见的结构,但也改变了纯高斯似然的解释,应视作额外的工程目标。KL 预热在训练早期让解码器先学会使用 z,随后再逐步加强先验约束,可降低模型一开始就选择忽略潜变量的风险。
潜在扩散
VAE 本身可以从 p(z)=N(0,Ik) 采样并解码,但强迫复杂图像的聚合潜在分布严格服从简单高斯,往往需要牺牲重构;放松 KL 又会使直接从高斯采到的 z 落在编码器很少使用的区域。潜在扩散不要求一个模型同时解决“如何压缩像素”和“哪些潜变量最常出现”,而是把两件事分成两个阶段优化。它针对的是聚合潜在分布的建模和像素空间的计算成本,并非专门修复摊销缺口。
第一阶段训练自编码器或 VAE,使编码器把 x∼pdata 映射到空间尺寸更小、通道更紧凑但仍保留感知与语义信息的潜变量,并使解码器能够可靠重构。此阶段相当于为生成模型选择工作坐标:压缩越强,第二阶段越便宜,但被编码器抹去的文字、细线和纹理以后无法靠扩散模型找回。编码器与解码器通常在第二阶段冻结,使潜在数据分布保持固定,否则生成模型会追逐不断移动的目标。
第二阶段将训练样本编码为
z∼qϕ(z∣x),x∼pdata,
并在这些潜变量上训练扩散或流模型 pψ(z);有条件生成时,目标相应变为 pψ(z∣c)。该模型直接学习编码器实际产生的复杂分布,相当于用数据驱动的潜在先验替代过于简单的标准高斯。扩散过程内部仍可从高斯噪声开始,但它负责把噪声逐步变成聚合潜变量,不要求第一阶段已经把二者完全对齐。潜变量的数值尺度常需固定归一化,使预设噪声调度与其方差处在相近量级。
推理时先从训练好的潜在扩散或流模型采样
z∼pψ(z∣c),
再使用解码器的均值输出
x^=μθ(z).
取均值而不再从 pθ(x∣z) 随机采样,可避免在已经完成的生成结果上再叠加一次独立解码噪声。训练第二阶段时,真实图像提供目标 z,可以直接随机加噪并监督单个时刻;推理时没有目标 z,必须从噪声运行完整的流或扩散采样,再解码一次。主要计算由数百万像素转移到更小的潜在张量,速度和显存显著改善,但整个系统也形成两道上限:潜在生成模型必须覆盖编码器产生的分布,第一阶段丢掉的细节则无法在第二阶段恢复。