🔌 Dropout · iPAS 深度學習考點

Dropout:訓練時隨機「請假」,逼每個神經元都學會做事

神經網路太容易「靠幾個明星神經元包辦、其他躺平」——結果就是過擬合。Dropout 的招數簡單又狠:訓練時每輪隨機關掉一部分神經元,逼整個網路學會分工、不依賴任何單一節點。這是深度學習防過擬合的首選

隨機關閉神經元正則化防過擬合近似集成訓練 vs 推論

👥 一、先用白話講:像團隊做報告

沒有 Dropout每次都同一個學霸寫全部 → 其他人什麼都不會(過擬合、太依賴少數)。
有 Dropout(訓練時)每次隨機讓幾個人「請假」→ 逼每個人都學會做事(泛化強)。
推論時全員到齊,一起貢獻(訓練時已做過縮放補償)。

📌 考試重點

Dropout 只在「訓練時」隨機關閉神經元;「推論時」全部開啟、不再丟棄。這個「訓練關、推論開」的差別是最常考的點。

🎮 二、動手玩:看神經元被隨機關掉

拖動 Dropout 比率,切「訓練模式」看隱藏層神經元被隨機打上 (關閉)、存活的顯示 ×縮放補償;按「重新抽籤」每次關的都不同;切「推論模式」看全員到齊。

30%
🎲 訓練模式 — 隨機關閉 30% 神經元
總神經元
-
啟用中
-
已關閉
-
Dropout 率
-

🗺️ 怎麼看

比率調越高,被打 ✕ 的神經元越多。每按一次重新抽籤,關掉的是不同的組合——等於每輪都在訓練一個「略不一樣的子網路」。存活神經元上的 ×1.4 之類數字,是把輸出除以 (1−p) 的縮放補償(見下方數學)。切到推論模式,✕ 全消失、全員到齊。

🧠 三、為什麼能防過擬合?

打散「共適應」神經元不能再互相依賴、綁定合作(co-adaptation),被迫各自學到有用、穩健的特徵。
逼出冗餘表示因為隨時可能被關,網路得學出多套備援,泛化更好。
近似「集成」每輪不同子網路,等於同時訓練指數級多個網路,最後平均——集成本來就能降過擬合。

⚖️ 四、訓練 vs 推論(必考)

訓練時 Training推論時 Inference
丟棄?✅ 每個神經元有 p 機率被關(輸出設 0)全部啟用、不丟棄
縮放存活的輸出 ÷ (1−p) 補償(inverted dropout)不必再縮放
目的製造隨機子網路、正則化用完整網路做穩定預測

⚠️ 實作陷阱

記得推論前把模型切到 eval / inference 模式(如 PyTorch 的 model.eval()),否則會誤在推論時仍隨機丟棄,結果不穩。

🎚️ 五、Dropout 率怎麼設?

常見 0.2 ~ 0.5

太高(如 0.8)→ 關太多、學不動、欠擬合太低→ 正則化不足、沒效果。實務上:全連接層常用較高(0.5 附近)、卷積層用得較少或很小、輸入層設很小或不用。要依資料與過擬合程度調。

🧰 六、Dropout 之外的正則化手段

權重衰減 L1/L2懲罰過大權重。見 L2L1
資料增強翻轉/裁切/加噪,讓資料更多樣。
提早停止 Early Stopping驗證誤差回升就停。
BatchNorm順帶有輕微正則化效果。見 Batch Norm

🧠 一句話

過擬合通常多管齊下:Dropout + 權重衰減 + 資料增強 + early stopping。整體觀念見 過擬合 vs 欠擬合

🧪 七、觀念自我檢測

先想再點開。

Q1. Dropout 在做什麼?

訓練時隨機關閉一部分神經元(機率 p),逼網路不過度依賴特定神經元,是一種正則化。

Q2. 為什麼能減少過擬合?

打散共適應、逼出冗餘表示,等於訓練多個子網路的集成

Q3. 訓練和推論時處理有何不同?

訓練隨機關 + 縮放 ÷(1−p);推論全部啟用、不丟棄

Q4. Dropout 率設太高會怎樣?

關太多、學不動 → 欠擬合;常用 0.2~0.5。

Q5. 還有哪些防過擬合的手段?

L1/L2 權重衰減、資料增強、early stopping、BatchNorm、集成。

✅ 八、30 秒重點整理

Dropout訓練時隨機關神經元。
目的正則化、防過擬合。
原理打散共適應、近似集成。
訓練關、推論開訓練縮放 ÷(1−p)。
率 0.2~0.5太高會欠擬合。
常搭配權重衰減、資料增強、early stop。

📝 iPAS 考點提醒

Dropout 是對抗過擬合的正則化技巧,iPAS 深度學習考點(中級科目三)。重點:訓練時隨機丟棄一部分神經元(設為 0),逼網路不過度依賴特定神經元、學到更穩健的表示。易混點:只在訓練時丟棄、推論時全部使用並做縮放補償;與 BatchNorm 併用要注意順序與比例。情境:全連接層常用較高丟棄率,卷積層用得較少。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

Dropout 是什麼?

訓練時隨機關閉一部分神經元(以機率 p),強迫網路不過度依賴特定神經元,是一種正則化、用來抑制過擬合。

為什麼能減少過擬合?

等於每次訓練一個略不同的子網路、最後近似多個網路的集成,降低神經元間的共適應,提升泛化。

訓練和推論時怎麼處理?

訓練時隨機丟棄並縮放;推論時不丟棄、用全部神經元(以對應比例縮放),確保期望輸出一致,要切到 eval 模式。

dropout 率怎麼設?

常見 0.2 到 0.5;太高會欠擬合、太低正則化不足,依層與資料調整,輸入層通常設較小。

還有哪些正則化手段?

L1/L2 權重衰減、資料增強、提早停止、BatchNorm(輕微)、集成;常多管齊下。

🧭 相關主題

← 返回 AI 學習與考證地圖