codex_agy_batch_20260704_2235 / distribution_matching_distillation · paper

One-step Diffusion with Distribution Matching Distillation

论文的核心贡献

1. 基于分布匹配的单步扩散蒸馏

  • 具体做法: 训练一个 one-step generator \(G_\theta\),将随机噪声 \(z\) 一次前向映射为图像 \(x\)。训练时不要求学生逐步复现教师扩散模型的完整去噪轨迹,而是通过分布匹配梯度推动生成分布接近真实/教师分布。
  • 为什么重要: 单步生成器如果只做轨迹回归,很容易在复杂数据分布上损失细节和真实感。DMD 把目标提升到分布层面,使训练信号更接近“生成图像是否整体像真实图像”。
  • 相对旧方法解决的问题: 相比 progressive distillation、consistency model 等逐步压缩采样步数的方法,DMD 试图避免在压缩到 1 步时质量急剧下降。

2. 用真实/假数据两个 score function 构造分布匹配梯度

  • 具体做法: 对生成器输出的假图像加入随机强度噪声,得到 \(x_t\)。然后把 \(x_t\) 同时送入两个扩散去噪器:一个是真实数据 score function,另一个是假数据 score function。两者的 denoising score 差值近似给出 KL 散度下降方向,并反传给生成器。
  • 为什么重要: 在高维图像空间里直接计算真假分布之间的散度不可行。score function 提供了可训练、可反传的局部方向,使“分布匹配”变成实际可优化的目标。
  • 相对旧方法解决的问题: 它不依赖完整教师采样链的逐步监督,也不只靠 GAN 式判别器给一个真假标量,而是利用扩散模型的去噪方向作为更细粒度的训练信号。

3. 动态学习 fake score model

  • 具体做法: fake data score function 不是固定模型,而是随着生成器输出分布变化持续用 diffusion loss 在假图像上训练。
  • 为什么重要: 单步生成器在训练过程中不断变化,假分布也随之移动。动态 fake score model 能估计当前假分布的 score,从而让 real score 和 fake score 的差值更有意义。
  • 相对旧方法解决的问题: 避免用静态模型估计不断变化的生成分布,降低分布匹配梯度失真的风险。

4. 用 LPIPS 回归损失稳定训练并保留模式

  • 具体做法: 论文预先用多步扩散模型生成噪声-图像配对数据,在训练时偶尔加载相同噪声对应的教师输出,并对单步生成器结果施加 LPIPS regression loss。
  • 为什么重要: 纯分布匹配可能只保证整体分布接近,却不保证每个输入噪声都对应合理内容,也可能导致模式缺失。
  • 相对旧方法解决的问题: 回归分支为生成器提供锚点,约束其保留教师模型的多样性和粗结构,缓解模式崩塌或语义漂移。

5. 针对扩散时间步的加权策略

  • 具体做法: 论文为分布匹配梯度引入时间相关权重,控制不同噪声强度下梯度尺度的影响。
  • 为什么重要: 扩散不同时间步的 score 尺度差异很大,直接合并可能使训练被某些噪声区间主导。
  • 相对旧方法解决的问题: 该设计提升训练稳定性;相关质量提升和 FID 改善在本文中应理解为论文报告结果,未在此处做跨协议可比性复核。

复杂 Pipeline 深度解析

Figure 2: Distribution Matching Distillation method overview
Figure 2: Distribution Matching Distillation method overview

图中元素对照解读

  • 图中最左侧彩色噪声方块 “random latent z”: 对应论文中的随机潜变量输入 \(z\);它在 pipeline 中的作用是作为单步生成器的输入源,训练和推理都从这个噪声变量开始生成图像。
  • 图中左中部粉色竖条模块 “one-step generator \(G_\theta\)”: 对应论文中的学生生成器 \(G_\theta\);它在 pipeline 中的作用是把 \(z\) 一次前向映射成右侧的 fake image,而不是执行多步扩散采样。
  • 图中生成器右侧鹰图 “fake image \(x\)”: 对应论文中的生成样本 \(x=G_\theta(z)\);它在 pipeline 中的作用是同时进入回归约束分支和分布匹配梯度分支,成为所有训练信号的直接作用对象。
  • 图中左下灰色框 “paired dataset generated offline”: 对应论文中预先由多步扩散模型生成的噪声-图像配对数据;它在 pipeline 中的作用是提供与当前噪声相关的教师输出,用于约束单步生成器不要偏离教师样本结构。
  • 图中绿色箭头和绿色圆角框 “regression loss”: 对应论文中的 LPIPS regression loss;它在 pipeline 中的作用是把 fake image 与离线配对样本比较,给 \(G_\theta\) 一个保留语义结构和模式覆盖的稳定训练信号。
  • 图中从 fake image 指向右侧 noisy image 的黑色虚线箭头 “diffusion”: 对应论文中对假图像随机加噪得到 \(x_t\) 的步骤;它在 pipeline 中的作用是把生成样本放到扩散时间步空间里,方便 real/fake score function 比较 denoising 方向。
  • 图中右侧灰色大区域 “Distribution Matching Gradient Computation”: 对应论文中的分布匹配梯度计算模块;它在 pipeline 中的作用是把同一个 noisy image \(x_t\) 分别送入上方 real data score function 和下方 fake data score function。
  • 图中上方灰色条形网络带锁 “real data score function”: 对应论文中固定的真实数据/教师 score 模型;它在 pipeline 中的作用是输出上方 “real score”,表示 noisy image 朝真实分布去噪的方向。
  • 图中下方蓝色条形网络 “fake data score function” 及右侧蓝色框 “diffusion loss”: 对应论文中持续在假图像上训练的 fake score model;它在 pipeline 中的作用是输出下方 “fake score”,并通过 diffusion loss 跟随当前生成器分布变化。
  • 图中最右侧灰色鹰图 “computed gradient” 与红色回路 “distribution matching gradient \(\nabla_\theta D_{KL}\)”: 对应论文中 real score 与 fake score 的差值形成的分布匹配梯度;它在 pipeline 中的作用是沿红色箭头反传回 \(G_\theta\),推动 fake image 更接近真实/教师分布。

