Adversarial Diffusion Distillation
论文的核心贡献
- 提出 Adversarial Diffusion Distillation (ADD): 作者从预训练扩散模型初始化学生模型,把学生训练成 1-4 步采样器,并同时使用对抗损失和分数蒸馏损失。重要性在于它不是单纯压缩采样 ODE 轨迹,也不是重新训练一个 GAN,而是把扩散教师的语义知识和 GAN 判别器的真实图像约束合到同一个蒸馏框架里。
- 把清晰度和语义对齐拆给两类监督信号: 对抗损失要求学生输出能骗过判别器的真实感图像,分数蒸馏损失要求学生输出接近冻结教师扩散模型给出的去噪目标。这样分别缓解了少步蒸馏容易模糊、纯 GAN 容易语义对齐不足或训练不稳的问题。
- 保留扩散式多步精修能力: ADD 学生仍然以去噪器形式工作,因此推理时可以单步生成,也可以用 2-4 步迭代改进结果。相比传统单步 GAN,这种设计给速度和质量之间留下连续调节空间。
- 在大规模文本到图像基础模型上验证少步生成: 论文报告 ADD 能把 SDXL-Base 这类大模型蒸馏到少量采样步,并在多个指标和人类偏好评测中优于强基线;其中“outperform”等结论应理解为论文报告结果,未在这里独立复核所有数据集、指标、协议和分辨率条件的完全可比性。
复杂 Pipeline 深度解析
Figure 2 展示的是 ADD 的训练框架:学生输出同时连接到上方的 adversarial loss 分支和下方的 distillation loss 分支。下面用 4 张逐帧图解替代长段文字解析,每一帧只高亮当前要看的区域,其余部分淡化。
逐帧图解
文字版补充
- 图中可直接看到的结构: 蓝色
theta / ADD-student产生学生输出;粉色phi / Discriminator接收真实图和学生图,输出real/fake;绿色psi / DM-teacher带锁图标,并通过stop grad接入 distillation loss。 - 论文正文层面的解释: adversarial loss 的用途是给学生输出提供真实/伪造判别反馈;distillation loss 的用途是让冻结扩散教师给学生提供去噪目标。这里属于论文机制解释,不是单靠图像像素就能证明的实验结论。
- 不要从这张图过度外推: Figure 2 不展示 1-4 步采样质量、baseline 对比、具体 prompt 或数据集来源;这些结论需要回到论文实验和正文论述。
关键术语
- Score Distillation / SDS: 在本文中不是用于 3D 优化的终端任务,而是作为训练学生图像生成器的教师信号。它把冻结扩散模型在带噪样本上的去噪方向转化为学生可学习的目标。
- Adversarial Loss: 判别器给学生的真实感约束。它的设计动机是弥补少步蒸馏容易出现的模糊和纹理不足,让每次前向输出都更接近真实图像分布。
- ADD-student: 被蒸馏的快速去噪模型,训练后用于 1-4 步生成。它继承扩散模型的去噪接口,因此不同于只能一次出图、难以继续迭代修正的传统单步 GAN。
- DM-teacher: 冻结的预训练扩散模型,只提供蒸馏目标,不在 ADD 训练中更新。它承担语义先验和组合能力的来源。
- Zero-terminal SNR: 论文使用的噪声调度相关设计,目的是让最大时间步对应接近纯噪声的状态,使学生在文本到图像推理时能从纯噪声起步。
Figure 2 是理解 ADD 训练框架的关键入口,因为它把两个监督来源放在同一张图里:上支路连接 adversarial loss,下支路连接冻结 DM-teacher 和 distillation loss。论文关于快速采样、少步质量、多步精修和基础模型蒸馏的论述,都可以从这条双分支训练路径开始理解。