123. Transformer 如何理解輸入序列的順序?
(A) 透過 Multi-Head Attention
(B) 透過增加額外的訓練資料
(C) 透過 Position Encoding
(D) 不需要理解序列順序
答案:登入後查看
統計: A(200), B(36), C(284), D(5), E(0) #3415842
統計: A(200), B(36), C(284), D(5), E(0) #3415842
詳解 (共 2 筆)
#6603850
正確答案是 (C) 透過 Position Encoding。
Transformer 本身不像 RNN 那樣逐步處理資料,所以它沒有「天然」的順序感。為了讓模型知道輸入序列中每個位置的先後關係,會在每個輸入向量中加入 位置編碼(Positional Encoding),這樣 Attention 機制就能同時考慮詞之間的內容關係與相對位置資訊。
其他選項為什麼不正確:
(A) 透過 Multi-Head Attention
-
Multi-Head Attention 負責在不同的「注意力頭」上,從不同角度去學習詞與詞之間的關聯。
-
它本身並沒有位置資訊的概念,如果不加 Position Encoding,模型只會看到一堆沒有順序的向量,即使注意力能學到關係,也不知道哪個是先發生、哪個是後發生的。
-
所以它不能單獨用來理解輸入的順序。
(B) 透過增加額外的訓練資料
-
增加訓練資料可以提升模型的泛化能力,但不能解決「沒有位置資訊」的問題。
-
如果架構本身沒有設計順序資訊(像 Transformer 原始架構),再多的資料也無法讓模型自動推斷出位置順序,因為輸入向量是同時並行處理的,沒有時間步的概念。
(D) 不需要理解序列順序
-
對於 NLP、語音辨識等序列任務,順序資訊是關鍵。例如「狗咬人」和「人咬狗」意思完全不同。
-
如果模型不理解順序,就會失去語意判斷的基礎,因此這個說法是錯的。
2
0