把一张图像压缩成较短的向量,再从这个向量恢复原图,是学习低维表示的一种直接办法。确定性自编码器用编码器完成压缩,用解码器完成重构;它能学习有用特征,却没有规定潜变量空间中哪些位置可以生成合理样本。变分自编码器为潜变量加入概率模型,用证据下界训练近似后验。扩散模型则不再依赖一次完成的低维解码,而是先定义逐步破坏数据的加噪过程,再学习如何沿相反方向逐步恢复数据。

前面的潜变量分析已经说明,低维表示依赖模型假设,并不天然等同于真实生成因素。本文继续处理神经生成模型:先分析确定性自编码器的目标与限制,再推导变分下界(Evidence Lower Bound,ELBO)、变分自编码器(Variational Autoencoder,VAE)及其重参数化技巧,最后建立扩散模型的前向过程、反向过程、得分匹配与条件引导。

确定性自编码器

给定输入 xRD\mathbf x\in\mathbb R^D,编码器 fϕf_\phi 把它映射到潜变量 zRL\mathbf z\in\mathbb R^L,解码器 gθg_\theta 再产生重构 x^\hat{\mathbf x}

z=fϕ(x),x^=gθ(z).\mathbf z=f_\phi(\mathbf x), \qquad \hat{\mathbf x}=g_\theta(\mathbf z).

训练目标通常是最小化样本与重构之间的平均损失:

minϕ,θ1Nn=1N ⁣(xn,gθ(fϕ(xn))).\min_{\phi,\theta} \frac{1}{N}\sum_{n=1}^{N} \ell\!\left( \mathbf x_n, g_\theta(f_\phi(\mathbf x_n)) \right).

连续值图像常用均方误差,二值数据可以使用逐元素二元交叉熵。这些选择隐含了不同的观测噪声模型:均方误差对应固定方差的高斯条件分布,二元交叉熵对应独立伯努利条件分布。损失函数因此不只是数值上的距离,还规定了模型如何解释重构误差。

左侧高维输入经过逐层收窄的编码器进入低维潜变量,再由逐层展开的解码器恢复为重构;下方对比欠完备瓶颈、正则化瓶颈和无约束恒等映射
确定性自编码器通过结构或正则化限制信息通道。潜变量维度较小只是常见做法;稀疏、去噪和收缩约束也能迫使模型学习对输入变化更稳定的表示。

若网络容量足够大,且潜变量维度不小于输入维度,自编码器可以近似学习恒等映射,把训练样本原样复制到输出。即使 L<DL<D,模型也可能只记住有限训练集,而没有学到能推广到新样本的结构。所谓“瓶颈”必须产生真实约束:欠完备自编码器限制潜变量维度;稀疏自编码器限制激活数量;去噪自编码器要求从受扰输入恢复干净样本;收缩自编码器惩罚编码器对输入的雅可比矩阵,使局部表示对微小扰动更稳定。

线性自编码器在单隐层、线性激活和平方误差等条件下,最优解张成的子空间与 PCA 的主子空间相关,但潜变量坐标仍可能经过可逆线性变换,未必等于正交主成分。加入非线性后,网络可以逼近弯曲的数据流形,也更容易把训练样本压进彼此分离、形状不规则的潜空间区域。

确定性自编码器没有为 z\mathbf z 定义先验分布。编码训练样本得到的潜变量集合可能散布在若干狭窄区域,从标准高斯分布随意采样一个 z\mathbf z,很可能落到解码器从未见过的位置。解码器对这个位置仍会输出数值,却没有理由保证结果像真实数据。重构模型要成为生成模型,还需要约束潜空间的整体分布,并说明给定观测后潜变量有多不确定。

变分下界

潜变量生成模型先从先验 p(z)p(\mathbf z) 采样,再从条件分布 pθ(xz)p_\theta(\mathbf x\mid\mathbf z) 生成观测:

pθ(x,z)=p(z)pθ(xz).p_\theta(\mathbf x,\mathbf z) = p(\mathbf z)p_\theta(\mathbf x\mid\mathbf z).

训练希望最大化边缘对数似然

logpθ(x)=logpθ(x,z)dz.\log p_\theta(\mathbf x) = \log\int p_\theta(\mathbf x,\mathbf z)\,d\mathbf z.

神经解码器使这个积分以及真实后验 pθ(zx)p_\theta(\mathbf z\mid\mathbf x) 通常无法解析计算。VAE 引入由编码器参数化的近似后验 qϕ(zx)q_\phi(\mathbf z\mid\mathbf x)。把它乘进积分并使用 Jensen 不等式,可以得到

