文本条件:CLIP 编码器与交叉注意力

核心 约 25 分钟 ★ 最小路径 CLIP交叉注意力文本编码器条件注入核心原理最小路径
前置知识点(建议先学)
学习状态:

一句话定义

提示词先由文本编码器(SD 系用 CLIP 文本塔,新系叠加 T5)转成 token 嵌入序列,再在每个去噪层通过交叉注意力把这份语义「读」进图像特征——这就是文字控制画面的全部通道。

为什么重要

这是「文字为什么能指挥画面」的机制答案,也是模块 04 提示词工程的理论地基:为什么 77 token 会截断、为什么语序影响弱、为什么换文本编码器等于换「语言能力」。看懂交叉注意力的 Q/K/V 分工,「cat 这个词为什么总是生成猫的位置」这类现象就有了解剖学解释。

前置知识

kp-007(骨干网络的注意力层位置);kp-008(三件套中的文本编码器角色)。

核心概念

原理与机制

第一步:文本变嵌入。分词器把「a cat wearing sunglasses」切成 token 序列,补上起止符后送入 CLIP 文本塔,输出与 token 等长的嵌入矩阵(SD1.5 为 77×768)。CLIP 的训练方式(亿级图文对上做对比学习:配对的图文嵌入拉近、错配的推远)保证了这套嵌入与视觉语义对齐——这是文本能「对上」画面的前提,模型本身并不「理解」语法。第二步:嵌入进网络。在去噪网络的每个注意力层,图像特征展平成空间位置序列充当 Query,文本嵌入充当 Key 与 Value:

Attention(Q, K, V) = softmax( Q KT / √d ) · V,  Q ← 图像特征,K、V ← 文本嵌入

softmax 权重即注意力图:位置 i 从 token j 那里取多少语义,由两者的相似度决定。「cat」的嵌入与画面中猫形区域的高层特征相似度高,该区域便从 Value 中取走「猫」的语义——不需要显式定位,对应关系在训练中自发形成(注意力可视化研究反复印证了这种词-区域绑定)。第三步:每个去噪步都注入——文本不是开头给一次就完,而是在全部 T 步、每个注意力层持续参与,采样全程都在「对照笔记作画」。

公式与推导

本节核心公式即交叉注意力(上)。一个关键推论:嵌入序列长度(77)限制了可注入的语义总量,超出部分被截断丢弃——这就是长提示词失效的结构性原因(工具层的「分段编码」是对此的工程补丁,不改变机制)。另一推论:注意力相似度基于嵌入空间距离,因此同义词可互换、生僻词若不在 CLIP 词表附近则接近无效,提示词选词应优先使用 CLIP 时代高频词汇。

图示

提示词→分词(77 token)→CLIP 文本塔 → 嵌入序列 K,V⇄去噪网络各层:Q←图像位置,softmax(QKᵀ) 决定每个位置取哪个词的语义

直观类比

交叉注意力像「翻译耳机的同传」:画面每个位置(Q)随时提问「我该是什么样?」,文本嵌入(K)举牌报名「我管猫、我管墨镜、我管夜景」,每个位置按相关度各取所需(V)。译文质量上限取决于译员(CLIP)的水平——所以换 T5 级编码器后,模型忽然能听懂复杂长句。

实例或案例

常见误区

自测题

  1. 交叉注意力中 Q、K、V 各来自哪里?

答案要点:Q 来自图像空间位置特征,K/V 来自文本 token 嵌入。

  1. 为什么 SD1.5 的提示词超过 77 token 会被「吃掉」?

答案要点:文本塔上下文窗口固定 77,超出部分不产生嵌入、不注入任何注意力层。

  1. CLIP 的什么训练方式使文本嵌入能与画面语义对齐?

答案要点:大规模图文对上的对比学习,拉近配对样本、推远错配样本。

与其他知识点的关系

kp-010 的 CFG 中「条件分支」就是带此注入的前向;kp-017/kp-019 的提示词写法与权重语法都作用在这套嵌入上;kp-023 的谱系演进一半发生在文本编码器上。

延伸阅读

CLIP 原始论文(ICML 2021)第 3 节;Latent Diffusion 论文 4.3 节对「领域无关交叉注意力条件化」的设计论证。

相关知识点