大模型為什麼難訓練?Normalization、Residual 與 Dropout

拆解深層網路訓練的三大挑戰——訓練不穩定、梯度消失、過擬合,以及對應的三項關鍵技術。

大模型為什麼難訓練?Normalization、Residual 與 Dropout

前六篇,我們從文字向量化、詞嵌入與位置編碼、注意力機制、多頭 Transformer,一路談到自回歸生成與損失函數。
你現在應該已經理解大模型「怎麼運作」了。

但還有一個更根本的問題沒回答:

為什麼訓練一個大模型這麼難?

為什麼深層網路會梯度消失?為什麼數值會爆炸?為什麼模型會過擬合?

這一篇,我們要拆解訓練大模型時最核心的三大挑戰,以及對應的三項關鍵技術:正規化(Normalization)殘差連接(Residual Connection)Dropout

Normalization → Residual Connection → Dropout

一、挑戰一:訓練過程中的不穩定性

深度模型的訓練,就像在崎嶇的山路上駕駛。
每一次參數更新,都可能讓損失函數劇烈震盪,導致模型難以收斂。

為什麼會這樣?

因為在深層網路中,每一層的輸出都會成為下一層的輸入。
如果某一層的數值分布偏移了,這個偏移會逐層放大,導致後續層的輸入分布不斷變化。
這被稱為內部協變偏移(Internal Covariate Shift)

結果就是:

  • 梯度忽大忽小,參數更新劇烈震盪
  • 損失函數難以穩定下降
  • 訓練速度變慢,甚至無法收斂

這就像你開車時,方向盤每隔幾秒就被隨機轉動一下,你很難保持直線前進。

解法:正規化(Normalization)

為了解決這個問題,我們採用正規化(Normalization)技術,例如批次正規化(Batch Normalization)層正規化(Layer Normalization)

其核心概念是:將每一層網路的輸入數據標準化,使其分布維持在穩定的範圍內。

具體做法是對每個特徵維度計算均值與變異數,然後將數據轉換為:

[ \hat{x} = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} ]

其中 (\mu) 是均值,(\sigma^2) 是變異數,(\epsilon) 是一個極小的常數,用來避免除以零。

接著,通常還會加入兩個可訓練參數 (\gamma) 和 (\beta),讓模型能還原出最適合的表達:

[ y = \gamma \hat{x} + \beta ]

這樣做的好處是:

  • 穩定數值分布:每一層的輸入不會因為前一層的參數更新而劇烈變化。
  • 平滑梯度:梯度變化變得可控,訓練更穩定。
  • 加速收斂:可以使用更大的學習率,訓練速度更快。

在 Transformer 中,最常用的是層正規化(Layer Normalization),因為它不依賴批次大小,更適合序列模型。
層正規化會對每個樣本的所有特徵進行標準化,而不是像批次正規化那樣對整個批次進行標準化。

這就像為山路鋪設了平坦的路面,確保梯度的變化是可控且平滑的,大幅提升了訓練的穩定性與速度。

二、挑戰二:深層網路中的梯度消失

當網路層數越來越深(例如超過數十層甚至上百層),反向傳播時梯度會逐層衰減,最終導致淺層網路的權重幾乎無法更新。
這被稱為**梯度消失(Vanishing Gradient)**問題。

為什麼會梯度消失?

反向傳播的核心是鏈式法則:

[ \frac{\partial L}{\partial W_1} = \frac{\partial L}{\partial W_n} \cdot \frac{\partial W_n}{\partial W_{n-1}} \cdots \frac{\partial W_2}{\partial W_1} ]

每一層的梯度都會乘上一個雅可比矩陣。
如果這些矩陣的奇異值大多小於 1,那麼經過多層相乘後,梯度會以指數速度衰減,最終趨近於零。

結果就是:

  • 淺層網路的參數幾乎不更新
  • 模型無法學到有效的底層特徵
  • 訓練停滯,效能無法提升

這就像一個傳話遊戲,訊息經過太多人傳遞後,早已面目全非。

解法:殘差連接(Residual Connection)

為此,研究人員提出了殘差連接(Residual Connection),亦稱為捷徑連接(Skip Connection)

它的設計非常簡單:在標準的層與層傳遞之外,建立一條數據傳遞的捷徑,讓資訊可以直接繞過某些層級向前傳播。

假設原本的層要學習的映射是 (H(x)),殘差連接讓這一層改為學習:

[ F(x) = H(x) - x ]

而最終輸出為:

[ \text{Output} = F(x) + x ]

這樣一來,梯度在反向傳播時,可以透過捷徑直接回流到淺層:

[ \frac{\partial \text{Output}}{\partial x} = \frac{\partial F(x)}{\partial x} + 1 ]

那個「+1」保證了梯度至少能以恆等路徑傳回,不會完全衰減為零。

Residual Connection Skip Path

殘差連接的意義

  • 讓深層資訊能有效保留:淺層的特徵可以直達深層,不會在傳遞中丟失。
  • 讓梯度順利回流:即使某些層的梯度很小,捷徑仍能提供穩定的梯度通道。
  • 使訓練極深層網路成為可能:ResNet 能訓練上百層,Transformer 能堆疊數十層,都得益於此。

在 Transformer 中,每個注意力子層和 FFN 子層外面都包著殘差連接:

[ \text{Output} = \text{LayerNorm}(x + \text{Sublayer}(x)) ]

這已經成為現代深度學習架構的標準配置。

三、挑戰三:過擬合與泛化能力不足

模型在訓練資料上表現優異,卻無法有效處理未見過的新數據,這種現象稱為過擬合(Overfitting)