logpθ(x)=logEqϕ(zx)[pθ(x,z)qϕ(zx)]Eqϕ(zx)[logpθ(x,z)logqϕ(zx)]=Eqϕ(zx)[logpθ(xz)]DKL ⁣(qϕ(zx)p(z)).\begin{aligned} \log p_\theta(\mathbf x) &= \log \mathbb E_{q_\phi(\mathbf z\mid\mathbf x)} \left[ \frac{p_\theta(\mathbf x,\mathbf z)} {q_\phi(\mathbf z\mid\mathbf x)} \right] \\ &\ge \mathbb E_{q_\phi(\mathbf z\mid\mathbf x)} \left[ \log p_\theta(\mathbf x,\mathbf z) - \log q_\phi(\mathbf z\mid\mathbf x) \right] \\ &= \mathbb E_{q_\phi(\mathbf z\mid\mathbf x)} [\log p_\theta(\mathbf x\mid\mathbf z)] - D_{\mathrm{KL}} \!\left( q_\phi(\mathbf z\mid\mathbf x) \,\|\, p(\mathbf z) \right). \end{aligned}

最后一行就是 ELBO。第一项是期望重构对数似然,鼓励潜变量保留生成当前样本所需的信息;第二项让每个样本的近似后验不要偏离先验太远。两者的权衡不是“重构误差加一个任意正则项”,而来自同一个概率模型。

ELBO 与真实边缘对数似然之间满足

logpθ(x)L(θ,ϕ;x)=DKL ⁣(qϕ(zx)pθ(zx)).\log p_\theta(\mathbf x) - \mathcal L(\theta,\phi;\mathbf x) = D_{\mathrm{KL}} \!\left( q_\phi(\mathbf z\mid\mathbf x) \,\|\, p_\theta(\mathbf z\mid\mathbf x) \right).

近似后验越接近真实后验,下界越紧。训练时同时优化 θ\thetaϕ\phi:解码器提高生成似然,编码器缩小推断误差。若近似后验族过于简单,即使优化已经收敛,仍可能存在明显的变分间隙。

变分自编码器

常见 VAE 选择标准正态先验 p(z)=N(0,I)p(\mathbf z)=\mathcal N(\mathbf 0,\mathbf I),并让编码器输出对角高斯分布的均值与对数方差:

qϕ(zx)=N ⁣(μϕ(x),diagσϕ2(x)).q_\phi(\mathbf z\mid\mathbf x) = \mathcal N\!\left( \boldsymbol\mu_\phi(\mathbf x), \operatorname{diag} \boldsymbol\sigma_\phi^2(\mathbf x) \right).

对角协方差使 KL 项具有闭式表达:

DKL(qϕp)=12j=1L(μj2+sigmaj2logσj21).D_{\mathrm{KL}}(q_\phi\|p) = \frac{1}{2} \sum_{j=1}^{L} \left( \mu_j^2+sigma_j^2-log\sigma_j^2-1 \right).

编码器输出的是一个分布的参数,不是单个潜变量点。同一输入可以得到不同的 z\mathbf z 样本;生成时则直接从先验采样,再交给解码器。KL 项促使训练样本的后验区域共同覆盖先验中有概率质量的位置,使潜空间插值和先验采样比普通自编码器更有依据。

上半部分显示输入经编码器得到均值和标准差,独立高斯噪声经过缩放和平移形成潜变量,再由解码器重构;下半部分把 ELBO 分成重构项、先验 KL 项和与真实后验之间的变分间隙
VAE 把随机性移到与参数无关的噪声变量中,使采样路径可以反向传播。ELBO 同时训练生成模型和近似后验,其松弛程度由近似后验与真实后验之间的 KL 散度决定。

观测分布必须与数据匹配。把归一化图像机械地设为像素独立高斯分布,均值预测常会平均掉多个可能细节,产生平滑结果;离散像素似然、离散化 logistic 混合或更强的自回归解码器可以改变这种误差模型。输出模糊不完全是“VAE 天生模糊”,也与似然假设、解码器容量、潜变量信息量和训练权衡有关。

解码器过强时,它可能在很少使用 z\mathbf z 的情况下解释数据,导致 qϕ(zx)q_\phi(\mathbf z\mid\mathbf x) 接近先验,KL 项趋近于零。这种后验坍塌在文本等自回归解码任务中尤其常见。KL 退火、free bits、限制解码器上下文或调整目标权重可以缓解问题,但都改变了优化路径或信息约束,需要结合验证似然、重构质量和潜变量使用情况判断。

重参数化

