Paper Reading / Diffusion Sampling

Denoising Diffusion Implicit Models

训练同一个噪声预测器,重写前向 joint,换出一族从随机 DDPM 到确定性 DDIM 的生成过程。

DDIM 的核心贡献位于采样过程:固定 \(q(\mathbf{x}_t\mid\mathbf{x}_0)\) 的每个单时刻边际,允许改变 \(q(\mathbf{x}_{1:T}\mid\mathbf{x}_0)\) 的联合结构,再用较短时间子序列执行逆向生成。论文报告 20–100 步可接近 1000 步模型的质量,并将 50k 图像采样墙钟时间缩短约 \(10\times\) 到 \(50\times\)。

Jiaming Song · Chenlin Meng · Stefano ErmonStanford UniversityICLR 2021arXiv:2010.02502v4 · 2022-10-05 修订22 页:主文 12 页 + 附录 10 页
阅读原始 PDF ↗查看固定代码提交 ↗进入推导 ↓
1000训练噪声层级 \(T\)
10–100重点短轨迹采样步数
3.17CIFAR-10 最低表中 FID
50kFID 与速度图像规模

身份说明:论文首次提交于 2020-10-06,正式发表于 ICLR 2021;本页以 2022-10-05 的 arXiv v4 为正文与附录依据。v4 在第 6 页更新 ODE 关联并修正证明。核查日期:2026-09-28。

01 / RESEARCH MOTIVATION

瓶颈来自顺序采样长度

DDPM 用长达 \(T=1000\) 的逆向 Markov 链逐步去噪。每一步都调用一次网络,步骤之间存在严格依赖,无法并行完成单个样本。论文给出的直观成本是:Nvidia 2080 Ti 上生成 50k 张 \(32\times32\) 图像约需 20 小时,生成 50k 张 \(256\times256\) 图像可接近 1000 小时。

Paper Verified

研究缺口

已有 diffusion model 的生成质量可与 GAN 接近,采样却需要数百到数千次网络评估。作者寻找一套可直接复用 DDPM checkpoint 的短轨迹生成过程。

Author Claim

核心直觉

常用噪声预测目标只读取 \(q(\mathbf{x}_t\mid\mathbf{x}_0)\)。保持这些边际分布相同,联合前向过程仍有大量自由度;新的 joint 对应新的逆向生成过程。

Our Interpretation

真正改变的位置

训练样本构造、噪声预测网络和损失保持原有形式;推理时选择时间子序列与方差参数。速度改善来自网络调用次数减少。

阅读边界。

“更快”指采样与生成。论文没有证明训练更快;它直接复用 CIFAR-10、LSUN Bedroom、LSUN Church 的 DDPM checkpoint,并自行训练 CelebA 模型。确定性 DDIM 的逆向映射在给定 \(\mathbf{x}_T\) 后固定,初始 \(\mathbf{x}_T\sim\mathcal{N}(\mathbf{0},\mathbf{I})\) 仍然随机。

原论文 Figure 1 左:Markov diffusion inference model原论文 Figure 1 右:non-Markovian inference model
Figure 1。 左图是 DDPM 的 Markov 前向链;右图以 \(\mathbf{x}_0\) 额外条件每个反向条件,形成 non-Markov joint。图形结构的变化给逆向生成过程提供了可调方差。PDF p.2

02 / PROBLEM FORMULATION

先把论文中的 \(\alpha_t\) 看准确

论文使用 \(\alpha_t\) 表示 DDPM 文献常写的累计乘积 \(\bar{\alpha}_t\)。因此 \(\alpha_t\) 随 \(t\) 递减,\(\alpha_0=1\),而一步 beta 可由 \(1-\alpha_t/\alpha_{t-1}\) 恢复。代码中的 compute_alpha 对 beta 做累乘,正好返回论文语义中的 \(\alpha_t\)。

符号定义作用
\(\mathbf{x}_0\)数据样本训练时来自 \(q(\mathbf{x}_0)\);生成终点
\(\mathbf{x}_t\)第 \(t\) 个噪声层级的 latent与图像同维;作为噪声预测器输入
\(\alpha_t\)累计信号保留量,\(\alpha_0=1\)决定 \(\mathbf{x}_0\) 与噪声的混合比例
\(\mathbf{\epsilon}\)标准 Gaussian 噪声训练目标与随机采样项
\(\epsilon_{\theta}^{(t)}\)时间条件噪声预测网络从 \(\mathbf{x}_t\) 估计加入的噪声
\(\mathbf{\sigma}\)每一步条件标准差向量索引 non-Markov joint 与生成随机性
\(\tau=(\tau_1,\ldots,\tau_S)\)\([1,\ldots,T]\) 的递增子序列定义实际访问的 \(S\) 个噪声层级
\(\eta\)实验中的单一方差缩放参数\(\eta=0\) 为 DDIM;\(\eta=1\) 对应一种 DDPM 方差

