codex_agy_batch_20260704_1609 / adversarial_diffusion_distillation · paper

Adversarial Diffusion Distillation

论文的核心贡献

  • 提出 Adversarial Diffusion Distillation (ADD): 作者从预训练扩散模型初始化学生模型,把学生训练成 1-4 步采样器,并同时使用对抗损失和分数蒸馏损失。重要性在于它不是单纯压缩采样 ODE 轨迹,也不是重新训练一个 GAN,而是把扩散教师的语义知识和 GAN 判别器的真实图像约束合到同一个蒸馏框架里。
  • 把清晰度和语义对齐拆给两类监督信号: 对抗损失要求学生输出能骗过判别器的真实感图像,分数蒸馏损失要求学生输出接近冻结教师扩散模型给出的去噪目标。这样分别缓解了少步蒸馏容易模糊、纯 GAN 容易语义对齐不足或训练不稳的问题。
  • 保留扩散式多步精修能力: ADD 学生仍然以去噪器形式工作,因此推理时可以单步生成,也可以用 2-4 步迭代改进结果。相比传统单步 GAN,这种设计给速度和质量之间留下连续调节空间。
  • 在大规模文本到图像基础模型上验证少步生成: 论文报告 ADD 能把 SDXL-Base 这类大模型蒸馏到少量采样步,并在多个指标和人类偏好评测中优于强基线;其中“outperform”等结论应理解为论文报告结果,未在这里独立复核所有数据集、指标、协议和分辨率条件的完全可比性。

复杂 Pipeline 深度解析

Figure 2 pipeline
Figure 2 pipeline

图中元素对照解读

  • 图中左上角公式 s in T_studentt in T_teacherepsilon, epsilon' 对应论文中的学生时间步、教师时间步和两路噪声变量;它在 pipeline 中的作用是定义上、下两条训练分支分别在什么噪声尺度上工作。
  • 图中上方真实宇航员骑马图像 x0 对应论文中的真实训练样本;它在 pipeline 中的作用是同时作为前向扩散的干净起点和判别器的 real 参照。
  • 图中左侧上排彩色噪声图 xs = alpha_s x0 + sigma_s epsilon 对应论文中的学生输入带噪样本;它在 pipeline 中的作用是把真实图像按学生时间步加噪后送入可训练学生去噪器。
  • 图中中间上排浅蓝色蝴蝶结形模块 theta / ADD-student 对应论文中的可训练学生生成器;它在 pipeline 中的作用是从 xs 预测少步生成结果 xhat_theta(xs, s)
  • 图中上排从学生输出图像指向粉色判别器的箭头: 对应论文中的生成样本进入 adversarial loss 分支;它在 pipeline 中的作用是让学生输出接受真实/伪造判别反馈,减少少步生成的模糊和流形偏差。
  • 图中右侧粉色多边形 phi / Discriminatorreal/fake 标签: 对应论文中的判别器;它在 pipeline 中的作用是比较真实图像 x0 和学生图像 xhat_theta,产生对抗训练信号。
  • 图中从学生输出向下的虚线与下排噪声图 xhat_theta,t = alpha_t xhat_theta + sigma_t epsilon' 对应论文中把学生生成图再次加噪到教师时间步的操作;它在 pipeline 中的作用是构造教师蒸馏分支的输入。
  • 图中中间下排浅绿色蝴蝶结形模块 psi 带锁图标 / DM-teacher 对应论文中的冻结扩散教师;它在 pipeline 中的作用是在不更新教师参数的情况下输出去噪目标 xhat_psi(xhat_theta,t, t)
  • 图中右下方 stop grad、双箭头和 c(t)d(xhat_theta, xhat_psi) 对应论文中的梯度截断和蒸馏距离项;它在 pipeline 中的作用是只把教师给出的目标作为监督信号回传给学生,而不是训练教师模型。

这篇论文的核心思路是把扩散模型蒸馏从“尽量拟合多步采样轨迹”推进到“用对抗约束修正极少步生成的图像流形偏差”。它针对的痛点很明确:大规模文本到图像扩散模型质量高但采样慢,而单步 GAN 生成快却难以保持扩散模型级别的文本对齐、组合泛化和可扩展训练稳定性。

核心图是 Figure 2: Adversarial Diffusion Distillation。这张图展示的是训练阶段的 ADD 框架:一个可训练的 ADD-student 同时接收来自判别器的对抗反馈和来自冻结 DM-teacher 的蒸馏反馈。

1. 构造学生输入

  • 输入: 真实图像 x0、学生时间步 s、噪声 epsilon
  • 操作: 通过前向扩散过程构造带噪输入 xs = alpha_s x0 + sigma_s epsilon
  • 输出: 学生模型要处理的带噪图像 xs
  • 作用: 让学生在训练时面对与扩散采样一致的去噪输入,而不是直接从干净图像学习重建。

2. ADD-student 单次去噪生成

  • 输入: 带噪图像 xs 和条件信息。
  • 操作: 可训练学生去噪器 theta 预测去噪样本。
  • 输出: 学生生成结果 xhat_theta(xs, s)
  • 作用: 这是最终要部署的快速生成器;训练目标是让它用极少步数产生接近高质量扩散采样的结果。

3. 对抗分支约束图像真实感

  • 输入: 真实图像 x0 与学生生成图像 xhat_theta
  • 操作: 判别器 phi 判断输入是真实样本还是学生生成样本,并向学生提供对抗损失。
  • 输出: adversarial loss。
  • 作用: 直接惩罚模糊、过平滑和不在真实图像流形上的输出,补足纯蒸馏在 1-4 步极端压缩时的视觉细节缺口。

4. 蒸馏分支继承教师语义知识

  • 输入: 学生生成图像 xhat_theta、教师时间步 t 和噪声 epsilon'
  • 操作: 先把学生输出再次扩散成 xhat_theta,t,再交给冻结的 DM-teacher psi 预测去噪目标 xhat_psi(xhat_theta,t, t);教师侧使用 stop-grad,不更新教师参数。
  • 输出: distillation loss,即学生输出与教师去噪目标之间的距离项。
  • 作用: 把大扩散模型中已经学到的文本对齐、对象组合和场景先验传给学生,避免学生只追求骗过判别器而丢失复杂 prompt 的语义结构。

关键术语

  • Score Distillation / SDS: 在本文中不是用于 3D 优化的终端任务,而是作为训练学生图像生成器的教师信号。它把冻结扩散模型在带噪样本上的去噪方向转化为学生可学习的目标。
  • Adversarial Loss: 判别器给学生的真实感约束。它的设计动机是弥补少步蒸馏容易出现的模糊和纹理不足,让每次前向输出都更接近真实图像分布。
  • ADD-student: 被蒸馏的快速去噪模型,训练后用于 1-4 步生成。它继承扩散模型的去噪接口,因此不同于只能一次出图、难以继续迭代修正的传统单步 GAN。
  • DM-teacher: 冻结的预训练扩散模型,只提供蒸馏目标,不在 ADD 训练中更新。它承担语义先验和组合能力的来源。
  • Zero-terminal SNR: 论文使用的噪声调度相关设计,目的是让最大时间步对应接近纯噪声的状态,使学生在文本到图像推理时能从纯噪声起步。

Figure 2 是论文核心,因为它把 ADD 的两个关键判断压缩到同一张训练图里:视觉真实感不能只靠教师蒸馏,需要判别器直接约束;复杂语义和组合能力也不能只靠 GAN,需要冻结扩散教师持续提供方向。整篇论文关于快速采样、少步质量、多步精修和基础模型蒸馏的贡献,都可以从这条双监督训练路径中串起来。