若直接写 zqϕ(zx)\mathbf z\sim q_\phi(\mathbf z\mid\mathbf x),采样操作位于损失与编码器参数之间,普通反向传播不能把确定性的计算路径穿过随机节点。重参数化技巧把随机变量写成参数与外部噪声的可微函数:

ϵN(0,I),z=μϕ(x)+σϕ(x)ϵ.\boldsymbol\epsilon\sim\mathcal N(\mathbf 0,\mathbf I), \qquad \mathbf z = \boldsymbol\mu_\phi(\mathbf x) + \boldsymbol\sigma_\phi(\mathbf x) \odot \boldsymbol\epsilon.

随机性现在只来自与 ϕ\phi 无关的 ϵ\boldsymbol\epsilon。固定一次噪声样本后,z\mathbf z 对均值和标准差都是可微函数,可以使用路径导数估计 ELBO 的梯度。小批量训练中通常为每个样本抽取一个噪声样本,已经能获得实用的梯度估计;增加样本数可以降低蒙特卡洛方差,也会增加计算成本。

这种写法适合位置—尺度族等可重参数化连续分布。离散潜变量不能直接用同一公式处理,常见办法包括得分函数估计、连续松弛或专门的梯度估计器。把离散类别换成 Gumbel–Softmax 会引入温度与松弛偏差,并不等于从原离散模型中获得了精确路径导数。

扩散过程

VAE 通过低维潜变量一次生成观测。扩散模型在数据空间或另一个连续表示空间中建立长度为 TT 的马尔可夫链。前向过程固定为逐步加入高斯噪声:

q(xtxt1)=N ⁣(1βtxt1,βtI),q(\mathbf x_t\mid\mathbf x_{t-1}) = \mathcal N\!\left( \sqrt{1-\beta_t}\,\mathbf x_{t-1}, \beta_t\mathbf I \right),

其中 0<βt<10<\beta_t<1 是噪声日程。令 αt=1βt\alpha_t=1-\beta_tαˉt=s=1tαs\bar\alpha_t=\prod_{s=1}^{t}\alpha_s,连续复合高斯转移后可直接从任意时刻采样:

q(xtx0)=N ⁣(αˉtx0,(1αˉt)I),q(\mathbf x_t\mid\mathbf x_0) = \mathcal N\!\left( \sqrt{\bar\alpha_t}\,\mathbf x_0, (1-\bar\alpha_t)\mathbf I \right), xt=αˉtx0+1αˉtϵ,ϵN(0,I).\mathbf x_t = \sqrt{\bar\alpha_t}\,\mathbf x_0 + \sqrt{1-\bar\alpha_t}\,\boldsymbol\epsilon, \qquad \boldsymbol\epsilon\sim\mathcal N(\mathbf 0,\mathbf I).

训练不必真的依次执行前 tt 次加噪。随机抽取 ttϵ\boldsymbol\epsilon,就能一步构造 xt\mathbf x_t。当 αˉT\bar\alpha_T 足够接近零时,xT\mathbf x_T 近似标准高斯噪声,复杂的数据分布被前向链逐渐变成容易采样的分布。

上方从清晰数据 x0 经过多个时间步逐渐变为高斯噪声 xT,下方从噪声开始由神经网络预测各步去噪分布并逐步恢复样本;中间标出训练可直接采样任意 xt,生成必须沿反向链迭代
扩散模型使用已知的前向高斯过程破坏数据,再学习每一步的反向条件分布。闭式的任意时刻加噪使训练可以随机抽取时间步,生成仍需从噪声开始执行反向更新。

前向过程不是从数据中学习出来的物理扩散定律。它是人为选择的概率路径,目的是让终点分布简单、相邻状态差异较小,并使训练目标可以稳定估计。噪声日程决定不同信噪比区域获得多少训练权重,会影响收敛速度、细节恢复与有限步采样误差。

反向过程

若知道真实数据分布,前向链的时间反演也构成马尔可夫过程。扩散模型用神经网络近似反向条件分布:

pθ(xt1xt)=N ⁣(μθ(xt,t),Σθ(xt,t)).p_\theta(\mathbf x_{t-1}\mid\mathbf x_t) = \mathcal N\!\left( \boldsymbol\mu_\theta(\mathbf x_t,t), \boldsymbol\Sigma_\theta(\mathbf x_t,t) \right).

xTN(0,I)\mathbf x_T\sim\mathcal N(\mathbf 0,\mathbf I) 开始,依次采样 xT1,,x0\mathbf x_{T-1},\ldots,\mathbf x_0,就得到生成样本。模型可以预测反向均值、干净样本 x0\mathbf x_0、加入的噪声 ϵ\boldsymbol\epsilon,或与两者等价变换后的 v\mathbf v。这些参数化在理想模型下可以互相换算,有限网络、损失权重和数值精度会使它们的训练行为不同。