共享的单时刻边际

\[ q(\mathbf{x}_t\mid\mathbf{x}_0)=\mathcal{N}\!\left(\sqrt{\alpha_t}\mathbf{x}_0,(1-\alpha_t)\mathbf{I}\right),\qquad \mathbf{x}_t=\sqrt{\alpha_t}\mathbf{x}_0+\sqrt{1-\alpha_t}\mathbf{\epsilon}. \]
训练可以随机抽一个 \(t\),直接构造 \(\mathbf{x}_t\),无须真的从 1 走到 \(t\)。DDIM 的自由度来自保持这条边际公式,同时改动所有时间步的 joint。

03 / NON-MARKOVIAN FAMILY

同一组边际可以对应不同联合分布

\[ q_{\mathbf{\sigma}}(\mathbf{x}_{1:T}\mid\mathbf{x}_0) =q_{\mathbf{\sigma}}(\mathbf{x}_T\mid\mathbf{x}_0) \prod_{t=2}^{T}q_{\mathbf{\sigma}}(\mathbf{x}_{t-1}\mid\mathbf{x}_t,\mathbf{x}_0). \]
该分解方向从 \(T\) 到 1,并让每个条件额外看到 \(\mathbf{x}_0\)。由 Bayes 公式可得到正向 \(q_{\mathbf{\sigma}}(\mathbf{x}_t\mid\mathbf{x}_{t-1},\mathbf{x}_0)\),它一般依赖 \(\mathbf{x}_0\),所以不满足一阶 Markov 性。
\[ q_{\mathbf{\sigma}}(\mathbf{x}_{t-1}\mid\mathbf{x}_t,\mathbf{x}_0) =\mathcal{N}\!\left( \sqrt{\alpha_{t-1}}\mathbf{x}_0 +\sqrt{1-\alpha_{t-1}-\sigma_t^2}\, \frac{\mathbf{x}_t-\sqrt{\alpha_t}\mathbf{x}_0}{\sqrt{1-\alpha_t}}, \sigma_t^2\mathbf{I} \right). \]
第一项保留干净样本方向;分式是标准化的第 \(t\) 层噪声方向;\(\sigma_t\) 控制额外随机量。实数条件还要求 \(0\le\sigma_t^2\le1-\alpha_{t-1}\)。

为何边际保持不变

假设 \(\mathbf{x}_t\mid\mathbf{x}_0\) 已有目标 Gaussian 边际。把上式写成线性 Gaussian:条件均值对 \(\mathbf{x}_t\) 的随机部分贡献方差 \(1-\alpha_{t-1}-\sigma_t^2\),条件自身再贡献 \(\sigma_t^2\)。两项相加恰好得到 \(1-\alpha_{t-1}\),均值中的噪声期望为零,因此:

\[ \mathbb{E}[\mathbf{x}_{t-1}\mid\mathbf{x}_0]=\sqrt{\alpha_{t-1}}\mathbf{x}_0,\qquad \mathrm{Var}(\mathbf{x}_{t-1}\mid\mathbf{x}_0)=(1-\alpha_{t-1})\mathbf{I}. \]

从 \(t=T\) 反向归纳到 1,即得到每个目标边际。这个结论说明 joint 的时间相关结构可以变化,训练看到的单时刻带噪样本分布保持一致。

方差范围与极限。

定理要求每个 \(\sigma_t\gt0\),因为证明中的权重包含 \(1/\sigma_t^2\)。DDIM 采用 \(\sigma_t=0\) 的边界情形,论文用 \(\sigma_t\) 任意接近零来说明其极限关系。把定理直接写成覆盖零方差会遗漏这一限制。

04 / OBJECTIVE EQUIVALENCE

等价发生在加权噪声损失,进一步复用 \(L_{\mathbf{1}}\) 还有条件

模型从 \(\mathbf{x}_t\) 预测噪声,再恢复干净样本估计:

