← 返回题目列表

多模态模型中 Cross-Attention 有什么作用?

中等 第 17 / 25 题 更新于 2026/09/18
多模态大模型AI技术大模型面试题

简化版

Cross-Attention 让一种模态的表示作为 Query,去读取另一种模态的 Key/Value。例如文本 Token 询问视觉特征,使“图中左侧红色按钮”能够按当前文字问题选择相关区域,而不是把所有视觉信息平均压缩。

它用于跨模态融合、Grounding 和条件生成。优势是媒体记忆可独立编码/缓存,语言序列不必完全拼接所有视觉 Token;代价是额外参数、计算和对齐难度。是否优于 Token 拼接取决于模型架构、视觉长度和部署 Kernel。

详细版

Q = text_hidden Wq
K = vision_features Wk
V = vision_features Wv
CrossAttn(Q,K,V) = softmax(QK^T / sqrt(d)) V
设计优点代价
文本 Q、视觉 K/V问题驱动读图视觉只能被读取
双向 Cross-Attn两模态共同更新计算更大
间隔层插入控制成本融合深度有限
Token 拼接架构统一自注意力序列变长

训练应包含细粒度 Grounding 和反事实样本,避免 Attention 只关注背景;评测要验证遮挡/换图时答案随证据变化,不能把 Attention Heatmap 当作因果解释。

完整版教学

1. Self-Attention 与 Cross-Attention

Self-Attention 的 Q/K/V 来自同一序列;Cross-Attention 的 Q 来自目标模态,K/V 来自源模态。

因此后者显式定义“谁读取谁”,适合 Encoder—Decoder 与多模态条件生成。

Cross-Attention 的源记忆通常先由独立编码器计算,可在多个生成 Token 间复用;Self-Attention 则持续更新同一序列表示。

2. 文本读取图像的计算

每个文本 Token 生成 Query,与所有视觉 Token 的 Key 计算相似度,再聚合 Value。

shape: Q [T,d], K/V [V,d]
attention map [T,V]

复杂度近似 O(T×V×d),视觉 Token 很多时仍昂贵。

3. 它如何实现问题相关选择

同一张图,问题问颜色、文字或位置时,文本 Query 不同,理论上可读取不同视觉区域。

这种动态选择比固定全局向量更有表达力,但需要训练数据教会模型细粒度对应。

4. Cross-Attention 放在哪些层

可每层插入、隔若干层插入或仅在 Adapter 层使用。越频繁融合能力越强,但参数、显存和延迟更高。

插入方式能力成本
每层深度融合最高
间隔层折中
少量桥接层轻量可能融合不足

通常通过消融决定,而非固定经验。

5. 与视觉 Prefix 拼接的区别

Prefix 把视觉 Token 与文本拼入同一 Self-Attention,允许更对称交互,但扩大语言序列和 KV Cache。

Cross-Attention 保持视觉记忆独立,可缓存 K/V,并只在指定层读取;也需要额外模块和专用部署支持。

Prefix 中视觉 Token 还参与语言 Self-Attention 的因果 Mask 设计;Cross-Attention 可使用双向完整视觉记忆,二者训练检查点不能随意互换。

6. Q-Former 有什么关系

Q-Former 用少量可学习 Query Cross-Attend 大量视觉特征,把它们压成固定数量 Token,再接语言模型。

它同时做桥接与压缩;固定查询数可能丢小对象和密集文字,需要按任务选择容量。

Q-Former 查询通常在预训练中学习从视觉编码器提取可被语言使用的信息,输出再经投影映射到 LLM 维度;它不是普通随机采样。

7. 双向融合什么时候用

图文检索、联合编码或需要视觉表示被语言上下文反向更新时,可交替双向 Cross-Attention。

生成式 VLM 常以文本读取静态视觉特征为主,计算更易控制。双向并非天然更好。

8. Mask 和位置编码

视觉 Token 需携带二维/区域位置,视频还需时间位置;文本使用序列位置。Cross-Attention Mask 控制哪些源 Token 可见。

Padding、多个图像或多帧边界错误会造成跨样本/跨图串读,是实现测试重点。

9. 训练信号如何设计

Caption 和 VQA 提供生成监督;区域—短语、Refer Expression、匹配损失提供局部对齐;困难负样本迫使模型区分属性和关系。

仅用全局 Caption,Attention 可能依赖背景共现而非正确对象。

损失权重需防止大规模 Caption 淹没稀有 Grounding;可按任务采样并定期用局部标注做验证。

10. Attention Map 能否解释

权重显示模型在该层的读取分配,但不等于因果重要性;残差、多头和后续层会改变最终决策。

应结合遮挡、区域替换、梯度/归因和反事实测试验证,不把漂亮 Heatmap 当作正确 Grounding。

多头 Attention 还可能分工,简单平均会隐藏少数关键头;解释方法需注明层、头与聚合规则。

11. 如何降低计算

先用 Resampler/Token Pruning 缩短视觉记忆,使用稀疏/局部 Attention,减少插入层,或缓存静态视觉 K/V。

压缩策略要保留与问题相关的细节;可先粗编码,再按 Query 选择高分辨率区域。

性能实验应分别改变文本长度和视觉 Token 数,测 Cross-Attention 占比;否则无法判断瓶颈来自语言自注意力还是媒体读取。

12. 多图与视频怎么处理

为每张图/每帧加入来源与时间编码,避免模型混淆;可分层先做帧内压缩,再跨帧建模。

文本 Query 读取多源记忆时要有预算和 Mask,否则早期图像或大量相似帧会淹没关键证据。

13. 如何评估和上线

测试 VQA、Grounding、计数、属性、关系、OCR,并用错配图、遮挡和反事实确认视觉依赖。

性能测视觉长度下的 TTFT、显存和吞吐;灰度按分辨率/图像数分桶,监控幻觉和证据定位。

Cross-Attention 的核心是让目标模态按当前语义需要读取源模态,而不是证明某张 Attention 图就是模型解释。

14. 常见误区与追问

  • 误区:Cross-Attention 权重就是可靠解释。 它不是完整因果证据。
  • 误区:每层都加融合效果一定最好。 成本与过拟合可能增加。
  • 误区:它消除了视觉 Token 成本。 K/V 记忆仍需计算和存储。
  • 误区:Prefix 与 Cross-Attention 完全等价。 交互结构和缓存不同。
  • 误区:全局 Caption 足以训练局部对齐。 需要区域与困难反例。
  • 追问:Q-Former 做什么? 用可学习 Query 从视觉特征抽取固定数量表示。
  • 追问:如何证明模型真的读图? 遮挡、换图、反事实和 Grounding 评测。

15. 加强记忆

  1. 先分来源:Q 来自目标,K/V 来自源模态。
  2. 再记作用:按问题读取相关视觉/音频证据。
  3. 再记位置:每层、间隔层或桥接层。
  4. 再对比 Prefix:统一自注意力对独立媒体记忆。
  5. 再记压缩:Q-Former、Resampler、Pruning。
  6. 再守解释边界:Attention 不等于因果。
  7. 最后验收:Grounding、反事实与目标硬件性能。