1. 变分视角下的扩散模型:从VAE到DDPM的演进之路
在生成模型领域,变分自编码器(VAE)和去噪扩散概率模型(DDPM)代表了两种重要的技术路线。本章将从变分方法的视角,系统阐述这两种模型的联系与区别,揭示扩散模型如何通过改进VAE的缺陷而实现质的飞跃。
1.1 基础概念与问题定义
生成模型的核心任务是学习数据分布$p_{data}(x)$,从而能够生成新的样本。变分方法通过引入潜在变量$z$,将复杂的生成过程分解为两个部分:先验分布$p(z)$和条件分布$p(x|z)$。这种分解使得我们可以利用变分推断等技术进行高效的近似计算。
VAE作为早期成功的深度生成模型,通过编码器-解码器架构实现了这一思想。然而,标准VAE存在生成结果模糊、后验坍塌等问题。DDPM通过引入渐进式的扩散过程,巧妙地解决了这些难题,成为当前最强大的生成模型之一。
关键区别:VAE同时学习编码器和解码器,而DDPM固定前向过程(编码器),只学习反向过程(解码器)。这种设计选择带来了更好的稳定性和生成质量。
1.2 变分自编码器(VAE)的核心机制
1.2.1 概率编码器与解码器
VAE由两个关键组件构成:
- 编码器$q_θ(z|x)$:将输入数据映射到潜在空间
- 解码器$p_φ(x|z)$:从潜在表示重构数据
与普通自编码器不同,VAE在潜在空间引入了概率结构,使得模型不仅能重构输入,还能生成新样本。具体来说,编码器和解码器都被建模为高斯分布:
python复制# 伪代码示例:VAE的前向过程
def encode(x):
mu, log_var = encoder_network(x)
z = mu + exp(log_var/2) * epsilon # 重参数化技巧
return z
def decode(z):
x_recon = decoder_network(z)
return x_recon
1.2.2 证据下界(ELBO)与训练目标
VAE通过最大化证据下界(ELBO)进行训练:
$\mathcal{L}{ELBO} = \mathbb{E}[\log p(x|z)] - D_{KL}(q(z|x)||p(z))$
这一目标包含两项:
- 重构损失:确保解码输出与输入相似
- KL散度:使编码分布接近先验分布(通常为标准正态)
1.2.3 标准VAE的局限性
尽管理论优雅,标准VAE存在明显缺陷:
- 生成模糊:由于优化的是像素级MSE损失,模型倾向于生成"平均化"结果
- 后验坍塌:当解码器过于强大时,可能完全忽略潜在变量$z$
- 表达能力有限:单峰高斯假设限制了模型捕捉复杂分布的能力
1.3 分层VAE:向更强大表达迈进
1.3.1 层级潜在变量结构
分层VAE(HVAE)通过引入多级潜在变量解决标准VAE的表达能力问题。其生成过程可以表示为:
$p(x,z_{1:L}) = p(x|z_1)\prod_{i=2}^L p(z_{i-1}|z_i)p(z_L)$
这种层级结构允许模型在不同抽象层次上捕捉数据特征。
1.3.2 HVAE的优势与挑战
优势:
- 更丰富的潜在表示空间
- 能够建模数据的层次化结构
挑战:
- 训练复杂度显著增加
- 需要精心设计网络架构和训练策略
- 仍可能面临后验坍塌问题
1.4 去噪扩散概率模型(DDPM)
1.4.1 前向扩散过程
DDPM定义了一个固定的前向过程,逐步向数据添加高斯噪声:
$q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I)$
这个过程将数据逐渐腐蚀为纯噪声,最终分布收敛于$N(0,I)$。
1.4.2 反向生成过程
DDPM的核心是学习反向过程:
$p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t,t), \Sigma_\theta(x_t,t))$
通过神经网络预测每一步的去噪方向,可以从噪声开始逐步生成真实样本。
1.4.3 训练目标简化
DDPM的训练目标可以简化为:
$\mathcal{L}{simple} = \mathbb{E}{t,x_0,\epsilon}[||\epsilon - \epsilon_\theta(x_t,t)||^2]$
其中$\epsilon_\theta$是预测噪声的神经网络。
1.5 DDPM相对于VAE的优势
- 固定前向过程:避免了编码器-解码器的联合优化难题
- 渐进式生成:将困难的一次生成任务分解为多个简单步骤
- 表达能力强:可以建模更复杂的数据分布
- 训练稳定:目标函数设计合理,不易出现模式坍塌
1.6 实现细节与实用技巧
1.6.1 噪声调度设计
$\beta_t$的选择对模型性能至关重要。常见策略有:
- 线性调度:$\beta_t$从$10^{-4}$线性增加到$0.02$
- 余弦调度:更平滑的噪声增加曲线
1.6.2 网络架构选择
常用U-Net作为主干网络,关键组件包括:
- 残差连接
- 注意力机制
- 时间步嵌入
1.6.3 采样加速技术
标准DDPM需要数百步采样,加速方法包括:
- DDIM:确定性采样
- 知识蒸馏:训练更快的学生模型
- 隐式模型:直接学习少步生成
1.7 常见问题与解决方案
1.7.1 生成速度慢
问题:标准DDPM需要1000步采样,实时性差
解决方案:
- 使用DDIM等加速采样方法
- 训练时减少扩散步数
- 采用latent diffusion在低维空间操作
1.7.2 生成质量不稳定
问题:部分样本质量明显低于平均水平
解决方案:
- 调整噪声调度
- 增加模型容量
- 使用classifier guidance
1.7.3 模式坍塌
问题:模型只生成有限种类的样本
解决方案:
- 增加数据多样性
- 调整损失函数权重
- 使用更强大的正则化
1.8 前沿发展与未来方向
- 条件生成:将类别信息、文本描述等融入生成过程
- 多模态学习:同时处理图像、文本、音频等多种数据
- 可解释性:理解模型内部的表示和决策过程
- 效率优化:减少计算资源消耗,实现实时应用
从VAE到DDPM的演进展示了生成模型领域的快速进步。理解这些模型的理论基础和实践技巧,对于掌握现代生成AI技术至关重要。扩散模型虽然强大,但仍有改进空间,特别是在采样效率和可控性方面。未来的研究可能会产生更高效、更可控的下一代生成模型。
