G4.4 5 分鐘閱讀 2026年10月

G4.4 誰能參考誰,也可以是輸入的一部分嗎?

本篇重用1 篇

有些參考關係不是從 features 猜出來的

上一篇用 causal mask 表示「不能看未來」。但在其他資料裡,已知關係可能是道路是否相連、兩個地標有多遠,或兩個 token 相差幾個位置。

想像重新編號一張座位表。人名搬到新的 rows,誰坐在誰旁邊的表也要一起搬。若只改人名,卻保留舊座位關係,就不是原來那群人的資料。

我們可以把這份附帶關係交給 attention,而不是要求它全部從 HH 猜出來。

比較傾向與可見限制,分開寫

在原本的分數上加兩份表:

S=QK⊤dk+B+M,Y=softmax⁡row(S)V.S=\frac{QK^\top}{\sqrt{d_k}}+B+M,\qquad Y=\operatorname{softmax}_{\mathrm{row}}(S)V.

BijB_{ij} 是 finite bias,例如讓某些距離的對象比較容易被參考;MijM_{ij} 則取 00 或 −∞-\infty,表示可讀或禁止。很負的 finite bias 仍可能給非零權重,mask 才是真正排除。

Shaw、Uszkoreit 與 Vaswani [2] 將 relative position 加入 attention;原論文使用相對位置的 learned vectors,我們這裡用 scalar bias 表達較簡單的關係版本,兩者不混成同一條公式。

例如有語意位置 rir_i 時,可以令 Bij=b(rj−ri)B_{ij}=b(r_j-r_i);若是座標 xix_i,也可以試 Bij=b(∥xi−xj∥2)B_{ij}=b(\|x_i-x_j\|^2)。這些關係依附於點,不應依附於儲存列號。

連同關係一起重排

令 H′=PHH'=PH、B′=PBP⊤B'=PBP^\top、M′=PMP⊤M'=PMP^\top。使用前面已證的 Q′=PQQ'=PQ、K′=PKK'=PK,

S′=PQK⊤dkP⊤+PBP⊤+PMP⊤=PSP⊤.S'= P\frac{QK^\top}{\sqrt{d_k}}P^\top+PBP^\top+PMP^\top =PSP^\top.

每列至少保留一個可見 key,softmax 才有定義。現在仍可重排同一批分數,得到 A′=PAP⊤A'=PAP^\top,所以

Attn⁡(PH;PBP⊤,PMP⊤)=PAttn⁡(H;B,M).\operatorname{Attn}(PH;PBP^\top,PMP^\top) =P\operatorname{Attn}(H;B,M).

不是「附帶資訊會破壞 symmetry」,而是我們必須指定它該跟資料怎麼一起變。 忘記搬 mask 或只搬 bias 的一個軸,便不是這個等式比較的輸入。

從所有人,縮到有關係的人

若 Mij=−∞M_{ij}=-\infty 表示點 ii 不能讀點 jj,我們就能把 attention 限制在指定鄰居上。這提供了接到 graph 的方式:不用所有點都互相參考,而是把已知連線一起放進規則。

但還有兩個限制。首先,一般 dense 計算會製造 n×nn\times n 分數表;設定 mask 並不自動讓 dense 程式省去所有被禁止的乘法。其次,座標的 distance bias 對旋轉不變,不代表任意 Q,K,VQ,K,V 或輸出向量都已具有 rotation equivariance。資料列重排與座標轉動是不同的 action,後者要到 G6 另外設計。

補充Cross-attention 的兩份名單可以各自重排

若 queries 是 nn 個物件、keys/values 是另外 mm 個物件,兩份名單可分別用 Pq,PkP_q,P_k 重排。分數與關係表變成 PqSPk⊤P_qSP_k^\top,values 變成 PkVP_kV,輸出因此變成 PqYP_qY。輸出跟詢問者一起搬,不必和提供資訊的名單有相同數量。

Features 搬動一個軸,pairwise bias 與 mask 搬動兩個軸,才能表示原來的關係。
Features 搬動一個軸,pairwise bias 與 mask 搬動兩個軸,才能表示原來的關係。

課堂提問

加入鄰居 mask 後,輸出不再符合 shuffle test。是不是表示只能用沒有 mask 的 attention?

先想一想,再展開看整理後的答案

不是。先檢查 mask 是否也依同一份關係重排。若只搬 features,點可能突然參考到不同鄰居;這是輸入沒對齊,不是帶 mask 的運算必然違反 permutation equivariance。

動手看一次

選「相對位置」或「causal」,比較「只搬內容」與「資訊一起搬」。畫面顯示的零權重應符合當下 mask,defect 則對照同一份資料與關係。

快速回顧一下

想一想Bias 與禁止參考的 mask 相同嗎?

想一想Pairwise relation 怎麼重排?

想一想Distance bias 能保證任意 vector output 隨旋轉轉動嗎?

參考文獻

  1. Vaswani 等人(2017),Attention Is All You Need
  2. Shaw、Uszkoreit 與 Vaswani(2018),Self-Attention with Relative Position Representations