簡介:Transformer 是一種神經網路架構,透過自注意力機制來處理序列資料,例如自然語言和圖像。 它能夠同時處理所有輸入資料,實現高效的平行計算,顯著縮短訓練時間,並能夠理解序列元件之間的長距離依賴關係。使用一套不斷發展,稱為注意力(attention)或自我注意力(self-attention)的數學技術,它可偵測一個系列中以微妙方式相互影響和相互依賴的資料元素,甚至是模糊的資料元素。
Transformer的關鍵特點
Transformer 的核心結構
Transformer 架構有兩個主要部分:編碼器(Encoder) 和 解碼器(Decoder)。
不過現代的大型語言模型(GPT 系列)大多只用 Decoder。
(1) 輸入處理
• 一句話會先被切成詞或子詞(tokens)。
• 每個 token 轉換成向量(Embedding)。
• 再加上 位置編碼(Positional Encoding),告訴模型「順序」。
⸻
(2) Self-Attention(自注意力機制)
這是 Transformer 的核心。
對每個詞向量,模型會計算三種表示:
• Query(Q):我要關注什麼?
• Key(K):我能提供什麼資訊?
• Value(V):我的實際內容。
計算方式(簡單理解):
1. 拿某個詞的 Query 去跟其他詞的 Key 做比對 → 得到關聯度。
2. 用這些關聯度去加權平均 Value。
3. 最後得到新的表示,這個表示已經包含了「和其他詞的關係」。
➡️ 好處是:每個詞可以同時「看整句話」,而不是只看前後幾個字。
⸻
(3) Multi-Head Attention(多頭注意力)
• 不只一組 Q、K、V,而是有多組「頭」。
• 每個頭專門學不同的語意關係(例如一個頭專門關注語法,一個頭專門關注主題)。
• 最後把這些頭的結果拼在一起,更全面。
⸻
(4) 前饋神經網路(Feed Forward Network, FFN)
• 每個位置的詞向量會再經過一個小型的神經網路,增加表達能力。
⸻
(5) 殘差連接 & Layer Normalization
• 殘差(Residual):避免訊息在深層傳遞中消失。
• 正規化(LayerNorm):讓訓練更穩定。
⸻
(6) Encoder / Decoder 架構
• Encoder:多層疊加,讓輸入句子被轉換成高層語意表示。
• Decoder:一樣多層,但有額外的 Masked Attention,避免模型「偷看未來的字」。