这篇论文提出 Distribution Matching Distillation (DMD),目标是把原本需要多步迭代采样的扩散模型蒸馏成单步图像生成器。它跳出了“逐步模仿教师扩散轨迹”的旧范式,改为直接让单步生成器的输出分布靠近教师/真实数据分布;论文报告称,这能在大幅降低推理步数的同时尽量保持生成质量。

核心图:Figure 2, “Method overview”,物理 PDF 第 3 页。

这张图是 DMD 的方法总览,展示了单步生成器、离线配对回归分支、分布匹配梯度计算分支,以及 fake score model 的 diffusion loss 训练闭环。

1. 随机噪声进入单步生成器

  • 输入: random latent \(z\)。
  • 操作: \(z\) 经过 one-step generator \(G_\theta\) 一次前向传播。
  • 输出: fake image \(x\)。
  • 作用: 这是被蒸馏出来的最终推理路径。训练完成后,生成图像不再需要多步去噪链,而是由 \(G_\theta\) 一步产生。

2. 离线配对数据提供回归约束

  • 输入: 与当前噪声对应的离线教师样本,即预先由多步扩散模型生成的 noise-image pair。
  • 操作: 比较 \(G_\theta(z)\) 和教师输出,计算 LPIPS regression loss。
  • 输出: 回归损失。
  • 作用: 这条绿色分支把单步生成器锚定到教师模型的结构和语义输出上,防止只靠分布匹配时出现模式缺失或输入-输出映射漂移。

3. 假图像加噪进入分布匹配分支

  • 输入: fake image \(x\)。
  • 操作: 随机采样扩散时间步,并向 \(x\) 注入对应强度的高斯噪声。
  • 输出: noisy image \(x_t\)。
  • 作用: 对图像加噪后,真实分布与假分布在扩散空间中更容易产生可比较的局部 score 信号,使 KL 梯度估计更稳定。

4. real score 与 fake score 并行估计

  • 输入: noisy image \(x_t\)。
  • 操作: \(x_t\) 分别进入 real data score function 和 fake data score function。前者来自真实/教师扩散模型,后者在生成器当前输出上持续训练。
  • 输出: real score 和 fake score。
  • 作用: real score 指向“更真实”的去噪方向;fake score 描述当前生成分布自身的方向。两者差值给出把假分布推向真实分布的修正信号。

5. score 差值得到 computed gradient 并反传给生成器

  • 输入: real score 与 fake score。
  • 操作: 计算二者差值,形成 distribution matching gradient \(\nabla_\theta D_{KL}\),并沿红色箭头回传到 \(G_\theta\)。
  • 输出: 生成器参数更新方向。
  • 作用: 这是 DMD 的核心训练信号,直接优化生成器输出分布的真实感,而不是逐步模仿采样轨迹。

6. fake score model 用 diffusion loss 自我更新

  • 输入: 由生成器产生的假图像及其加噪样本。
  • 操作: fake data score function 通过 diffusion loss 继续学习当前假分布的 denoising score。
  • 输出: 更新后的 fake score model。
  • 作用: 让 fake score 始终跟随生成器分布变化,避免分布匹配梯度过期。

关键术语解释

  • Distribution Matching Distillation: 这不是简单的采样步数压缩,而是把教师扩散模型隐含的输出分布压缩到一个单步生成器里。核心是让学生输出分布与目标分布匹配。
  • Score Function: 在本文里指扩散去噪模型提供的局部方向信息。它不是分类分数,而是告诉 noisy sample 应该如何移动才能更接近某个数据分布。
  • Real Data Score Function: 代表目标/真实分布的方向,通常来自预训练扩散模型,是生成器学习“更真实”的参照。
  • Fake Data Score Function: 代表当前生成器输出分布的方向,随训练动态更新,用来刻画假分布自身。
  • Distribution Matching Gradient: real score 与 fake score 的差值所形成的生成器更新信号,功能是提高真实感并减少当前假分布特征。
  • Regression Loss: 使用离线教师样本进行 LPIPS 约束,功能是保留输入噪声到图像的结构对应关系和模式覆盖。

为什么 Figure 2 是论文核心

Figure 2 把 DMD 的两个关键训练机制放在同一张图里:左下方的配对回归分支负责稳定和保模式,右侧的 real/fake score 分支负责分布级真实感优化。它清楚说明 DMD 为什么能不同于传统逐步蒸馏:训练目标不只是复刻教师采样轨迹,而是用分布匹配梯度把单步生成器的输出整体推向高质量扩散模型的输出分布。文中关于速度、FID、CLIP score 等优势均为论文报告结果;这里未单独验证跨方法实验协议的完全可比性。