iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
AI & Data

從入門村到最終 BOSS:30 天打通深度學習主線系列 第 8

Day 8:神經網路訓練的穩定術 —— 批次與正規化

  • 分享至 

  • xImage
  •  

我原本昨天寫好發完的...結果今天被通知段賽...不知道甚麼問題
昨天我們把神經元堆疊成多層,終於組出了一個能處理更複雜問題的「冒險隊伍」。
但是光有隊伍還不夠,訓練過程中會遇到數值不穩、學習卡住的狀況。
今天我們就要學習兩個超實用的技巧 —— 小批次訓練 和 正規化,幫模型維持戰鬥狀態!

一、為什麼需要這些技巧?

在訓練神經網路時,有兩個經典問題:

梯度爆炸:數值在層與層之間越傳越大,最後失控。

梯度消失:數值一層層傳遞後幾乎變成 0,模型完全學不起來。

這就像冒險者在打怪時,如果沒有補血補藍,不是血量爆掉就是空藍打不出招。

二、小批次訓練(Mini-Batch Training)

在更新權重時,有三種方式:

整批訓練 (Batch Gradient Descent)

一次用所有資料更新權重

穩定,但太慢、太吃記憶體

單筆訓練 (Stochastic Gradient Descent, SGD)

每次只用一筆資料更新

噪音大,結果很抖動

小批次訓練 (Mini-Batch SGD)

每次用一小部分資料(例如 32、64 筆)

結合穩定與效率,是現在的主流做法

三、正規化(Normalization)

就算用了小批次,數值還是可能因為層數過深而不穩定。這時候就需要 正規化 來幫忙。

  1. Batch Normalization (BatchNorm)

對每個 小批次的輸入 做標準化(均值為 0,方差為 1)

讓不同批次的數據分佈更穩定

好處:加速收斂、減少過擬合

  1. Layer Normalization (LayerNorm)

對每一層的神經元 做標準化

特別適合序列模型(RNN、Transformer)


上一篇
Day 7 從單顆到多層 —— 神經網路的雛形 (二)
下一篇
Day 9 神經元 (Neuron) 重點整理
系列文
從入門村到最終 BOSS:30 天打通深度學習主線10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言