\[ f_{\theta}^{(t)}(\mathbf{x}_t)= \frac{\mathbf{x}_t-\sqrt{1-\alpha_t}\,\epsilon_{\theta}^{(t)}(\mathbf{x}_t)}{\sqrt{\alpha_t}}. \]
若噪声预测准确,代回前一节的边际重参数式即可得到 \(\mathbf{x}_0\)。生成条件把未知 \(\mathbf{x}_0\) 替换为该预测。

non-Markov joint 对应的 variational objective 为:

\[ J_{\mathbf{\sigma}}(\epsilon_\theta)= \mathbb{E}_{q_{\mathbf{\sigma}}(\mathbf{x}_{0:T})} \left[\log q_{\mathbf{\sigma}}(\mathbf{x}_{1:T}\mid\mathbf{x}_0)-\log p_\theta(\mathbf{x}_{0:T})\right]. \]

附录的目标是把每个 Gaussian KL 化为 \(\mathbf{x}_0-f_\theta^{(t)}(\mathbf{x}_t)\) 的加权平方误差,从而证明存在正权重向量 \(\mathbf{\gamma}\),使 \(J_{\mathbf{\sigma}}=L_{\mathbf{\gamma}}+C\)。这个“存在正权重”的结论成立,但 v4 附录直接写出的 \(\gamma_t=1/(2d\sigma_t^2\alpha_t)\) 省略了条件均值差的系数以及 \(1-\alpha_t\),不能视为一般时间表下的完整标准 Gaussian 系数。

\[ a_t= \sqrt{\alpha_{t-1}} -\sqrt{1-\alpha_{t-1}-\sigma_t^2} \sqrt{\frac{\alpha_t}{1-\alpha_t}}, \qquad \Delta\mu_t=a_t\bigl(\mathbf{x}_0-f_\theta^{(t)}(\mathbf{x}_t)\bigr). \]
Our Interpretation 直接按正文 Eq. 7 重算两项 Gaussian 条件均值。这里的 \(a_t\) 是被原稿简化掉的系数。
\[ \gamma_t= \frac{a_t^2(1-\alpha_t)}{2\sigma_t^2\alpha_t}, \quad t\gt1; \qquad \gamma_1= \frac{1-\alpha_1}{2\sigma_1^2\alpha_1}. \]
若 \(L_{\mathbf{\gamma}}\) 把平方范数按维度取平均,还需整体除以 \(d\);若使用平方和,则不除以 \(d\)。两种约定只改变正比例缩放,不改变论文需要的“每个权重为正”结论。该重推导同时保留 \(\sigma_t\gt0\) 的定理条件。
parameter sharing 限定。

论文随后说明:若各个 \(t\) 的 \(\epsilon_{\theta}^{(t)}\) 参数互不共享,并且每一项都能达到全局最优,正权重只会缩放彼此独立的子问题,所以 \(L_{\mathbf{\gamma}}\) 与 \(L_{\mathbf{1}}\) 共享最优解。官方实现使用同一个时间条件 U-Net,参数跨 \(t\) 共享;有限容量、有限数据和实际优化下,不同权重可以改变折中。实验显示已有 DDPM checkpoint 能有效支持 DDIM 采样,这属于经验支持。

严格成立

固定边际

给定合法 \(\mathbf{\sigma}\),构造保证每个 \(q_{\mathbf{\sigma}}(\mathbf{x}_t\mid\mathbf{x}_0)\) 与 DDPM 一致。

严格成立

加权目标

对全部正 \(\sigma_t\),\(J_{\mathbf{\sigma}}\) 等于某个 \(L_{\mathbf{\gamma}}\) 加常数。

额外假设

无权重目标

从 \(L_{\mathbf{\gamma}}\) 推到 \(L_{\mathbf{1}}\) 的最优解一致,需要时间步参数互不共享和全局最优。

极限解释

零方差

\(\sigma_t=0\) 未被定理直接覆盖,论文用正方差趋近零连接 DDIM。

05 / SAMPLING EQUATION

一次更新由三部分组成

