AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
55/100 第六週:📌 轉換器架構與注意力機制(Transformers & Attention)🔍
55.Transformer 架構總覽 🏗 多頭注意力 + 前饋層 + 殘差連結!
________________________________________
🎯 單元導讀:
Transformer 是現代語言與多模態 AI 的基礎架構。它徹底取代了 RNN 的時間遞迴處理方式,轉而以注意力為核心,實現高效率、可並行、可深度擴展的架構。
本課將帶你快速總覽 Transformer 的原始 Encoder-Decoder 結構設計,並拆解每個模塊的功能與作用,讓你理解這座語言理解的龐然巨塔,是如何層層堆疊起來的。
________________________________________
🧱 一、Transformer 架構總體結構圖
┌────────────┐
│ Encoder │←←← 輸入序列(帶位置編碼)
└────┬───────┘
↓
┌────────────┐
│ Decoder │←←← 輸出序列(訓練階段為shifted)
└────┬───────┘
↓
預測結果(如下一個詞)
Transformer 是一種編碼-解碼架構,由 Encoder 接收加上位置編碼的輸入序列,提取語意與結構資訊,再由 Decoder 根據已生成的輸出序列(訓練時為向右平移的 shifted 輸入)逐步產生預測結果,如下一個詞。這種架構不依賴時間順序,能同時處理整個序列,大幅提升運算效率與上下文理解能力,是現代自然語言處理的核心模型之一。
________________________________________
🔧 二、Encoder 組件結構(每層都一樣)
每一層 Encoder 包含兩大模塊:
1️⃣ Multi-Head Self-Attention(多頭自注意力)
2️⃣ Position-wise Feed-Forward Network(FFN)
並加上:
• LayerNorm(層正規化)
• Residual Connection(殘差連結)
________________________________________
🔄 三、Decoder 結構比 Encoder 多了什麼?
Decoder 多了一個模塊:
3️⃣ Encoder-Decoder Attention
它讓 Decoder 能夠「關注」Encoder 的輸出,實現翻譯、摘要等任務中的跨語境理解。
________________________________________
✨ 四、核心模塊拆解解釋
✅ 1. Multi-Head Attention(多頭注意力)
• 目的: 同時從多個角度捕捉語意關係(如語法、語義、結構)
• 每一頭都是一組獨立的 Q/K/V 投影
• 多個注意力結果拼接起來再線性變換輸出
Multi-Head Attention 是 Transformer 中的核心機制,它透過將注意力機制拆成多個「頭」同時運作,讓模型能從不同子空間中學習多樣化的語意關係。每個注意力頭各自計算一組獨立的 Q、K、V,再將所有頭的輸出拼接後通過線性變換整合,從而提升模型捕捉複雜上下文的能力。這種設計讓模型不僅能關注單一關係,而是同時理解語法、語意、位置等多層次關聯。
________________________________________
✅ 2. Feed-Forward Network(前饋全連接層)
• 非線性轉換 + 特徵提取
• 有助於提升表示力與模型深度
在 Transformer 中,Feed-Forward Network 是應用於每個位置的獨立子網路,通常由兩層全連接(Linear)層構成,中間搭配非線性激活函數(如 ReLU 或 GELU)。它的作用是在每個詞經過注意力處理後,進一步進行語意轉換與特徵抽取,強化模型對語句內容的理解。前饋層不參與序列順序運算,對每個位置獨立計算,但與注意力層交錯堆疊後,能有效建立複雜的語意表示。
________________________________________
✅ 3. 殘差連結(Residual Connection)+ 層正規化(LayerNorm)
• 每個 Attention/FFN 模塊外都會加上:
• 殘差連結(Residual)幫助梯度傳遞與穩定深度訓練
• LayerNorm 確保不同維度輸出穩定、有助訓練收斂
在 Transformer 中,每個子層(如注意力機制或前饋網路)外都會加入殘差連結(Residual Connection),即將輸入直接加到子層輸出上,幫助資訊在深層網路中流動、避免梯度消失。接著再進行層正規化(LayerNorm),將每個詞向量的維度正規化,使模型更穩定、收斂更快。這兩者搭配,能讓深層 Transformer 架構在訓練時保持數值穩定並提升學習效果,是穩定學習的關鍵設計。
________________________________________
🧠 五、Transformer 訓練流程概要
1. 將輸入詞轉為詞嵌入(Embedding)並加上位置編碼(Positional Encoding)
2. 多層 Encoder 處理後產生語意表示
3. Decoder 接收先前輸出(訓練時 Shifted)與 Encoder 輸出,生成每個位置的預測
4. 通過線性層 + Softmax,生成詞機率分布
________________________________________
📊 六、Encoder vs Decoder 對照表
Transformer 架構中的 Encoder 與 Decoder 都由多個關鍵組件組成:Self-Attention 在 Encoder 與 Decoder 中皆使用,用以捕捉上下文資訊,其中 Decoder 會加上遮罩以避免關注未來詞;Encoder-Decoder Attention 僅存在於 Decoder,用來對齊輸入與輸出(如翻譯時對應不同語言);Feed-Forward Layer 在兩者中都執行非線性特徵轉換;而每層中搭配的 殘差連結與 LayerNorm,則用來穩定深度訓練流程、提升收斂速度,確保整體模型有效學習。
________________________________________
📚 七、小結與學習啟示
✅ Transformer 透過 多頭注意力 + 前饋網路 + 殘差結構 組成穩固架構
✅ 其全並行、可擴展、模塊化的設計,成為後續 BERT、GPT、ViT 的骨幹
✅ 學會這個架構,是進入 AI 大模型世界的關鍵門檻!
________________________________________
💬 問題挑戰與思考:
1️⃣ 為什麼每個 SubLayer 都需要殘差與 LayerNorm?
ANS:
在深層 Transformer 架構中,每個子層(如 Self-Attention、Feed-Forward)都會加入殘差連結與 LayerNorm,主要是為了提升訓練穩定性與效率。殘差連結可讓梯度直接傳遞,減少梯度消失問題,讓資訊在深層網路中流動更順暢;LayerNorm 則對每個位置的向量做正規化,使輸出數值穩定,有助於模型快速收斂。兩者結合能大幅改善深層模型的表現與可訓練性,是 Transformer 成功的關鍵設計。
________________________________________
2️⃣ Decoder 為何要遮罩未來資訊?這跟訓練任務有何關聯?
ANS:
Decoder 使用遮罩機制(Masked Self-Attention)的目的是防止模型在生成序列時「偷看未來詞」,確保每個詞的預測僅基於已生成的內容。這與訓練任務的自回歸性質密切相關——模型訓練時是逐步預測下一個詞,模擬實際生成過程。若不遮罩未來資訊,模型就可能過度依賴未來詞,造成訓練與推理時行為不一致,進而降低泛化能力與生成品質。
________________________________________
3️⃣ 若你要設計一個語音到文字的模型,Transformer 架構應如何調整?
ANS:
在語音轉文字(ASR)任務中,可使用類似 Encoder-Decoder 的 Transformer 架構,但需針對輸入做調整。語音信號通常先轉換為頻譜圖(如 Mel-spectrogram)作為輸入,再經卷積或線性層壓縮維度,作為 Encoder 輸入。Decoder 部分仍使用文字 Token 序列進行自回歸生成。由於語音具有連續性與時間結構,也可引入相對位置編碼或改良型架構(如 Conformer、Wav2Vec2.0)來提升聲學特徵建模能力。