改進(jìn)Hinton的Dropout:可以用來減輕欠擬合了
2012 年,Hinton 等人在其論文《Improving neural networks by preventing co-adaptation of feature detectors》中提出了 dropout。同年,AlexNet 的出現(xiàn)開啟了深度學(xué)習(xí)的新紀(jì)元。AlexNet 使用 dropout 顯著降低了過擬合,并對其在 ILSVRC 2012 競賽中的勝利起到了關(guān)鍵作用??梢赃@么說,如果沒有 dropout,我們目前在深度學(xué)習(xí)領(lǐng)域看到的進(jìn)展可能會被推遲數(shù)年。
自 dropout 推出以后,它被廣泛用作正則化器,降低神經(jīng)網(wǎng)絡(luò)中的過擬合。dropout 使用概率 p 停用每個神經(jīng)元,防止不同的特征相互適應(yīng)。應(yīng)用 dropout 之后,訓(xùn)練損失通常增加,而測試誤差減少,從而縮小模型的泛化差距。深度學(xué)習(xí)的發(fā)展不斷引入新的技術(shù)和架構(gòu),但 dropout 依然存在。它在最新的 AI 成果中繼續(xù)發(fā)揮作用,比如 AlphaFold 蛋白質(zhì)預(yù)測、DALL-E 2 圖像生成等,展現(xiàn)出了通用性和有效性。
盡管 dropout 持續(xù)流行,但多年來其強(qiáng)度(以drop rate p 表示)一直在下降。最初的 dropout 工作中使用了 0.5 的默認(rèn)drop rate。然而近年來常常采用較低的drop rate,比如 0.1,相關(guān)示例可見訓(xùn)練 BERT 和 ViT。這一趨勢的主要動力是可用訓(xùn)練數(shù)據(jù)的爆炸式增長,使得過擬合越來越困難。加之其他因素,我們可能很快會遇到更多欠擬合而非過擬合問題。
近日在一篇論文《Dropout Reduces Underfitting》中,Meta AI、加州大學(xué)伯克利分校等機(jī)構(gòu)的研究者展示了如何使用 dropout 來解決欠擬合問題。
論文地址:https://arxiv.org/abs/2303.01500
他們首先通過對梯度范數(shù)的有趣觀察來研究 dropout 的訓(xùn)練動態(tài),然后得出了一個關(guān)鍵的實(shí)證發(fā)現(xiàn):在訓(xùn)練初始階段,dropout 降低小批量的梯度方差,并允許模型在更一致的方向上更新。這些方向也更與整個數(shù)據(jù)集的梯度方向保持一致,具體如下圖 1 所示。
因此,模型可以更有效地優(yōu)化整個訓(xùn)練集的訓(xùn)練損失,而不會受到個別小批量的影響。換句話說,dropout 抵消了隨機(jī)梯度下降(SGD)并防止訓(xùn)練早期采樣小批量的隨機(jī)性所造成的過度正則化。
基于這一發(fā)現(xiàn),研究者提出了 early dropout(即 dropout 僅在訓(xùn)練早期使用),來幫助欠擬合模型更好地?cái)M合。與無 dropout 和標(biāo)準(zhǔn) dropout 相比,early dropout 降低了最終的訓(xùn)練損失。相反,對于已經(jīng)使用標(biāo)準(zhǔn) dropout 的模型,研究者建議在早期訓(xùn)練 epoch 階段移除 dropout 以降低過擬合。他們將這一方法稱為 late dropout,并證明它可以提升大模型的泛化準(zhǔn)確率。下圖 2 比較了標(biāo)準(zhǔn) dropout、early 和 late dropout。
研究者在圖像分類和下游任務(wù)上使用不同的模型來評估 early dropout 和 late dropout,結(jié)果顯示二者始終比標(biāo)準(zhǔn) dropout 和無 dropout 產(chǎn)生了更好的效果。他們希望自己的研究發(fā)現(xiàn)可以為 dropout 和過擬合提供新穎的見解,并激發(fā)人們進(jìn)一步開發(fā)神經(jīng)網(wǎng)絡(luò)正則化器。
分析與驗(yàn)證
在提出 early dropout 和 late dropout 之前,該研究探討了是否可以使用 dropout 作為減少欠擬合的工具。該研究使用其提出的工具和指標(biāo)對 dropout 的訓(xùn)練動態(tài)進(jìn)行了詳細(xì)分析,并比較了 ImageNet 上兩個 ViT-T/16 的訓(xùn)練過程(Deng et al., 2009):一個沒有 dropout 作為基線;另一個在整個訓(xùn)練過程中有 0.1 的 dropout 率。?
梯度范數(shù)(norm)。該研究首先分析了 dropout 對梯度 g 強(qiáng)度的影響。如下圖 6(左)所示,dropout 模型產(chǎn)生范數(shù)較小的梯度,表明它在每次梯度更新時采用較小的步長(step)。
模型距離。由于梯度步長更小,我們期望 dropout 模型相對于其初始點(diǎn)移動的距離比基線模型更小。如下圖 6(右)所示,該研究繪制了每個模型與其隨機(jī)初始化的距離。然而,令人驚訝的是,dropout 模型實(shí)際上比基線模型移動了更大的距離,這與該研究最初基于梯度范數(shù)的預(yù)期相反。
梯度方向方差。該研究首先假設(shè) dropout 模型在小批量中產(chǎn)生更一致的梯度方向。下圖 7 所示的方差與假設(shè)基本一致。直到一定的迭代次數(shù)(大約 1000 次)以后,dropout 模型和基線模型的梯度方差都在一個較低的水平波動。
梯度方向誤差。然而,正確的梯度方向應(yīng)該是什么?為了擬合訓(xùn)練數(shù)據(jù),基本目標(biāo)是最小化整個訓(xùn)練集的損失,而不僅僅是任何一個小批量的損失。該研究在整個訓(xùn)練集上計(jì)算給定模型的梯度,其中 dropout 設(shè)置為推理模式以捕獲完整模型的梯度。梯度方向誤差如下圖 8 所示。
基于上述分析,該研究發(fā)現(xiàn)盡早使用 dropout 可以潛在地提高模型對訓(xùn)練數(shù)據(jù)的擬合能力。而是否需要更好地?cái)M合訓(xùn)練數(shù)據(jù)取決于模型是處于欠擬合還是過擬合狀態(tài),這可能很難精確定義。該研究使用如下標(biāo)準(zhǔn):
- 如果一個模型在標(biāo)準(zhǔn) dropout 下泛化得更好,則認(rèn)為它處于過擬合狀態(tài);
- 如果模型在沒有 dropout 的情況下表現(xiàn)更好,則認(rèn)為它處于欠擬合狀態(tài)。
模型所處的狀態(tài)不僅取決于模型架構(gòu),還取決于所使用的數(shù)據(jù)集和其他訓(xùn)練參數(shù)。
然后,該研究提出了 early dropout 和 late dropout 兩種方法
early dropout。在默認(rèn)設(shè)置下,欠擬合狀態(tài)下的模型不使用 dropout。為了提高其適應(yīng)訓(xùn)練數(shù)據(jù)的能力,該研究提出 early dropout:在某個迭代之前使用 dropout,然后在其余的訓(xùn)練過程中禁用 dropout。該研究實(shí)驗(yàn)表明,early dropout 減少了最終的訓(xùn)練損失并提高了準(zhǔn)確性。
late dropout。過擬合模型的訓(xùn)練設(shè)置中已經(jīng)包含了標(biāo)準(zhǔn)的 dropout。在訓(xùn)練的早期階段,dropout 可能會無意中造成過擬合,這是不可取的。為了減少過擬合,該研究提出 late dropout:在某個迭代之前不使用 dropout,而是在其余的訓(xùn)練中使用 dropout。
該研究提出的方法在概念和實(shí)現(xiàn)上都很簡單,如圖 2 所示。實(shí)現(xiàn)時需要兩個超參數(shù):1) 在打開或關(guān)閉 dropout 之前等待的 epoch 數(shù);2)drop rate p,類似于標(biāo)準(zhǔn)的 dropout rate。該研究表明,這兩種超參數(shù)可以保證所提方法的穩(wěn)健性。
實(shí)驗(yàn)及結(jié)果
研究者在具有 1000 個類和 1.2M 張訓(xùn)練圖像的 ImageNet-1K 分類數(shù)據(jù)集上進(jìn)行了實(shí)證評估,并報(bào)告了 top-1 驗(yàn)證準(zhǔn)確率。
具體結(jié)果首先如下表 1(上部)所示,early dropout 持續(xù)提升測試準(zhǔn)確率,降低訓(xùn)練損失,表明早期階段的 dropout 有助于模型更好地?cái)M合數(shù)據(jù)。研究者還展示了使用 drop rate 為 0.1 時與標(biāo)準(zhǔn) dropout、隨機(jī)深度(s.d.)的比較結(jié)果,這兩者都對模型具有負(fù)面影響。
此外,研究者將訓(xùn)練 epoch 增加一倍并減少 mixup 和 cutmix 強(qiáng)度,從而改進(jìn)了這些小模型的方法。下表 1(底部)的結(jié)果表明,基線準(zhǔn)確率顯著提升,有時甚至大大超越了以往工作的結(jié)果。
為了評估 late dropout,研究者選擇了更大的模型,即分別具有 59M 和 86M 參數(shù)的 ViT-B 和 Mixer-B,使用了基礎(chǔ)的訓(xùn)練方法。
結(jié)果如下表 3 所示,與標(biāo)準(zhǔn) s.d. 相比,late s.d. 提升了測試準(zhǔn)確率。這一提升是在保持 ViT-B 或增加 Mixer-B 訓(xùn)練損失的同時實(shí)現(xiàn)的,表明 late s.d. 有效降低了過擬合。
最后,研究者在下游任務(wù)上對預(yù)訓(xùn)練 ImageNet-1K 模型進(jìn)行微調(diào),并對它們進(jìn)行評估。下游任務(wù)包括 COCO 目標(biāo)檢測與分割、ADE20K 語義分割以及在 C-100 等五個數(shù)據(jù)集上的下游分類。目標(biāo)是在微調(diào)階段不使用 early dropout 或 late dropout 的情況下評估學(xué)得的表示。
結(jié)果如下表 4、5 和 6 所示,首先當(dāng)在 COCO 上進(jìn)行微調(diào)時,使用 early dropout 或 s.d. 進(jìn)行預(yù)訓(xùn)練的模型始終保持優(yōu)勢。
其次對于 ADE20K 語義分割任務(wù)而言,使用本文方法進(jìn)行預(yù)訓(xùn)練的模型優(yōu)于基準(zhǔn)模型。
最后是下游分類任務(wù),本文方法在大多數(shù)分類任務(wù)上提升了泛化性能。
更多技術(shù)細(xì)節(jié)及實(shí)驗(yàn)結(jié)果請參閱原論文。