\[ \begin{aligned} \mathbf{x}_{t-1}={}& \sqrt{\alpha_{t-1}} \underbrace{\left(\frac{\mathbf{x}_t-\sqrt{1-\alpha_t}\,\epsilon_\theta^{(t)}(\mathbf{x}_t)}{\sqrt{\alpha_t}}\right)}_{\text{predicted }\mathbf{x}_0}\\ &+\underbrace{\sqrt{1-\alpha_{t-1}-\sigma_t^2}\,\epsilon_\theta^{(t)}(\mathbf{x}_t)}_{\text{direction toward }\mathbf{x}_t} +\underbrace{\sigma_t\mathbf{\epsilon}_t}_{\text{fresh random noise}}, \quad\mathbf{\epsilon}_t\sim\mathcal{N}(\mathbf{0},\mathbf{I}). \end{aligned} \]
预测噪声将当前 \(\mathbf{x}_t\) 与时间 \(t\) 送入 U-Net,得到 \(\epsilon_\theta^{(t)}(\mathbf{x}_t)\)。
估计干净样本用闭式公式计算 \(\hat{\mathbf{x}}_0=f_\theta^{(t)}(\mathbf{x}_t)\)。
沿同一噪声方向移动第二项把当前层级的结构带到下一层级,其系数由 \(\alpha\) 和 \(\sigma_t\) 决定。
按需注入新噪声\(\sigma_t\gt0\) 时每一步加入独立 Gaussian;\(\sigma_t=0\) 时给定 \(\mathbf{x}_T\) 与时间轨迹后完全确定。

\(\eta\) 把实验压成一维方差族

\[ \sigma_{\tau_i}(\eta)=\eta \sqrt{\frac{1-\alpha_{\tau_{i-1}}}{1-\alpha_{\tau_i}}} \sqrt{1-\frac{\alpha_{\tau_i}}{\alpha_{\tau_{i-1}}}}. \]
设置每步随机性与论文术语的关系给定 \(\mathbf{x}_T\) 后
\(\eta=0\)\(\sigma_{\tau_i}=0\)DDIM轨迹固定时输出确定
\(0\lt\eta\lt1\)部分随机generalized process仍依赖每步新噪声
\(\eta=1\)posterior variance一种 DDPM 生成过程随机
\(\hat{\sigma}_{\tau_i}=\sqrt{1-\alpha_{\tau_i}/\alpha_{\tau_{i-1}}}\)更大方差Ho et al. CIFAR-10 实现使用的 DDPM 变体随机,短轨迹噪声扰动更强

DDIM 中“implicit”表示 \(p_\theta(\mathbf{x}_0)\) 由先验 latent 经确定映射隐式定义。它不要求初始状态固定为常数;每次生成仍先抽取 \(\mathbf{x}_T\)。

06 / SUBSEQUENCE SAMPLING

跳步来自重新定义轨迹

令 \(\tau=(\tau_1,\ldots,\tau_S)\) 是 \([1,\ldots,T]\) 的递增子序列,附录取 \(\tau_S=T\)。生成时按照 \(\tau_S,\tau_{S-1},\ldots,\tau_1,0\) 执行前一节更新。网络仍接收原始时间索引,因此一个 \(T=1000\) 的 checkpoint 可以只访问 \(S\) 个层级。

原论文 Figure 2:子序列加速采样图模型
Figure 2。 示例 \(\tau=[1,3]\)。蓝色链是实际生成使用的子序列;补集时间点在 variational objective 中保留为从 \(\mathbf{x}_0\) 发出的星形节点。PDF p.5

论文选择

Linear:\(\tau_i=\lfloor ci\rfloor\),用于 CelebA、LSUN Bedroom、LSUN Church。
Quadratic:\(\tau_i=\lfloor ci^2\rfloor\),用于 CIFAR-10。常数 \(c\) 使末端接近 \(T\)。作者称这些选择在各自数据集上略优于另一种。

代码选择

uniform 以整数 skip=T//S 构造 range(0,T,skip);quad 使用 \(\lfloor \mathrm{linspace}(0,\sqrt{0.8T},S)^2\rfloor\)。后者最大索引接近 \(0.8T\),与论文“末端接近 \(T\)”的文字存在实现差异。

计算成本。

每个采样步调用一次 U-Net,墙钟时间随 \(S\) 近似线性增长。短轨迹减少 network function evaluations;训练 checkpoint 的原始 \(T\) 不随采样 \(S\) 改变。

07 / ODE CONNECTION

DDIM 是在噪声尺度上做 Euler 离散

对 \(\eta=0\) 的确定性更新,引入 \(\bar{\mathbf{x}}=\mathbf{x}/\sqrt{\alpha}\) 与噪声尺度 \(\rho=\sqrt{(1-\alpha)/\alpha}\)。这里用 \(\rho\) 区分前文离散条件标准差 \(\sigma_t\)。更新可写成:

