M6-044M6: Multimodal & Generative ModelsDiffusion Models Foundations (DDPM)Medium
Mastery:
Diffusion Models Foundations (DDPM): 解释 DDPM 与 DDIM 的采样差异。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: DDPM 是随机采样(每步加噪);DDIM 是确定性采样(可跳步、更少步数),同一训练模型可用两种采样。
📌 Key Takeaways
- •DDPM:每步注入随机噪声(随机性采样)
- •DDIM:令 σ_t=0 → 确定性采样(ODE)
- •DDIM 可跳步(如 50 步代替 1000 步),质量接近
📐 Mathematical Derivations
数学机理:<strong>DDPM 采样</strong>——从 x_T∼N(0,I) 出发,逐步反向:x_{t−1}=(1/√α_t)(x_t−(β_t/√(1−ᾱ_t))ε_θ(x_t,t))+σ_t·z,其中 σ_t=√β_t、z∼N(0,I);<strong>每步都注入随机噪声</strong>,故采样是<strong>随机的</strong>(同一 x_T 每次采样结果不同)。<strong>DDIM(Denoising Diffusion Implicit Models,Song 等 2021)</strong> 的推广——把 σ_t 变为<strong>可调参数</strong>:x_{t−1}=√ᾱ_{t−1}·x̂_0+√(1−ᾱ_{t−1}−σ_t²)·ε_θ(x_t,t)+σ_t·ε,其中 x̂_0=(x_t−√(1−ᾱ_t)ε_θ)/√ᾱ_t 是'估计的干净图像'。<strong>关键</strong>——(a) <strong>σ_t=0</strong> → <strong>确定性采样</strong>(无随机项);(b) <strong>σ_t=√((1−ᾱ_{t−1})/(1−ᾱ_t))·√(1−ᾱ_t/ᾱ_{t−1})</strong> → 恢复 DDPM(随机);(c) <strong>中间值</strong> → 介于两者之间。<strong>为什么 DDIM 能跳步</strong>——因为 σ_t=0 时,采样过程是一个<strong>确定性的 ODE</strong>(而非 SDE);ODE 可以用<strong>更大的步长</strong>求解(数值积分的步长不受'随机项'限制),故可用<strong>子序列</strong>(如从 1000 步中取 50 步)做采样,质量接近(甚至更好)。而 DDPM 的随机采样'必须逐步'(因为每步都依赖前一步的随机性),难以跳步。<strong>DDIM 的其他性质</strong>——(a) <strong>确定性</strong>——同一 x_T 总得到同一结果(可复现);(b) <strong>插值性</strong>——在潜空间中插值可得到平滑的语义插值(因为确定性映射保持几何结构);(c) <strong>反向可逆</strong>——可近似反转(用于图像编辑,见 SDEdit/inversion);(d) <strong>质量</strong>——在步数相同时与 DDPM 相当,在步数少时显著更好。<strong>与后续采样器的关系</strong>——DDIM 是'确定性采样'的早期代表;后续有 <strong>DPM-Solver</strong>(高阶 ODE 求解器,10~20 步即可)、<strong>Euler / Heun</strong>(一阶/二阶 ODE)、<strong>UniPC</strong> 等,都基于'把采样视为 ODE 求解'的思路。<strong>统一视角</strong>——扩散采样可写成<strong>概率流 ODE(probability flow ODE)</strong>(确定性)或<strong>反向 SDE</strong>(随机);DDPM 对应后者、DDIM 对应前者(σ=0 的极限)。<strong>实践</strong>——(a) <strong>快速采样</strong> → DDIM/DPM-Solver(10~50 步);(b) <strong>质量优先</strong> → 更多步或 SDE 采样;(c) <strong>可复现/编辑</strong> → 确定性采样(DDIM)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'DDIM 能跳步是因为它是 ODE'是关键洞察</strong>——ODE 的数值求解可用大步长(且误差可控),而 SDE 的随机项要求小步长;这解释了'为什么确定性采样更快'。② <strong>'同一模型两种采样'</strong>——DDIM 不需要重新训练(它与 DDPM 共享训练目标,只是采样方式不同);这是它的实用价值。③ <strong>'确定性 vs 随机性的取舍'</strong>——(a) <strong>确定性</strong>——可复现、可编辑(inversion)、可插值;但<strong>多样性降低</strong>(同一 x_T 只给一个结果,需靠不同的 x_T 获得多样性);(b) <strong>随机性</strong>——多样性更高(每步加噪引入变化);但不可复现、不可精确编辑。④ <strong>'质量与步数'</strong>——DDIM 在 50 步时质量接近 DDPM 的 1000 步(约 20 倍加速);DPM-Solver 进一步到 10~20 步。⑤ <strong>'与图像编辑的关系'</strong>——确定性采样使 <strong>DDIM inversion</strong>(把真实图像反推到噪声)可行,这是'基于扩散的图像编辑'(如 SDEdit、prompt-to-prompt)的基础。⑥ <strong>面试要点</strong>——被问'DDPM vs DDIM',应给出'<strong>随机(每步加噪)vs 确定性(σ=0,ODE)</strong>'与'<strong>DDIM 可跳步(因为 ODE 可用大步长)</strong>',并指出'<strong>同一模型两种采样、确定性支持编辑与复现</strong>';能提到'概率流 ODE'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕以为 DDIM 需要重新训练(共享训练目标)
- ✕用随机采样做精确的图像编辑(不可逆)
🎯 Interviewer Follow-ups
- ?DDIM 为什么能跳步?
- ?确定性采样的优缺点?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.