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

G4.3 句子的順序有意義,還要忽略排列嗎?

本篇重用1 篇

換了先後,意思也換了

「我喜歡你」與「你喜歡我」使用同樣的詞,但說的是不同的事。如果把詞只當成沒有順序的集合,再用 invariant pooling 讀出一個答案,這兩句就無法區分。

這不是 G3 的排列要求出錯,而是任務不同了。地標表的第幾列沒有意義;句子裡誰先出現,卻是內容的一部分。

所以問題不是要不要保留 symmetry,而是這次的變換究竟有沒有改變資料本身的意思。

把先後寫進輸入

前面的 HH 只有各 token 的 content features。要讓模型知道語意位置 ii,可以另外加入同維度的向量 eie_i:

h~i=hi+ei,H~=H+E.\widetilde h_i=h_i+e_i,\qquad \widetilde H=H+E.

這就是 positional encoding。它可以是可學的 embedding,也可以是固定函數;Vaswani 等人 [1] 使用的其中一種寫法是

ei,2r=sin⁡ ⁣(i100002r/d),ei,2r+1=cos⁡ ⁣(i100002r/d).e_{i,2r}=\sin\!\left(\frac{i}{10000^{2r/d}}\right), \qquad e_{i,2r+1}=\cos\!\left(\frac{i}{10000^{2r/d}}\right).

不同 channels 使用不同頻率,讓同一個 token 在不同位置收到不同訊號。我們不必先認為 sinusoidal 是唯一選擇;這裡需要的是把位置提供給模型。

兩種 permutation,不是同一個問題

若真的把詞換到新的語意位置,content rows 變成 PHPH,位置表卻仍表示第一個、第二個、第三個位置。因此新輸入是

PH+E,PH+E,

而不是原輸入的共同重排

P(H+E)=PH+PE.P(H+E)=PH+PE.

兩者通常不同,所以完整的 F(H+E)F(H+E) 不再對「只搬 content、位置固定」保證 permutation equivariance。這讓模型有機會區分換序後的句子,不保證訓練後一定理解它們。

另一種情況只是把資料存放的 rows 換順序:每個 token 連同自己的語意位置一起搬動。這時輸入是 P(H+E)P(H+E),block 的排列證明仍成立。像把有頁碼的書頁換個存放順序,頁碼沒有改;與重新替每頁編一個頁碼不同。

知道位置,還不等於限制它看哪裡

若任務是預測下一個 token,訓練時不能偷看未來答案。單靠 eie_i 不會禁止讀取後面的 keys,所以還要限制參考範圍。

令 MM 是加在 logits 上的 causal mask:

Mij={0,j≤i,−∞,j>i.A=softmax⁡row(S+M).M_{ij}= \begin{cases} 0,&j\leq i,\\ -\infty,&j>i. \end{cases} \qquad A=\operatorname{softmax}_{\mathrm{row}}(S+M).

e−∞=0e^{-\infty}=0,所以未來位置的權重為零。把輸入與預測 labels 錯開一個位置後,第 ii 列便可用已知前文預測下一個 token [1]。

Positional encoding 提供位置;causal mask 決定哪些資訊可見。 它們不是同一個功能,也不是所有 Transformer 任務都必須使用 causal mask。

補充固定 causal mask 不保留任意 content shuffle 的保證

三角形 mask 依真實的先後建立。若只把詞換序,卻仍沿用同一個三角形表,「誰能看誰」也改了。若只是更換儲存編號,則應把 mask 一起搬成 PMP⊤PMP^\top;新的矩陣未必在儲存 index 上看起來仍是三角形,但表示的是同一份先後關係。

只搬 content 得到 PH+E;內容與位置一起搬才是 P(H+E)。
只搬 content 得到 PH+E;內容與位置一起搬才是 P(H+E)。

課堂提問

沒有 positional encoding,就能說所有 Transformer 都完全不知道順序嗎?

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

不能。前面證明的是沒有固定順序附加資訊的 self-attention block。Causal mask、其他關係資訊或依序號取值的 readout 也可能帶入順序。若要說整個模型忽略順序,必須把這些部分一起檢查。

動手看一次

切到「固定位置」後只重排 content,defect 通常不再是零。再選「資訊一起搬」,位置與 token 共同重排,檢查對齊後的輸出。Causal 模式則另外檢查可見關係。

快速回顧一下

想一想語意換序且 E 固定,輸入是什麼?

想一想Causal mask 的作用是什麼?

想一想位置與資料一起搬動代表什麼?

參考文獻

  1. Vaswani 等人(2017),Attention Is All You Need