\[ \frac{\mathbf{x}_{t-\Delta t}}{\sqrt{\alpha_{t-\Delta t}}} =\frac{\mathbf{x}_t}{\sqrt{\alpha_t}} +\left( \sqrt{\frac{1-\alpha_{t-\Delta t}}{\alpha_{t-\Delta t}}} -\sqrt{\frac{1-\alpha_t}{\alpha_t}} \right)\epsilon_\theta^{(t)}(\mathbf{x}_t). \]
\[ \mathrm{d}\bar{\mathbf{x}}(t)= \epsilon_\theta^{(t)}\!\left(\frac{\bar{\mathbf{x}}(t)}{\sqrt{\rho^2(t)+1}}\right)\mathrm{d}\rho(t). \]
采样从大噪声尺度积分到 0;反向积分可把 \(\mathbf{x}_0\) 编码到 \(\mathbf{x}_T\)。有限步情况下它只是一阶离散,重建误差来自数值误差和模型误差。

v4 的 Proposition 1 证明:当噪声预测器达到最优时,这个 ODE 与 Variance-Exploding SDE 的 probability flow ODE 经变量重参数后等价。连续 ODE 等价不意味着有限步离散完全相同。DDIM 对 \(\mathrm{d}\rho\) 取 Euler 步,论文对比的 probability-flow 实现对 \(\mathrm{d}t\) 取 Euler 步;粗时间网格下两者会产生不同结果。

Paper Verified

连续极限

最优模型下,经 \(\bar{\mathbf{x}},\rho\) 变换,DDIM ODE 与 VE-SDE probability flow ODE 相同。

Author Claim

可逆编码

足够细离散时可从数据积分到 latent,再沿生成方向返回;实验用重建误差提供支持。

Our Interpretation

有限步误差

表 2 的误差随步数下降符合 Euler 离散误差预期,也混合了 U-Net 预测误差;论文没有单独分解两者。

08 / EXPERIMENTS

同一 checkpoint 下比较采样过程

四个数据集均使用 \(T=1000\) 的噪声层级与 \(L_{\mathbf{1}}\) 目标。CIFAR-10、LSUN Bedroom、LSUN Church 复用 Ho et al. 的预训练 DDPM;CelebA 64×64 由作者训练。主要指标是 50k 样本的 FID,速度图在单张 Nvidia 2080 Ti 上测量。

Table 1:CIFAR-10 与 CelebA 完整 FID

方差设置CIFAR-10 32×32:采样步数 \(S\)CelebA 64×64:采样步数 \(S\)
10205010010001020501001000
DDIM \(\eta=0.0\)13.366.844.674.164.0417.3313.739.176.533.51
\(\eta=0.2\)14.047.114.774.254.0917.6614.119.516.793.64
\(\eta=0.5\)16.668.355.254.464.2919.8616.0611.018.094.28
DDPM \(\eta=1.0\)41.0718.368.015.784.7333.1226.0318.4813.935.98
DDPM \(\hat{\sigma}\)367.43133.3732.729.993.17299.71183.8371.7145.203.26

短轨迹中 \(\eta=0\) 的 FID 最低;1000 步时 \(\hat{\sigma}\) 变体略优。以 CelebA 为例,20 步 DDIM 的 FID 13.73 接近 100 步 \(\eta=1\) 的 13.93。表中没有置信区间、随机种子重复或标准差。

Figure 3 CIFAR-10 10 stepsFigure 3 CIFAR-10 100 stepsFigure 3 CelebA 10 stepsFigure 3 CelebA 100 steps
Figure 3。 CIFAR-10 与 CelebA 在 10 / 100 步下随 \(\eta\) 变化的样本。每个子图从上到下为 \(\eta=0,0.2,0.5,1\)。短轨迹中的高随机性带来明显噪声与结构劣化。PDF p.7

Figure 4:墙钟时间与步数

Figure 4 CIFAR-10 sampling hoursFigure 4 LSUN Bedroom sampling hours
Figure 4。 单张 Nvidia 2080 Ti 生成 50k 样本的小时数随步数近似线性增长,旁边给出对应样本。论文据此给出 20–100 步相对 1000 步约 \(10\times\) 到 \(50\times\) 的生成加速。图中 Bedroom 1000 步约 1000 小时,CIFAR-10 1000 步约 20 小时。PDF p.8

Appendix Table:LSUN 完整 FID