DDPM 的常用噪声预测目标为

Ex0,t,ϵ[ϵϵθ(xt,t)22].\mathbb E_{\mathbf x_0,t,\boldsymbol\epsilon} \left[ \left\| \boldsymbol\epsilon - \boldsymbol\epsilon_\theta(\mathbf x_t,t) \right\|_2^2 \right].

它可以从扩散模型的变分下界化简得到,但常用的“简单损失”省略或重排了不同时间步的权重。训练目标与精确最大似然目标因而并非在所有实现中完全相同。评估模型时,需要区分样本感知质量、分布覆盖、条件一致性和对数似然;单个指标不能替代这些目标。

逐步采样带来较高推理成本。DDIM、数值 ODE/SDE 求解器、蒸馏和一致性模型等方法可以减少函数评估次数,但步数下降会放大离散化误差,也可能改变随机性与样本多样性。采样器、噪声日程和训练参数化应作为一个系统比较,不能只报告“用了多少步”。

得分匹配

概率密度的得分函数定义为对输入的对数梯度:

s(x)=xlogp(x).\mathbf s(\mathbf x) = \nabla_{\mathbf x}\log p(\mathbf x).

它指向局部密度上升最快的方向,不包含全局归一化常数。真实数据通常集中在低维结构附近,原始数据分布的得分可能难以稳定估计;加入高斯噪声后,分布变得平滑,各个噪声尺度上的得分可以用神经网络学习。

对前向条件分布,得分具有解析形式:

xtlogq(xtx0)=xtαˉtx01αˉt=ϵ1αˉt.\nabla_{\mathbf x_t} \log q(\mathbf x_t\mid\mathbf x_0) = -\frac{ \mathbf x_t- \sqrt{\bar\alpha_t}\mathbf x_0 }{1-\bar\alpha_t} = -\frac{\boldsymbol\epsilon} {\sqrt{1-\bar\alpha_t}}.

因此,预测噪声与预测各噪声层级的条件得分只差一个已知尺度:

sθ(xt,t)ϵθ(xt,t)1αˉt.\mathbf s_\theta(\mathbf x_t,t) \approx -\frac{ \boldsymbol\epsilon_\theta(\mathbf x_t,t) }{\sqrt{1-\bar\alpha_t}}.

去噪得分匹配不需要知道扰动后边缘分布 qt(xt)q_t(\mathbf x_t) 的密度值。通过从干净数据加噪,可以用条件得分构造与边缘得分匹配等价的期望目标。这个联系把离散时间 DDPM 与连续时间的得分生成模型连接起来:反向时间随机微分方程的漂移项包含随时间变化的得分,概率流常微分方程则给出共享边缘分布的确定性路径。

扩散引导

条件生成希望样本同时符合数据分布和条件 yy。贝叶斯公式给出条件得分分解:

xtlogp(xty)=xtlogp(xt)+xtlogp(yxt).\nabla_{\mathbf x_t} \log p(\mathbf x_t\mid y) = \nabla_{\mathbf x_t} \log p(\mathbf x_t) + \nabla_{\mathbf x_t} \log p(y\mid\mathbf x_t).

分类器引导先训练能识别带噪样本的分类器 pφ(yxt,t)p_\varphi(y\mid\mathbf x_t,t),采样时把其输入梯度加入无条件得分:

s~=sθ(xt,t)+wxtlogpφ(yxt,t).\tilde{\mathbf s} = \mathbf s_\theta(\mathbf x_t,t) + w\nabla_{\mathbf x_t} \log p_\varphi(y\mid\mathbf x_t,t).

ww 控制条件强度。更大的权重通常提高类别或文本一致性,也会减少多样性,并可能把轨迹推向分类器在噪声空间中的脆弱区域。分类器还必须覆盖所有时间步的噪声分布,训练和维护成本较高。

无分类器引导(Classifier-Free Guidance,CFG)在同一个模型中同时学习有条件和无条件预测。训练时以一定概率丢弃条件,采样时组合两种输出。用噪声预测表示,一种常见写法是

ϵ~θ=ϵθ(xt,t,)+w[ϵθ(xt,t,y)ϵθ(xt,t,)].\tilde{\boldsymbol\epsilon}_\theta = \boldsymbol\epsilon_\theta(\mathbf x_t,t,\varnothing) + w\left[ \boldsymbol\epsilon_\theta(\mathbf x_t,t,y) - \boldsymbol\epsilon_\theta(\mathbf x_t,t,\varnothing) \right].

