张芷铭的个人博客

扩散模型通过条件嵌入机制将外部信息融入去噪过程,主要方式包括交叉注意力、归一化参数动态调整、时间步联合嵌入等。

条件类型

文本条件

  • CLIP 语义对齐:文本通过 CLIP 编码器生成语义向量,作为交叉注意力 Key/Value
  • 交叉注意力注入:在 U-Net 或 Transformer 瓶颈层,文本向量通过交叉注意力引导去噪方向

图像条件

  • 空间对齐控制:边缘图、深度图通过编码器转换为特征图,与 U-Net 中间特征拼接或注意力融合
  • 主体特征保持:多模态注意力机制将条件图像主体特征与生成过程隐变量对齐

类别条件

  • 标签嵌入:类别标签通过 MLP 转换为向量,与时间步嵌入相加
  • Classifier-Free Guidance:训练时随机丢弃条件标签,推理时通过条件与无条件预测差值增强约束

模型接入方式

交叉注意力机制

  • 全局上下文建模:条件作为独立 token 序列,通过多头交叉注意力与图像 token 交互
  • 层级融合:在 U-Net 不同分辨率层级插入交叉注意力模块

归一化参数动态调整

  • adaLN:将条件向量通过 MLP 映射为归一化层的 γ 和 β 参数
  • adaLN-Zero:进一步将条件信号融入残差路径,初始化为恒等函数

时间步与条件联合嵌入

  • 正弦位置编码:时间步 t 通过正弦函数编码,与条件向量拼接
  • 隐空间条件投影:条件信息通过 VAE 压缩后与潜变量结合

采样阶段条件优化

  • 动态引导尺度:调节 CFG Scale 控制条件约束强度
  • 交叉注意力缓存:推理早期缓存交叉注意力输出,减少后续计算量

典型模型实现

模型条件注入方式
Stable DiffusionCLIP 文本编码器 + 交叉注意力注入 U-Net 每层
DiT支持 In-context/adaLN 多种方式
OminiControl复用 DiT 组件,多类型条件融合,参数开销仅 0.1%

未来方向

  • 连续时间条件建模:将条件作为 SDE 的驱动项
  • 跨模态动态对齐:视频生成中的时空条件融合

Comments