方法Bedroom 256×256Church 256×256
102050100102050100
DDIM \(\eta=0.0\)16.958.896.756.6219.4512.4710.8410.58
DDPM \(\eta=1.0\)42.7822.7710.816.8151.5623.3711.168.27

附录另外报告 1000 步 DDPM:Bedroom FID 6.36,Church FID 7.89。Church 的 100 步 DDPM 为 8.27,优于 100 步 DDIM 的 10.58,说明“DDIM 在少步数总是更优”不受该表支持。

Table 2:CIFAR-10 latent 重建误差

编码与解码步数 \(S\)1020501002005001000
每维 MSE,图像缩放到 [0,1]0.0140.00650.00230.00090.00040.00010.0001

数值四舍五入到 \(10^{-4}\)。\(\mathbf{x}_T\) 与 \(\mathbf{x}_0\) 同维,作者明确不研究压缩率;这里验证的是确定性路径的近似可逆性。

09 / CONSISTENCY, INTERPOLATION, RECONSTRUCTION

确定性路径带来可控 latent 行为

Figure 5 CIFAR-10 consistencyFigure 5 Bedroom consistencyFigure 5 Church consistency
Figure 5。 固定同一随机 \(\mathbf{x}_T\),用 10、20、50、100、1000 步 DDIM 解码。不同轨迹保留相似高层语义,细节随步数变化。该结果是 qualitative evidence;论文未定义 consistency 指标。PDF p.8

作者据此把 \(\mathbf{x}_T\) 视为信息丰富的 latent。对于两份初始 latent,附录使用 spherical linear interpolation:

\[ \mathbf{x}_T^{(a)}= \frac{\sin((1-a)\vartheta)}{\sin\vartheta}\mathbf{x}_T^{(0)} +\frac{\sin(a\vartheta)}{\sin\vartheta}\mathbf{x}_T^{(1)}, \quad \vartheta=\arccos\frac{(\mathbf{x}_T^{(0)})^{\top}\mathbf{x}_T^{(1)}}{\lVert\mathbf{x}_T^{(0)}\rVert\lVert\mathbf{x}_T^{(1)}\rVert}. \]
Figure 6 CelebA interpolationFigure 6 Bedroom interpolationFigure 6 Church interpolation
Figure 6。 50 步 DDIM 的 latent line interpolation。连续样本在人脸属性、房间布局与教堂形态上平滑变化。论文提供图像展示,没有 perceptual path length、identity preservation 或用户研究。PDF p.8

附录完整样本组

Appendix Figure 7 CIFAR-10 1000-step DDPMAppendix Figure 7 CIFAR-10 1000-step DDIMAppendix Figure 7 CIFAR-10 100-step DDIM
Appendix Figure 7。 CIFAR-10:1000 步 DDPM、1000 步 DDIM、100 步 quadratic DDIM。真实论文图用于比较长短轨迹的视觉质量。
Appendix Figure 8 CelebA 1000-step DDPMAppendix Figure 8 CelebA 1000-step DDIMAppendix Figure 8 CelebA 100-step DDIM
Appendix Figure 8。 CelebA:1000 步 DDPM、1000 步 DDIM、100 步 DDIM。
Appendix Figure 9 CelebA DDIM consistency
Appendix Figure 9。 CelebA 固定 \(\mathbf{x}_T\) 的跨步数 consistency。
Appendix Figure 10 Church 100-step DDPMAppendix Figure 10 Church 100-step DDIM
Appendix Figure 10。 Church 100 步 DDPM 与 100 步 DDIM。
Appendix Figure 11 CelebA grid interpolationAppendix Figure 12 Bedroom grid interpolationAppendix Figure 13 Church grid interpolation
Appendix Figures 11–13。 四个 latent 经过两层 slerp 形成 50 步 DDIM 二维插值网格。

10 / REPRODUCTION DETAILS

论文与代码共同给出的设置

