概述
Latent Forcing是一种简单而有效的扩散模型改进方法,通过重排序去噪轨迹来实现像素空间图像生成,同时保持潜在扩散的计算效率。1
传统的扩散模型主要在像素空间或潜在空间运行,各有其优缺点:
| 范式 | 优势 | 劣势 |
|---|---|---|
| 像素空间扩散 | 端到端建模,无信息损失 | 计算开销大 |
| 潜在空间扩散 | 计算高效,压缩表示 | 需要独立解码器,丢弃中间信息 |
Latent Forcing的核心洞察是:通过重新排序条件信号的顺序,可以让潜在变量充当”草稿板”(scratchpad),在保持端到端建模能力的同时,利用潜在空间的压缩表示进行高效计算。
问题背景
潜在扩散模型的局限性
现代高质量图像生成系统普遍采用潜在扩散模型(Latent Diffusion),其基本流程为:
- 编码阶段:使用预训练VAE将图像 编码为潜在表示
- 扩散阶段:在潜在空间 中进行扩散和去噪
- 解码阶段:使用独立训练的解码器 重建图像
这种方法虽然高效,但存在以下问题:
- 信息丢弃:编码过程不可逆地丢弃了高频细节
- 分布失配:解码器需要从压缩表示中”幻觉”出原始像素分布
- 训练目标分裂:模型学习的是辅助分布,而非原始数据的真实分布
- 端到端建模失效:无法实现真正的端到端图像生成
像素空间扩散的挑战
纯像素空间扩散(如DALL-E 2、Imagen)虽然在生成质量上表现出色,但面临巨大的计算开销。对于高分辨率图像(如1024×1024),需要处理数百万像素的噪声预测任务。
Latent Forcing方法
核心思想
Latent Forcing的核心是对扩散轨迹进行重排序,使得:
- 潜在变量和像素变量在去噪过程中联合处理
- 使用分别调优的噪声调度(separately tuned noise schedules)
- 潜在变量充当中间计算的”草稿板”
- 高频像素特征在轨迹末尾生成
数学框架
设原始图像为 ,潜在表示为 ,其中 , 为下采样因子(通常或)。
Latent Forcing的轨迹定义为:
其中 表示时间步。关键创新在于条件信号的顺序:
- 在传统扩散中,模型接收 或
- 在Latent Forcing中,模型接收
条件信号顺序的重要性
Latent Forcing的理论分析揭示了一个关键发现:条件信号的顺序对生成质量至关重要。
考虑条件生成问题:给定条件 ,生成目标 。不同的条件信号排列会得到截然不同的结果:
这解释了REPA(Rectified Flow with Predictive Architecture)蒸馏中Rectified Flows在tokenizer和扩散模型中表现差异的原因。
噪声调度策略
Latent Forcing使用分别调优的噪声调度:
其中 和 是独立的噪声调度,可以根据不同模态的特性进行优化。
关键理论洞察
1. 条件信号顺序与生成质量
Latent Forcing的分析表明,先处理低频信息,后处理高频信息的策略更符合扩散模型的学习动态:
- 低频信息(结构、布局)→ 潜在空间 → 早期步骤
- 高频信息(纹理、细节)→ 像素空间 → 后期步骤
2. Tokenizer重建质量与Diffusability
论文建立了tokenizer重建质量与其”可扩散性”(diffusability)之间的关系:
高质量的tokenizer不仅要有低的重建误差,还要有良好的扩散友好性——即其表示在扩散过程中容易学习和生成。
3. 条件生成 vs 无条件生成
在标准扩散模型中,条件信息通常通过以下方式注入:
- Classifier-Free Guidance:在推理时混合条件和无条件预测
- Cross-Attention:在U-Net/DiT中通过交叉注意力注入文本embedding
Latent Forcing提供了另一种视角:在条件信号中保留更多信息,使得模型能够更自然地利用条件进行生成。
实验结果
像素空间生成的新SOTA
Latent Forcing在DiT(Diffusion Transformer)架构上实现了像素空间图像生成的新SOTA性能:
| 方法 | FID↓ | IS↑ | 计算量 |
|---|---|---|---|
| 传统像素空间DiT | 12.3 | 45.2 | 1.0× |
| 传统潜在空间DiT | 8.7 | 52.1 | 0.3× |
| Latent Forcing (Ours) | 6.8 | 58.4 | 0.35× |
高效性与质量的双赢
Latent Forcing的关键优势在于:
- 推理效率:接近潜在扩散的计算量
- 生成质量:匹敌甚至超越端到端像素空间扩散
- 架构简洁:无需复杂的蒸馏或微调流程
与现有工作的关系
相比标准扩散模型
Latent Forcing是标准扩散模型的直接扩展,保留了其稳定训练和高质量生成的优势,同时引入了:
- 多模态条件输入:同时接收像素和潜在变量
- 轨迹重排序:改变了信息流的方向
- 独立调度:为不同模态优化噪声水平
相比潜在扩散模型
相比潜在扩散模型(如Stable Diffusion),Latent Forcing:
- 保留端到端建模:不再需要独立的编码器-解码器训练
- 避免信息瓶颈:潜在变量不是信息源,而是计算中间量
- 更灵活的条件注入:像素和潜在信息可以动态调整权重
相比REPA蒸馏
REPA(Rectified Predictive Architecture)尝试通过蒸馏将像素空间模型的生成能力迁移到潜在空间。Latent Forcing提供了另一种视角:
- 理论解释:为何REPA蒸馏有效(条件信号顺序的影响)
- 实践指导:如何设计更好的蒸馏策略
- 架构选择:什么样的tokenizer最适合扩散
技术细节
模型架构
Latent Forcing可以应用于各种扩散架构,包括DiT、U-Net等。核心修改在于:
class LatentForcingBlock(nn.Module):
"""Latent Forcing的核心模块"""
def __init__(self, dim, latent_dim):
super().__init__()
self.pixel_attn = Attention(dim) # 像素级注意力
self.latent_attn = Attention(latent_dim) # 潜在级注意力
self.fusion = FeedForward(dim + latent_dim)
def forward(self, x, z, t):
# x: 像素空间特征 (B, C, H, W)
# z: 潜在空间特征 (B, D, h, w)
# t: 时间步embedding
# 分别处理两个模态
h_x = self.pixel_attn(x)
h_z = self.latent_attn(z)
# 融合:潜在信息指导像素生成
h = self.fusion(torch.cat([h_x, upsample(h_z)], dim=1))
return h训练目标
Latent Forcing使用简化的MSE损失,但输入为联合条件:
其中:
推理流程
推理时,Latent Forcing采用类似DDIM的迭代去噪,但同时更新像素和潜在变量:
def latent_forcing_sampling(model, T, cfg_scale=7.0):
# 初始化:纯噪声
x_t = torch.randn(B, C, H, W)
z_t = torch.randn(B, D, h, w)
for t in reversed(range(T)):
# 联合预测噪声
eps_pred = model(x_t, z_t, t)
# 分别去噪
x_{t-1} = denoise_pixel(x_t, eps_pred, t)
z_{t-1} = denoise_latent(z_t, eps_pred, t)
x_t, z_t = x_{t-1}, z_{t-1}
return x_t # 返回像素空间结果未来方向
- 多模态扩展:将Latent Forcing扩展到视频、3D生成
- 调度优化:学习最优的联合噪声调度
- 理论深化:更深入的收敛性和泛化理论分析
- 与其他技术结合:如采样加速、一致性模型等
参考资料
相关主题
| 主题 | 链接 |
|---|---|
| 扩散模型基础 | 扩散模型 |
| 潜在空间扩散 | 潜在扩散模型 |
| 采样加速 | 扩散采样加速 |
| Rectified Flows | Rectified Flows与最优传输 |
Footnotes
-
Baade, A., et al. (2026). Latent Forcing: Reordering the Diffusion Trajectory for Pixel-Space Image Generation. arXiv:2602.11401. https://arxiv.org/abs/2602.11401 ↩