M6-053M6: Multimodal & Generative ModelsGuidance & Fast Sampling (CFG / DDIM)Easy
Mastery:

Guidance & Fast Sampling (CFG / DDIM): 比较 classifier guidance 与 CFG。

📐 Mathematical Definition
CG: ∇log⁡p(x∣c)=∇log⁡p(x)+γ∇log⁡p(c∣x);CFG: (1−s)∇log⁡p(x)+s∇log⁡p(x∣c)\text{CG}:\ \nabla\log p(x|c)=\nabla\log p(x)+\gamma\nabla\log p(c|x);\qquad \text{CFG}:\ (1-s)\nabla\log p(x)+s\nabla\log p(x|c)
⚡ Executive Summary
Core Concept: classifier guidance 需额外训练分类器并对 score 求梯度;CFG 用同一模型的条件/无条件预测,无需额外模型、更简单且效果更好。

📌 Key Takeaways

  • •
    CG:额外训练分类器 p(c|x),对 score 加 γ·∇log p(c|x)
  • •
    CFG:用同一模型的条件/无条件预测组合,无需额外模型
  • •
    CFG 更简单、更有效、可处理任意条件(文本/图像)

📐 Mathematical Derivations

数学机理:<strong>classifier guidance(CG,Dhariwal & Nichol 2021)</strong>——利用贝叶斯法则把条件 score 分解:∇_x log p(x|c)=∇_x log p(x)+∇_x log p(c|x)。故做法是:(a) 训练<strong>无条件</strong>扩散模型(∇log p(x));(b) 额外训练一个<strong>噪声分类器</strong> p_θ(c|x_t)(对加噪图像分类,预测类别/条件);(c) 采样时组合:∇log p̂=∇log p(x)+γ·∇_x log p_θ(c|x_t),其中 γ 是引导强度。<strong>缺陷</strong>——(a) <strong>需额外训练分类器</strong>(增加训练成本与复杂度);(b) <strong>分类器在噪声输入上难训</strong>(要适应所有噪声水平);(c) <strong>难以处理复杂条件</strong>——分类器需输出'条件的概率',对'文本 prompt'这类<strong>开放、组合</strong>的条件几乎不可行(无法枚举所有文本);(d) <strong>对抗攻击脆弱</strong>——分类器可被'对抗样本'欺骗,导致引导失效。<strong>CFG(classifier-free guidance)</strong>——不训练分类器,而是<strong>用同一个模型</strong>的'条件预测'与'无条件预测'的差作为引导方向(见上一题)。<strong>优势</strong>——(a) <strong>无需额外模型</strong>(省训练成本);(b) <strong>可处理任意条件</strong>(文本、图像、类别、深度图等,只要能在训练时作为条件输入);(c) <strong>更有效</strong>(实证上 CFG 的生成质量优于 CG);(d) 实现简单(只需随机丢条件的训练技巧)。<strong>代价</strong>——(a) <strong>推理成本 ×2</strong>(两次前向);(b) 需'随机丢条件'的训练设置。<strong>理论关系</strong>——两者都是'对 score 做线性组合';差异在'引导项从哪来':CG 用<strong>外部分类器</strong>(显式建模 p(c|x)),CFG 用<strong>同一模型的隐式差</strong>(隐式建模 p(c|x) 的方向)。<strong>为什么 CFG 成为主流</strong>——因为它更简单、更通用(尤其对文本条件)、效果更好;故现代扩散模型(Stable Diffusion、DALL-E 2 之后的模型)几乎都用 CFG。<strong>其他引导</strong>——(a) <strong>多条件引导</strong>(多个条件的 score 加权组合);(b) <strong>负向引导</strong>(用负向提示作为'无条件'的位置);(c) <strong>动态引导</strong>(不同时间步用不同 s);(d) <strong>自引导(self-guidance)</strong>(用模型自身的不同层/尺度做引导)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'CFG 可处理文本条件'是关键优势</strong>——CG 的分类器无法对'任意文本'输出概率;故文本条件生成必须用 CFG(或类似方法)。② <strong>'推理成本 ×2 vs 训练成本'</strong>——CG 用训练成本(分类器)换推理成本(单次前向?——不,CG 也需两次:无条件 + 分类器梯度);实际上两者推理都需要额外计算。CFG 的优势主要在'无需训练分类器 + 通用性'。③ <strong>'引导强度 γ 与 s 的对应'</strong>——两者都是'放大条件影响'的旋钮;但 CFG 的 s 与 CG 的 γ 在数值上不对应(因为引导项的定义不同)。④ <strong>'对抗脆弱性'是 CG 的独特问题</strong>——分类器可被欺骗;CFG 无此问题(因为引导来自模型自身)。⑤ <strong>'与'多条件'的扩展'</strong>——CFG 天然支持多条件(多个条件的差相加);CG 需为每个条件训练分类器。⑥ <strong>面试要点</strong>——被问'CG vs CFG',应给出'<strong>CG 需额外分类器 + 难处理文本条件 + 对抗脆弱</strong>'与'<strong>CFG 用同一模型的差 + 通用 + 更有效 + 成本 ×2</strong>';能指出'两者都是 score 线性组合、差异在引导项来源'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    以为 CG 也能处理文本条件(分类器无法枚举文本)
  • ✕
    忽略 CG 需额外训练分类器
🎯 Interviewer Follow-ups
  • ?
    CG 的主要缺陷?
  • ?
    为什么 CFG 能处理'文本'条件而 CG 难以处理?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM6-052: Guidance & Fast Sampling (CFG / DDIM): 解释 Classifier-Free Guidance 的公式与作用。📋Back to BankNext →M6-054: Guidance & Fast Sampling (CFG / DDIM): 解释 guidance scale 的权衡。