项目CIFAR-10CelebALSUN Bedroom / Church
分辨率32×3264×64,原始 CelebA,经 StyleGAN 工具预处理256×256
checkpointHo et al. DDPM pretrained作者自行训练Ho et al. DDPM pretrained
网络U-Net / Wide ResNet;channels 128;multiplier [1,2,2,2];2 residual blocks;16×16 attention;dropout 0.1channels 128;[1,2,2,2,4];2 blocks;16×16 attention;dropout 0.1channels 128;[1,1,2,2,4,4];2 blocks;16×16 attention;dropout 0
diffusion1000 steps;linear beta 0.0001 到 0.02;随机水平翻转;数据缩放到 [-1,1]
优化器Adam;lr 0.0002;\(\beta_1=0.9\);eps \(10^{-8}\);weight decay 0;gradient clip 1同 CIFAR-10Adam;lr 0.00002;\(\beta_1=0.9\);eps \(10^{-8}\);weight decay 0;配置未列 gradient clip
batch / EMA128 / 0.9999128 / 0.999964 / 0.999
配置上限n_epochs: 10000、n_iters: 5000000;训练循环按 epoch 运行,代码没有使用 n_iters 作为终止条件
采样 batch643232
轨迹论文 quadratic;代码 quadlinear / uniformlinear / uniform
论文缺失信息。

正文与附录没有给 CelebA 实际训练步数、训练耗时、GPU 数量、随机种子、完整数据 split 数量、数据下载版本、FID 实现版本、统计重复次数、scheduler、warmup、\(\beta_2\)、训练 precision 或 checkpoint 选择规则。代码依赖 PyTorch 1.6,并保存 50k PNG 供外部 FID 评估;仓库没有包含 FID 计算脚本。

训练与推理分开复现

01训练抽样抽 \(\mathbf{x}_0,t,\mathbf{\epsilon}\)
02构造噪声图\(\mathbf{x}_t=\sqrt{\alpha_t}\mathbf{x}_0+\sqrt{1-\alpha_t}\mathbf{\epsilon}\)
03噪声回归最小化 \(\lVert\epsilon_\theta-\epsilon\rVert_2^2\)
04推理初始化抽 \(\mathbf{x}_T\sim\mathcal{N}(0,I)\)
05短轨迹解码选 \(\tau,\eta\),执行 \(S\) 次更新

11 / PAPER VS IMPLEMENTATION

固定官方提交后的实现核查

代码核查固定在官方仓库提交 34d640e5180cc5ab378f84af6ed596cb0c810e6c(2020-10-20)。当前仓库 HEAD 的核心 configs/functions/models/runners/main.py 与该提交一致;后续代码差异仅涉及 CelebA 下载兼容,README 另增加 Diffusers 示例。

核查点论文固定提交影响
\(\eta\) 方差式 (16) 与附录 closed formc1 = eta * sqrt((1-at/at_next)*(1-at_next)/(1-at))与论文对应,c2=sqrt(1-at_next-c1²)
初始噪声\(\mathbf{x}_T\sim\mathcal{N}(0,I)\)每个 FID batch 用 torch.randn\(\eta=0\) 仍生成不同随机样本
时间子序列linear 末端接近 \(T\);quadratic 同理uniform 为整数 range;quad 的最大时间约 \(0.8T\)quadratic 实现与文字定义存在可复现差异
\(\hat{\sigma}\)较大方差 DDPM 变体sample_type=ddpm_noisy 另走 ddpm_steps实现会 clamp \(\hat{x}_0\) 到 [-1,1]
模型参数等价最优解讨论假设各 \(t\) 参数不共享一个 U-Net 通过 timestep embedding 服务所有 \(t\)理论 surrogate 论证的附加假设在实现中不满足
训练终止未给 CelebA 精确步数配置有 5,000,000 iterations,循环只检查 epoch仅凭配置不能恢复作者实际 checkpoint 训练预算
异常处理未讨论训练入口捕获全部异常;gradient clipping 也捕获全部异常可能把错误写入日志后以正常返回结束,降低 fast-fail 可诊断性
插值命令slerp latent interpolationREADME 把 --interpolation 描述为 inpainting;代码实际执行 slerpREADME 名称错误,代码与论文插值实验一致
硬编码实验给出 50k FID 与插值设置FID 样本数硬编码 50,000;插值 batch 分块与 11 个系数硬编码更改评估规模需要编辑代码

12 / EVIDENCE AND FAIRNESS

实验支持的范围

Strength

控制 checkpoint

每个数据集内部用同一个训练模型改变 \(S\) 与 \(\eta\),将大部分质量差异归因于采样过程。

Strength

覆盖多分辨率

CIFAR-10 32×32、CelebA 64×64 与两个 LSUN 256×256 类别共同验证短轨迹趋势。

Fairness caveat

短步 DDPM 的含义

论文把 \(S\lt T\) 的 DDPM 视作模拟一个用 \(S\) 步训练的 DDPM;它没有实际重新训练最优的 \(S\)-step baseline。

Fairness caveat

数据集 checkpoint 来源

