张芷铭的个人博客

条件引导是扩散模型从「随机生成」跨越到「可控生成」的核心基石,通过引入条件信号将生成分布约束到条件分布,实现语义、结构、风格的全维度控制。

什么是扩散模型的条件引导

无条件扩散模型生成内容不可控。条件引导通过引入条件信号 $c$,将生成分布从 $p(x)$ 约束到 $p(x|c)$。

核心目标:

  • 一致性:生成样本与输入条件高度匹配
  • 保真性:保留扩散模型的高生成质量与多样性

发展历程

时间里程碑核心贡献
2020DDPM验证类别条件扩散可行性
2021分类器引导通过额外分类器提供梯度信号,首次超越 GAN
2022CFG(无分类器引导)无需额外模型,成为工业标准
2023ControlNet空间结构级引导,像素级结构控制
2023IP-Adapter特征级图像引导,无需微调实现图像 prompt

前置基础:DDPM 核心框架

前向扩散

$$x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon$$

反向去噪

$$p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_t^2 I)$$

训练目标

$$L_{\text{simple}} = \mathbb{E}{t, x_0, \epsilon} \left[ \left| \epsilon - \hat{\epsilon}\theta(x_t, t) \right|^2 \right]$$

条件引导的核心是对噪声预测或均值进行修正

主流条件引导方法

1. 分类器引导(Classifier Guidance)

核心思想:通过额外训练的分类器提供梯度信号,修正反向去噪均值。

$$\mu_\theta(x_t, t, y) = \mu_\theta(x_t, t) + s \cdot \sigma_t^2 \nabla_{x_t} \log p_\phi(y|x_t)$$

优点缺点
引导强度可控需额外训练分类器
类别条件引导效果强无法适配复杂跨模态条件
高引导强度易失真

2. 无分类器引导(CFG)

核心思想:无需额外模型,通过条件与无条件噪声预测的加权差值实现引导。

训练阶段:以固定概率 $p$(10%-20%)将条件替换为空条件 $\emptyset$

采样阶段

$$\hat{\epsilon}{\text{cfg}} = \hat{\epsilon}\theta(x_t, t, \emptyset) + s \cdot \left( \hat{\epsilon}\theta(x_t, t, c) - \hat{\epsilon}\theta(x_t, t, \emptyset) \right)$$

负向 Prompt 扩展

$$\hat{\epsilon}{\text{cfg-neg}} = \hat{\epsilon}\theta(x_t, t, c_{neg}) + s \cdot \left( \hat{\epsilon}\theta(x_t, t, c) - \hat{\epsilon}\theta(x_t, t, c_{neg}) \right)$$

优点缺点
无需额外模型推理开销翻倍(两次前向传播)
完美适配任意模态条件高引导尺度($s>20$)易过饱和
引导强度可控、效果稳定仅全局语义级引导,无像素级控制

3. 空间结构级引导(ControlNet)

核心思想:通过零卷积分支将空间条件信号注入预训练 UNet,实现像素级结构控制。

零卷积:初始化权重和偏置均为 0 的 1×1 卷积层,训练初期不影响预训练模型输出。

训练与推理

  • 仅更新可训练副本与零卷积层参数
  • 可与 CFG、负向 Prompt 无缝结合
优点缺点
像素级空间结构控制每种空间条件需训练独立分支
训练成本极低推理增加少量计算开销
兼容性强

4. 特征级条件引导(IP-Adapter)

核心思想:将参考图像编码为特征向量,通过轻量级适配器注入交叉注意力层。

引导流程

  1. 图像编码(CLIP)
  2. 特征映射(适配器模块)
  3. 交叉注意力注入
优点缺点
轻量级(几十 MB)细节复刻能力有限
与文本 prompt、CFG、ControlNet 完全兼容图像/文本特征可能语义冲突
泛化性强

核心性质

引导强度与质量权衡

引导强度越高,匹配度越高,但多样性下降、易失真。文生图任务 CFG 通常设置 7-15。

时序性引导差异

时间段作用
早期($t>500$)决定全局语义、布局、结构
后期($t<200$)仅优化细节、纹理

工业界常使用动态引导尺度

多条件融合线性可加性

文本 CFG + ControlNet 空间引导 + IP-Adapter 图像引导可直接叠加。

工程实践技巧

CFG 引导尺度调优

场景推荐尺度
通用文生图7-11
创意生成3-6
精准生成12-20(配合 Rescale CFG)

高引导强度质量优化

Rescale CFG:对噪声方差进行 rescale,保持与原始噪声一致。

$$\hat{\epsilon}{\text{rescale}} = \hat{\epsilon}{\text{cfg}} \cdot \frac{\text{std}(\hat{\epsilon}\theta(x_t, t, c))}{\text{std}(\hat{\epsilon}{\text{cfg}})}$$

代码实现(CFG 类别条件扩散)

1
2
3
4
# CFG 核心采样公式
pred_cond = model(x, t, target_label)      # 条件噪声预测
pred_uncond = model(x, t, null_label)      # 无条件噪声预测
pred_noise = pred_uncond + cfg_scale * (pred_cond - pred_uncond)

完整实现见原文。

最新研究进展(2024-2026)

  1. CFG 高效优化:CFG 蒸馏、Dynamic CFG
  2. 多模态统一框架:UniControl、MonoDiffusion
  3. 视频/3D 时序空间引导:Sora 时空条件引导
  4. 细粒度语义引导:区域级语义控制

Comments