🛡️ Dropout 示範應用

觀察神經網絡喺有冇 Dropout 嘅情況下嘅表現差異:

0%
訓練集準確率
0%
測試集準確率
0
訓練輪次
Dropout 保留率 0.5
訓練速度 正常

觀察重點:

  • 冇 Dropout 嘅網絡喺訓練集上更快達到高準確率
  • 有 Dropout 嘅網絡喺測試集上表現更好
  • Dropout 會導致訓練過程中準確率波動
  • 「保留率」越低,正則化效果越強

Dropout 係乜嘢?

Dropout 係一種深度學習中嘅正則化技術,透過喺訓練過程中隨機關閉(「熄燈」)部分神經元,防止神經網絡過度擬合訓練數據。

運作原理

每次前向傳播時,Dropout 會以一定機率 (1-keep_prob) 暫時關閉神經元:

  • 保留率 (Keep Prob) = 0.5 表示平均有一半神經元會被關閉
  • 每個批次 (batch) 都會重新隨機抽選要關閉嘅神經元
  • 被關閉嘅神經元輸出變為0,且唔會更新相關權重
  • 測試/推斷階段會關閉 Dropout,所有神經元都參與計算

點解 Dropout 有效?

  1. 集成學習效果:隨機關閉神經元等同於訓練多個唔同嘅子網絡,最終效果似多個模型嘅平均
  2. 減少神經元共適應:神經元唔能依賴特定搭檔,迫使佢哋更加獨立學習
  3. 引入噪聲:隨機關閉神經元增加咗訓練嘅噪聲,減少對訓練數據嘅死記

Dropout 適用場景

  • 數據量相對模型複雜度較小時
  • 觀察到明顯嘅過擬合現象
  • 特別適合大型深度神經網絡

點使用呢個示範

  1. 調節 Dropout 保留率,觀察對網絡學習嘅影響
  2. 比較開啟/關閉 Dropout 時,訓練集同測試集準確率嘅差異
  3. 觀察網絡圖中被「熄燈」嘅神經元(灰色)
  4. 注意訓練進度圖中嘅波動情況