CIFAR-10 与 LSUN 使用外部 DDPM checkpoint,CelebA 使用作者 checkpoint。跨数据集绝对 FID 不构成方法公平比较。

Missing evidence

无统计误差

FID 只有单点数值,未报告重复抽样、标准差或显著性。速度只给单 GPU 图表。

Missing baseline

当时替代加速器有限

论文主要比较同一模型的 DDPM / DDIM 方差族,未覆盖后续高阶 ODE solver、distillation 或现代 scheduler。

论文还给出离散 categorical non-Markov forward process 的附录构造:固定 \(q(\mathbf{x}_t\mid\mathbf{x}_0)=\mathrm{Cat}(\alpha_t\mathbf{x}_0+(1-\alpha_t)\mathbf{1}_K)\)。这里 \(\mathbf{1}_K=(1/K,\ldots,1/K)\) 是归一化的均匀类别概率向量,每个元素都等于 \(1/K\)。前一步条件分布混合 \(\mathrm{Cat}(\mathbf{x}_t)\)、\(\mathrm{Cat}(\mathbf{x}_0)\) 与 \(\mathrm{Cat}(\mathbf{1}_K)\),三项权重依次为 \(\sigma_t\)、\(\alpha_{t-1}-\sigma_t\alpha_t\) 与 \((1-\alpha_{t-1})-(1-\alpha_t)\sigma_t\)。附录再用 KL 凸性得到加权多类别分类损失上界。该部分没有实验,只展示 Gaussian 之外的可扩展方向。

13 / REVIEWER COMMENTARY

贡献清晰,理论措辞需要带着条件阅读

Strength

复用既有模型

通过 joint 的自由度解释 sampling schedule,使已有 DDPM checkpoint 获得 10–100 步推理能力,工程价值直接。

Strength

统一方差族

\(\eta\) 连续连接确定性 DDIM 与随机 DDPM,允许在样本质量、随机性与计算预算之间做受控实验。

Strength

latent 行为

确定性路径自然支持固定 latent 的跨轨迹一致性、slerp 与 ODE 反向编码,扩展了 diffusion model 的用途。

Weakness

共享参数缺口

从任意加权目标推到无权重目标的最优解一致依赖不共享参数,实际时间条件 U-Net 共享全部主干参数。

Weakness

短步 baseline

比较没有重新训练或重新调优针对少步数设计的 DDPM;因此能证明同 checkpoint 下 DDIM 更适合少步采样。

Weakness

复现信息不完整

CelebA 的实际训练预算、FID 工具链、种子和统计误差缺失;官方仓库也没有重建论文全部表格的一键脚本。

Potential Improvements

Research Extension

Research Extension

执行反馈的自适应步长

在 procedural material latent diffusion 中,把 renderer residual 作为局部误差估计,动态分配 \(\tau\) 与 ODE 步长。

Research Extension

结构与参数分层 ODE

对 graph topology 使用离散 non-Markov 构造,对连续材质参数使用 DDIM ODE,并设计执行有效性的联合约束。

Research Extension

测试时多轨迹搜索

固定同一初始 latent,比较不同 \(\eta\)、时间表与 renderer score;用有限预算选择可执行且视觉误差最低的轨迹。

以上研究延伸来自本文方法与 procedural material generation 的结合,原论文没有在 material graph、shader program 或 renderer-in-the-loop 任务上验证。

14 / PRIMARY SOURCES

一手资料与版本

  1. Song, Meng & Ermon, Denoising Diffusion Implicit Models, arXiv:2010.02502v4 — 本页公式、图表、附录与版本日期的主来源;本地 22 页 PDF 全文核读。
  2. ICLR 2021 OpenReview record — 正式会议身份。当前网页会返回验证页面,本页没有引用未读取的评审内容。
  3. Official DDIM repository, commit 34d640e — 采样公式、时间步选择、配置、checkpoint 路径与硬编码核查。
  4. Ho et al. official DDPM repository — 论文使用的 CIFAR-10 / LSUN checkpoint 与 \(\hat{\sigma}\) 背景。
  5. Song et al., Score-Based Generative Modeling through SDEs — v4 中 probability flow ODE 等价命题的并行工作来源。
作者与通信信息。

PDF 列出三位作者及 Stanford 邮箱,没有共同第一作者标记,也没有星号或文字明确通信作者。Obsidian 现有记录把最后作者 Stefano Ermon 作为通信作者候选,状态应保持 unverified。