跳到主内容
快讯直播
AI智模界
AI 词典

交叉注意力:生成时去“查资料”的那条通路

交叉注意力(Cross-Attention)是 Transformer 中让一个序列在生成每个位置时,去“查看”另一个序列并提取相关信息的注意力机制。它的 Query(查询)来自当前正在生成的一方,Key(键)和 Value(值)来自被参考的一方,因此叫“交叉”。

注意力通用做法:拿 Q 和每个 K 算相似度,得到权重,再对 V 加权求和。自注意力(AI 词典:Self-Attention">Self-Attention)里 Q、K、V 同源;交叉注意力里 Q 与 K/V 不同源。最典型的是编码器-解码器 Transformer:解码器每生成一个词,Q 是当前解码状态,K/V 是编码器对源句子的表示。翻译“我爱猫”时,生成“love”的 Q 会重点匹配“爱”,生成“cats”的 Q 会重点匹配“猫”。

生活化比方:写报告时,自注意力像在已有草稿内部来回看,保证句子连贯;交叉注意力像每写一句就翻一次参考资料,按当前问题去索引里查最相关的几页。Q 是你的问题,K 是资料索引,V 是资料内容。问题变了,查到的内容也跟着变。

在文生图扩散模型里,图像潜变量(latent)的每个位置提供 Q,文本提示经文本编码器得到的 token 向量提供 K/V。于是“一只戴帽子的猫”中的“帽子”能影响图像中与帽子相关区域。语音识别、图文问答、多模态大模型也大量使用这种“让生成端看条件端”的层。许多架构会用多头交叉注意力(Multi-Head Cross-Attention),从不同子空间并行查不同角度的信息。

与相邻概念的区别:

机制Q 来源K/V 来源典型用途
自注意力同一序列同一序列建模上下文关系
因果自注意力同一序列,只可看左侧同一序列自回归逐词生成
交叉注意力生成端(解码器、图像 latent 等)条件端(编码器输出、文本提示等)条件控制、跨模态对齐

一个常被忽略的细节:交叉注意力通常不做“因果掩码”,因为被参考的条件输入完整可见,只需屏蔽 padding 等无效位置;解码器自注意力则必须防止看到未来 token。

对从业者,交叉注意力是给生成模型“加条件”的常用接口:把新模态编码成 K/V,接到生成端的交叉注意力层,就能让输出受文本、图像、音频等控制。对普通人,机器翻译、语音转文字、文生图、图文问答背后,都有这条“边生成边查资料”的通路;它弱了,模型容易忽略提示、指代错对象或图文不符。具体模型是否使用、插在哪几层,以官方文档或论文为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。