条件引导是扩散模型从「随机生成」跨越到「可控生成」的核心基石,通过引入条件信号将生成分布约束到条件分布,实现语义、结构、风格的全维度控制。
什么是扩散模型的条件引导
无条件扩散模型生成内容不可控。条件引导通过引入条件信号 $c$,将生成分布从 $p(x)$ 约束到 $p(x|c)$。
核心目标:
- 一致性:生成样本与输入条件高度匹配
- 保真性:保留扩散模型的高生成质量与多样性
发展历程
| 时间 | 里程碑 | 核心贡献 |
|---|---|---|
| 2020 | DDPM | 验证类别条件扩散可行性 |
| 2021 | 分类器引导 | 通过额外分类器提供梯度信号,首次超越 GAN |
| 2022 | CFG(无分类器引导) | 无需额外模型,成为工业标准 |
| 2023 | ControlNet | 空间结构级引导,像素级结构控制 |
| 2023 | IP-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)
核心思想:将参考图像编码为特征向量,通过轻量级适配器注入交叉注意力层。
引导流程:
- 图像编码(CLIP)
- 特征映射(适配器模块)
- 交叉注意力注入
| 优点 | 缺点 |
|---|---|
| 轻量级(几十 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 类别条件扩散)
| |
完整实现见原文。
最新研究进展(2024-2026)
- CFG 高效优化:CFG 蒸馏、Dynamic CFG
- 多模态统一框架:UniControl、MonoDiffusion
- 视频/3D 时序空间引导:Sora 时空条件引导
- 细粒度语义引导:区域级语义控制
张芷铭的个人博客
Comments