Dropout A Simple Way to Prevent Overfitting/zh

    From Marovi AI
    Revision as of 02:53, 27 April 2026 by DeployBot (talk | contribs) (Batch translate Dropout A Simple Way to Prevent Overfitting unit 10 → zh)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:
    Research Paper
    Authors Nitish Srivastava; Geoffrey Hinton; Alex Krizhevsky; Ilya Sutskever; Ruslan Salakhutdinov
    Year 2014
    Venue JMLR
    Topic area Deep Learning
    Difficulty Research
    arXiv 1207.0580
    PDF Download PDF

    Dropout: A Simple Way to Prevent Neural Networks from Overfitting 是 Srivastava 等人於 2014 年發表在《機器學習研究雜誌》(Journal of Machine Learning Research)上的論文。該論文形式化並廣泛評估了 dropout,這是一種在訓練期間隨機選擇並臨時移除神經元的正則化技術。Dropout 防止神經元之間形成複雜的共適應,相當於在單一架構內訓練一個指數級大的子網絡集成,並成為深度學習中應用最廣泛的正則化方法之一。

    概述

    具有大量參數的深度神經網絡是強大的函數近似器,但容易出現過擬合,尤其是在訓練數據有限時。傳統的正則化方法(如 L2 權重衰減和早停)能在一定程度上緩解過擬合,但對於大型網絡往往不夠。模型組合——即訓練多個模型並對它們的預測取平均——被認為可以減少過擬合,但計算代價高昂。

    Dropout 提供了一種高效的模型組合近似方法。在每個訓練步驟中,每個神經元(包括輸入單元)以概率 $ p $ 被保留,以概率 $ 1 - p $ 被丟棄(置零)。這意味著在每個訓練樣本上都會採樣出一個不同的「變薄」子網絡。在測試時使用所有神經元,但其輸出會被 $ p $ 縮放,以近似集成的期望輸出。

    主要貢獻

    • Dropout 正則化:在每次前向和反向傳播過程中隨機省略神經元的訓練流程,防止神經元形成過度專門化的共適應。
    • 集成解釋:從理論上將 dropout 視為對 $ 2^n $ 個可能的變薄網絡(其中 $ n $ 為可丟棄單元的數量)進行近似模型平均,且這些網絡共享權重。
    • 全面的實證評估:在視覺、語音識別、文本分類和計算生物學等多個領域中均一致地觀察到性能提升。
    • 實用指南:關於 dropout 比率(隱藏層 $ p = 0.5 $,輸入層 $ p = 0.8 $)以及與其他超參數交互方式的建議。

    方法

    在訓練期間,對於每個訓練樣本和每一層,每個神經元的輸出都會以概率 $ 1 - p $ 獨立地被置零。如果 $ h_i $ 是神經元 $ i $ 的輸出,則 dropout 操作如下:

    $ r_i \sim \text{Bernoulli}(p) $

    $ \tilde{h}_i = r_i \cdot h_i $

    其中 $ r_i $ 是隨機掩碼變量。然後將丟棄後的網絡用於該訓練樣本的前向傳播和反向傳播。每個訓練樣本和每個梯度步都會採樣不同的隨機掩碼。

    在測試時不丟棄任何單元。相反,每個神經元的輸出會乘以 $ p $,以匹配訓練期間的期望值:

    $ h_i^{\text{test}} = p \cdot h_i $

    這種 權重縮放推斷規則 確保每個神經元在測試時的期望輸出與訓練期間的期望輸出相等。一種等價的替代方法 反向 dropout(inverted dropout)在訓練期間將激活值縮放 $ 1/p $,從而在測試時無需進行任何修改。這種做法在現代實現中更為常見。

    作者證明,dropout 可以被解釋為訓練 $ 2^n $ 個共享權重的子網絡的集成。在測試時,按比例縮放的完整網絡提供了對集成預測的幾何均值近似;作者證明,對於具有 softmax 輸出的單層網絡,這一近似是精確的。

    該論文還探討了 dropout 與其他正則化方法的組合,發現將 dropout 與最大範數約束(將權重向量裁剪為具有最大 L2 範數)以及較大且帶衰減的學習率結合使用,能產生最佳效果。

    結果

    Dropout 在多個基準上進行了評估,並一致地降低了測試誤差:

    • MNIST(手寫數字):在標準前饋網絡上使用 dropout 後,錯誤率從 1.60% 降至 1.25%。
    • CIFAR-10/CIFAR-100:在卷積網絡上顯著降低錯誤率;在 CIFAR-100 上的相對改進約為 15-25%。
    • SVHN(街景門牌號):錯誤率從 2.80% 降至 2.68%。
    • ImageNet:dropout 使一個大型卷積網絡的 top-1 錯誤率提升約 2 個百分點。
    • TIMIT(語音識別):在不同規模的架構中均觀察到一致的提升。
    • Reuters(文本分類):在詞袋文本分類任務上性能改善。

    論文還分析了使用 dropout 訓練的網絡所學到的特徵,發現與沒有 dropout 的網絡相比,隱藏單元發展出更具區分性、各自更具意義的特徵;而後者往往學習到冗餘的、共適應的特徵。

    影響

    在 2010 年代,dropout 成為神經網絡訓練的標準做法,並在大多數深度學習框架中默認啟用。其概念上的簡潔性以及一貫的有效性,使其成為機器學習領域被引用次數最多的論文之一。在訓練期間通過隨機擾動進行隨機正則化的思想,影響了許多後續技術,包括 DropConnect、DropBlock、隨機深度(stochastic depth)和數據增強策略。

    雖然批歸一化(batch normalization)和其他技術在一些卷積架構中降低了對 dropout 的需求,但 dropout 在全連接層、Transformer 模型以及任何存在過擬合風險的場景中仍然被廣泛使用。該論文確立了隨機化正則化作為深度學習方法論中的核心原則。

    另見

    參考文獻

    • Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research 15, 1929-1958. arXiv:1207.0580
    • Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2012). Improving Neural Networks by Preventing Co-adaptation of Feature Detectors. arXiv:1207.0580.
    • Wan, L., Zeiler, M., Zhang, S., Le Cun, Y., & Fergus, R. (2013). Regularization of Neural Networks using DropConnect. ICML 2013.