Zubnet AI學習Wiki › 前饋網路
基礎

前饋網路

FFN、MLP 區塊
Transformer 每一層中的組件,透過兩個線性轉換和之間的啟動函數獨立處理每個 token。注意力在 token 之間混合資訊(哪些 token 與哪些相關),而前饋網路獨立處理每個 token 的表示,應用編碼知識和執行計算的非線性轉換。

為什麼重要

前饋網路是 Transformer 大部分知識儲存的地方。注意力獲得了所有的光環,但 FFN 層包含了模型的大部分參數(通常佔總參數的 2/3),是事實關聯、語言模式和學習計算主要存在的地方。理解這一點有助於解釋知識編輯和模型剪枝等現象。

深度解析

標準 FFN:FFN(x) = W2 · activation(W1 · x + b1) + b2,其中 W1 從模型維度投影到更大的中間維度(通常為 4 倍),啟動函數引入非線性,W2 投影回模型維度。每個位置(token)獨立通過——FFN 看不到其他 token,只有注意力層能做到。

SwiGLU 和門控變體

現代 LLM(LLaMA、Mistral 等)使用 SwiGLU 而非標準 FFN:SwiGLU(x) = (W1 · x · SiLU) ⊗ (W3 · x)。這增加了第三個權重矩陣(W3)和一個門控機制,讓網路控制什麼資訊通過。儘管有額外的參數,但在同等計算量下表現更好,因此中間維度被向下調整以作為補償。這是一個稍微複雜的組件改善整個系統的案例。

知識儲存

研究表明,FFN 層的功能類似鍵值記憶體:第一個線性層(W1)偵測輸入中的模式(鍵),第二個線性層(W2)將這些模式映射到輸出更新(值)。「艾菲爾鐵塔在」會啟動 W1 中的特定神經元,透過 W2 提升「巴黎」這個 token 的機率。這種鍵值解釋說明了為什麼 FFN 層儲存事實知識,以及為什麼知識編輯技術可以透過更新特定的 FFN 權重來修改特定的事實。

相關概念

← 所有術語
← 分散式訓練 剪枝 →