在自注意力中,Q、K 和 V 都來自相同的序列——每個 token 關注同一輸入中的其他 token。在交叉注意力中,Q 來自一個來源(例如解碼器),K、V 來自另一個來源(例如編碼器)。解碼器 token 問「輸入中什麼與我現在正在生成的內容相關?」注意力機制提供輸入的加權摘要。
文字到影像模型使用交叉注意力將影像生成條件化於文字。文字提示被編碼為嵌入(透過 CLIP 或 T5),在每個去噪步驟中,影像特徵透過交叉注意力層關注文字嵌入。這就是模型如何知道要生成「衝浪板上的貓」——影像中每個空間位置都關注相關的詞語。操縱這些交叉注意力圖就是提示加權和注意力編輯等技術的運作方式。
自注意力和交叉注意力具有不同的計算特徵。自注意力在序列長度上是二次方的(每個 token 關注每個其他 token)。交叉注意力是解碼器長度乘以編碼器長度的線性關係(每個解碼器 token 關注所有編碼器 token)。在實踐中,編碼器輸出通常比解碼器序列短得多,使交叉注意力比解碼器自注意力更便宜。