Dropout 和隨機正規化
Dropout 是一種正規化技巧,它在每個訓練步驟中隨機關閉一小部分神經元,迫使網路建立冗餘、魯棒的表示。
概述
It became one of the most influential techniques for fighting overfitting in deep learning.
深入探討
Dropout 由 Hinton 團隊於 2012 年左右提出,解決了大型網路的關鍵弱點:神經元可以共同適應,學習以僅適用於訓練資料的方式修復彼此的錯誤。在訓練期間的每次前向傳遞中,dropout 都會以某個機率 p(在密集層中通常為 0.5)隨機將每個神經元的輸出設為零。由於任何神經元都可能消失,因此網路不能依賴脆弱的夥伴關係,並且必須在許多單元之間傳播有用的信息。這就像訓練一個共享權重的稀疏網路的巨大集合。在測試時,dropout 被關閉,並使用完整的網絡,並縮放啟動值,以便預期的輸出與訓練相符。結果通常是更好的泛化,但代價是訓練時間稍長。
技術洞察
在訓練期間,每個單元透過隨機二進位遮罩保持機率(1 減 p),因此每批都會對不同的子網路進行取樣。現代框架使用反向 dropout:在訓練時倖存的激活除以 (1 - p),因此推理時不需要縮放。這種隨機性會注入噪音,阻礙共同適應,並在指數數量的共享權重子網路上近似平均,這是一種廉價的整合形式。
戰略影響
更明確的決策
它可以幫助您將清晰的技術聲明與行銷語言分開。
成本與預算
在花費金錢或時間之前,您可以提出更好的實施問題。
團隊與工作流程
具有共同理解的團隊可以做出更好的產品、政策和學習決策。
Dropout 與隨機正規化的未來
在卷積視覺網路中,批量歸一化在很大程度上取代了標準 dropout,但變體在其他地方蓬勃發展:變壓器將 dropout 應用於注意力層和前饋層,DropPath(隨機深度)丟棄整個殘差區塊。蒙特卡羅 dropout 使 dropout 在推理時保持活躍,用於估計模型不確定性。期望隨機正則化仍然是一個靈活的工具包,根據架構進行調整,而不是單一的固定配方。
現實世界的實施
在 PyTorch 或 Keras 中的圖像或文字分類器的密集層之間添加 p 約為 0.5 的 Dropout 層
Transformer 模型在預訓練期間將 dropout 應用於注意力權重和前饋激活
蒙特卡羅 dropout,其中 dropout 在推理時保持不變,以產生醫療或安全關鍵預測的不確定性估計
隨機深度 (DropPath) 隨機跳過殘差區塊以規範 ResNet 和視覺 Transformer 等非常深的網絡
風險與防護欄
不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。
基準測試可能看起來很強大,但實際效能卻參差不齊。
忽視數據品質和評估計劃通常會產生脆弱的結果。
實施路線圖
從您需要的結果的簡單語言定義開始。
在測試之前選擇一種成功指標和一種失敗條件。
使用代表性資料運行小型試點,而不是完善的演示集。
記錄 Dropout 和隨機正規化在哪些方面有幫助,以及哪些更簡單的方法更好。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Dropout and Stochastic Regularization quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is Dropout and Stochastic Regularization?
Dropout 是一種正規化技巧,它在每個訓練步驟中隨機關閉一小部分神經元,迫使網路建立冗餘、魯棒的表示。它成為深度學習中對抗過度擬合最有影響力的技術之一。
dropout在訓練過程中做了什麼?
Dropout 在訓練期間以機率 p 隨機將每個神經元歸零,因此每一步都使用不同的細化子網路。
為什麼 dropout 可以提高泛化能力?
透過隨機刪除單元,dropout 可以阻止神經元形成僅適用於訓練資料的脆弱夥伴關係,從而提高穩健性。
測試(推理)時丟失會發生什麼?
在推理時,整個網路在禁用 dropout 的情況下運行,並且啟動被縮放,以便預期輸出與訓練分佈相符。
一層中 p = 0.5 的 dropout 率在訓練期間大致代表什麼?
當 p = 0.5 時,每個神經元有 50% 的機會歸零,因此平均每次前向傳遞大約有一半被丟棄。
通常將 dropout 描述為近似值是什麼?
每一步對不同的子網路進行採樣近似於對指數數量的共享權重網路進行平均,這是一種廉價的整合形式。