詳細解釋
交叉注意力(Cross-Attention)是Query來自一個序列、Key/Value來自另一序列的注意力,實現兩序列間的資訊交互。
與自注意力的區別:
- 自注意力:Q、K、V來自同一序列
- 交叉注意力:Q來自目標,K/V來自源
應用場景:
- 編解碼器:解碼器關注編碼器輸出
- 多模態:文本Q關注圖像KV(如CLIP)
- 條件生成:生成時關注條件信息
數學:
- 與自注意力計算相同
- 只是Q、K、V來源不同
在Transformer架構 (變換器 / 注意力模型) (Switch Transformer)中的位置:
- 解碼器層中的交叉注意力子層
- 編碼器輸出作為K和V
- 解碼器當前狀態作為Q
視覺-語言應用:
- 圖文匹配:文本關注圖像區域
- 圖像描述:生成詞關注圖像
- 視覺問答:問題關注圖像
重要性:
- 實現不同模態/序列間對齊
- 是Seq2Seq和多模態的核心機制
- 讓模型「看」到條件資訊
是Transformer編解碼器架構的關鍵。