這好比學生死背題庫答案,卻無法舉一反三。
考試題目一變,就完全不會了。

過擬合通常發生在:

  • 模型參數太多,遠超過訓練資料量
  • 訓練時間太長
  • 訓練資料太少或多樣性不足

結果就是模型記住了訓練資料的雜訊與細節,卻沒有學到真正通用的規律。

解法:丟棄法(Dropout)

為了提升模型的泛化能力,我們使用丟棄法(Dropout)

在訓練過程中,Dropout 會隨機停用(歸零)一部分神經元,通常設定比例為 20% 到 50%。
這意味著每次訓練迭代時,網路結構都不一樣,強迫模型不依賴任何特定的神經元。

具體運作方式:

  1. 在每次前向傳播時,隨機選擇一部分神經元,將其輸出設為 0。
  2. 被丟棄的神經元在這次迭代中不參與前向傳播與反向傳播。
  3. 下一次迭代時,重新隨機選擇要丟棄的神經元。

這樣做的好處是:

  • 打破神經元之間的共適應:模型不能依賴某個特定神經元,必須學習更分散、更強健的特徵。
  • 相當於集成學習:每次迭代都訓練一個不同的子網路,最終效果類似於多個模型的集成。
  • 提升泛化能力:模型在未見過的數據上表現更好。

這就像團隊合作時輪流讓成員缺席,反而能讓整個團隊的應變能力更強。
因為每個人不能只依賴某個特定同事,必須學會獨立處理更多事情。

要注意的是:Dropout 只在訓練階段使用,推理階段會關閉。
推理時,所有神經元都參與計算,但權重會根據訓練時的丟棄比例進行縮放,以保持輸出的期望值一致。

Dropout → Randomly Deactivated Neurons

四、三項技術的協同作用

這三項技術並不是各自獨立,而是協同合作,共同確保大模型能穩定訓練:

挑戰技術核心作用
訓練不穩定正規化(Normalization)穩定數值分布,平滑梯度
梯度消失殘差連接(Residual Connection)提供梯度捷徑,保留深層資訊
過擬合丟棄法(Dropout)隨機停用神經元,提升泛化能力

在 Transformer 的每一層中,這三項技術同時存在:

[ \text{Output} = \text{LayerNorm}(x + \text{Dropout}(\text{Sublayer}(x))) ]

  • 殘差連接:讓梯度能順暢回流。
  • 層正規化:穩定每一層的數值分布。
  • Dropout:防止模型過度依賴特定神經元。

三者共同構成了現代大模型訓練的穩定基石。

五、一個具體的例子

假設我們要訓練一個 24 層的 Transformer 來預測下一個詞。

如果沒有這些技術:

  • 第 1 層的梯度可能因為連乘 24 個小於 1 的矩陣而衰減到幾乎為零。
  • 每一層的輸入分布不斷變化,導致訓練震盪。
  • 模型在訓練集上達到 99% 準確率,但在驗證集上只有 60%。

加入三項技術後:

  • 殘差連接:梯度可以透過捷徑回流到第 1 層,淺層參數也能有效更新。
  • 層正規化:每一層的輸入分布穩定,訓練平順。
  • Dropout:模型不再死記訓練資料,驗證集準確率提升到 85%。

這就是為什麼現代大模型動輒數十層甚至上百層,卻依然能穩定訓練的原因。

六、總結:微小工程細節,決定模型成敗

回顧整個系列,我們從文字向量化出發,依序走過了:

  1. 從文字到向量:詞袋法、TF-IDF、Word2Vec、Token 與嵌入。
  2. 詞嵌入與位置編碼:語意表徵與順序資訊的結合。
  3. 注意力機制:QKV、Mask 與縮放點積。
  4. 多頭注意力與 FFN:Transformer 的核心組件。
  5. 自回歸生成與推理採樣:Temperature、Top-K、Top-P。
  6. 損失函數與訓練迴圈:交叉熵、反向傳播、梯度下降。
  7. 訓練穩定性技術:正規化、殘差連接、Dropout。

這七篇文章,構成了從「文字」到「大模型」的完整脈絡。

而這一篇談的三項技術——正規化、殘差連接與丟棄法——雖然看似是微小的工程細節,卻扮演著穩定訓練、保留梯度、防止過擬合的關鍵角色。

它們讓數十億甚至數千億參數的模型,能夠在有限的資料與算力下,穩定地學習語言的規律,最終展現出令人驚豔的理解與生成能力。

理解這些設計,不僅能幫助你掌握大模型的運作原理,更能從中借鑑解決深層網路訓練問題的工程思維,應用於更廣泛的機器學習與系統設計之中。


系列回顧

篇號主題核心概念
1從文字到向量Tokenization、Word2Vec、Embedding
2詞嵌入與位置編碼Token Embedding、Positional Encoding、RoPE
3注意力機制入門QKV、Mask、Scaled Dot-Product
4多頭注意力與 FFNMulti-Head、Feed-Forward、Stacked Layers
5自回歸生成與推理採樣Next Token Prediction、Temperature、Top-K、Top-P
6損失函數與訓練迴圈Cross-Entropy、Backpropagation、Gradient Descent
7訓練穩定性技術Normalization、Residual Connection、Dropout

感謝你讀完這個系列。

如果你對其中某個主題想更深入探索,例如 RoPE 的數學細節、Flash Attention 的加速原理,或是 LLM 的微調與對齊技術,都歡迎繼續延伸閱讀。

大模型的世界還在快速演進,而這些基礎原理,會是你理解一切新技術的起點。