w=1w=1 时得到通常的条件预测;w>1w>1 会沿“条件预测相对无条件预测的增量方向”外推。不同代码库也会使用把 w=0w=0 定义为普通条件预测的等价记号,比较超参数前必须先核对公式。

左侧二维密度等高线上的箭头指向高密度数据区域,表示无条件得分;右侧在同一点叠加条件梯度,合成箭头朝目标类别区域偏转,并标出引导权重过大时可能越过高密度区域
得分决定反向去噪的局部方向,条件引导在这个方向上叠加与目标有关的梯度。提高引导权重会增强条件一致性,但过强外推可能降低多样性并把轨迹带离模型可靠的数据区域。

CFG 不需要单独的分类器,适合文本、类别和其他复杂条件,但它仍然以额外模型评估和分布外外推为代价。负向提示、多个条件组合和空间控制通常都在修改同一类采样方向;条件之间发生冲突时,简单线性组合不保证存在同时满足所有约束的高概率样本。

生成模型

确定性自编码器、VAE 与扩散模型解决的是相邻但不同的问题。确定性自编码器适合压缩、去噪和表征学习,训练与推理都很直接,却没有天然可采样的潜变量分布。VAE 用显式先验、似然和近似后验得到可训练的潜变量生成模型,采样速度快,也能提供摊销推断;它的结果受限于后验族、似然假设和 ELBO 的信息权衡。扩散模型通过许多局部去噪步骤表示复杂分布,训练目标稳定、条件控制灵活,代价是迭代采样和较高计算量。

三类模型之间也存在组合。潜扩散模型先用自编码器把图像压到连续潜空间,再在该空间训练扩散过程,以较低的空间分辨率换取计算效率;编码器的压缩误差和潜空间尺度会随之进入生成上限。VAE 的解码器可以与更强的生成分布结合,扩散模型也可以承担解码或后验细化。模型名称不能替代目标检查:任务究竟需要快速重构、可解释的潜变量概率模型,还是高质量的条件采样,决定了哪些假设和成本可以接受。

自编码器把学习问题写成信息压缩与重构,VAE 用 ELBO 把生成和推断放进同一个概率目标,扩散模型则把一次困难的生成分解为一系列噪声尺度上的局部预测。理解这些模型的共同线索,在于辨认训练时究竟估计了什么分布、采样时沿什么路径移动,以及约束从哪里进入。只有把这三点写清,重构质量、潜空间结构和生成效果之间的差异才不会被混成同一个“模型能力”。

参考文献

  1. P. Baldi and K. Hornik. Neural Networks and Principal Component Analysis: Learning from Examples Without Local Minima. Neural Networks, 1989. DOI: 10.1016/0893-6080(89)90014-2
  2. P. Vincent, H. Larochelle, Y. Bengio, and P.-A. Manzagol. Extracting and Composing Robust Features with Denoising Autoencoders. International Conference on Machine Learning, 2008
  3. D. P. Kingma and M. Welling. Auto-Encoding Variational Bayes. International Conference on Learning Representations, 2014
  4. D. J. Rezende, S. Mohamed, and D. Wierstra. Stochastic Backpropagation and Approximate Inference in Deep Generative Models. International Conference on Machine Learning, 2014
  5. J. Sohl-Dickstein, E. Weiss, N. Maheswaranathan, and S. Ganguli. Deep Unsupervised Learning using Nonequilibrium Thermodynamics. International Conference on Machine Learning, 2015
  6. J. Ho, A. Jain, and P. Abbeel. Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems, 2020
  7. A. Hyvärinen. Estimation of Non-Normalized Statistical Models by Score Matching. Journal of Machine Learning Research, 2005
  8. P. Vincent. A Connection Between Score Matching and Denoising Autoencoders. Neural Computation, 2011. DOI: 10.1162/NECO_a_00142
  9. Y. Song, J. Sohl-Dickstein, D. P. Kingma, A. Kumar, S. Ermon, and B. Poole. Score-Based Generative Modeling through Stochastic Differential Equations. International Conference on Learning Representations, 2021
  10. P. Dhariwal and A. Nichol. Diffusion Models Beat GANs on Image Synthesis. Advances in Neural Information Processing Systems, 2021
  11. J. Ho and T. Salimans. Classifier-Free Diffusion Guidance. NeurIPS Workshop on Deep Generative Models and Downstream Applications, 2021
  12. R. Rombach, A. Blattmann, D. Lorenz, P. Esser, and B. Ommer. High-Resolution Image Synthesis with Latent Diffusion Models. IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2022. DOI: 10.1109/CVPR52688.2022.01042