首頁  >  文章  >  科技週邊  >  改良後的Dropout可用於緩解欠擬合問題。

改良後的Dropout可用於緩解欠擬合問題。

王林
王林轉載
2023-05-07 23:43:061091瀏覽

2012 年,Hinton 等人在其论文《Improving neural networks by preventing co-adaptation of feature detectors》中提出了 dropout。同年,AlexNet 的出现开启了深度学习的新纪元。AlexNet 使用 dropout 显著降低了过拟合,并对其在 ILSVRC 2012 竞赛中的胜利起到了关键作用。可以这么说,如果没有 dropout,我们目前在深度学习领域看到的进展可能会被推迟数年。

自 dropout 推出以后,它被广泛用作正则化器,降低神经网络中的过拟合。dropout 使用概率 p 停用每个神经元,防止不同的特征相互适应。应用 dropout 之后,训练损失通常增加,而测试误差减少,从而缩小模型的泛化差距。深度学习的发展不断引入新的技术和架构,但 dropout 依然存在。它在最新的 AI 成果中继续发挥作用,比如 AlphaFold 蛋白质预测、DALL-E 2 图像生成等,展现出了通用性和有效性。

尽管 dropout 持续流行,但多年来其强度(以drop rate p 表示)一直在下降。最初的 dropout 工作中使用了 0.5 的默认drop rate。然而近年来常常采用较低的drop rate,比如 0.1,相关示例可见训练 BERT 和 ViT。这一趋势的主要动力是可用训练数据的爆炸式增长,使得过拟合越来越困难。加之其他因素,我们可能很快会遇到更多欠拟合而非过拟合问题。

近日在一篇论文《Dropout Reduces Underfitting》中,Meta AI、加州大学伯克利分校等机构的研究者展示了如何使用 dropout 来解决欠拟合问题。

论文地址:https://arxiv.org/abs/2303.01500

他们首先通过对梯度范数的有趣观察来研究 dropout 的训练动态,然后得出了一个关键的实证发现:在训练初始阶段,dropout 降低小批量的梯度方差,并允许模型在更一致的方向上更新。这些方向也更与整个数据集的梯度方向保持一致,具体如下图 1 所示。

因此,模型可以更有效地优化整个训练集的训练损失,而不会受到个别小批量的影响。换句话说,dropout 抵消了随机梯度下降(SGD)并防止训练早期采样小批量的随机性所造成的过度正则化。

改良後的Dropout可用於緩解欠擬合問題。

基于这一发现,研究者提出了 early dropout(即 dropout 仅在训练早期使用),来帮助欠拟合模型更好地拟合。与无 dropout 和标准 dropout 相比,early dropout 降低了最终的训练损失。相反,对于已经使用标准 dropout 的模型,研究者建议在早期训练 epoch 阶段移除 dropout 以降低过拟合。他们将这一方法称为 late dropout,并证明它可以提升大模型的泛化准确率。下图 2 比较了标准 dropout、early 和 late dropout。

改良後的Dropout可用於緩解欠擬合問題。

研究者在图像分类和下游任务上使用不同的模型来评估 early dropout 和 late dropout,结果显示二者始终比标准 dropout 和无 dropout 产生了更好的效果。他们希望自己的研究发现可以为 dropout 和过拟合提供新颖的见解,并激发人们进一步开发神经网络正则化器。

分析与验证

在提出 early dropout 和 late dropout 之前,该研究探讨了是否可以使用 dropout 作为减少欠拟合的工具。该研究使用其提出的工具和指标对 dropout 的训练动态进行了详细分析,并比较了 ImageNet 上两个 ViT-T/16 的训练过程(Deng et al., 2009):一个没有 dropout 作为基线;另一个在整个训练过程中有 0.1 的 dropout 率。​

梯度范数(norm)。该研究首先分析了 dropout 对梯度 g 强度的影响。如下图 6(左)所示,dropout 模型产生范数较小的梯度,表明它在每次梯度更新时采用较小的步长(step)。

模型距離。由於梯度步長較小,我們期望 dropout 模型相對於其初始點移動的距離比基線模型更小。如下圖 6(右)所示,研究繪製了每個模型與其隨機初始化的距離。然而,令人驚訝的是,dropout 模型實際上比基線模型移動了更大的距離,這與該研究最初基於梯度範數的預期相反。

改良後的Dropout可用於緩解欠擬合問題。

梯度方向變異數。研究首先假設 dropout 模型在小批量中產生更一致的梯度方向。下圖 7 所示的變異數與假設基本一致。直到一定的迭代次數(約 1000 次)以後,dropout 模型和基準模型的梯度變異數都在較低的水平波動。

改良後的Dropout可用於緩解欠擬合問題。

梯度方向誤差。然而,正確的梯度方向應該是什麼?為了擬合訓練數據,基本目標是最小化整個訓練集的損失,而不僅僅是任何一個小批量的損失。該研究在整個訓練集上計算給定模型的梯度,其中 dropout 設定為推理模式以捕捉完整模型的梯度。梯度方向誤差如下圖 8 所示。

改良後的Dropout可用於緩解欠擬合問題。

基於上述分析,研究發現儘早使用 dropout 可以潛在地提高模型對訓練資料的擬合能力。而是否需要更好地擬合訓練資料取決於模型是處於欠擬合還是過擬合狀態,這可能很難精確定義。研究使用以下標準:

  • 如果一個模型在標準dropout 下泛化得更好,則認為它處於過擬合狀態;
  • #如果模型在沒有dropout 的情況下表現較好,則認為它處於欠擬合狀態。

模型所處的狀態不僅取決於模型架構,還取決於所使用的資料集和其他訓練參數。

然後,研究提出了 early dropout 和 late dropout 兩種方法

early dropout。在預設設定下,欠擬合狀態下的模型不使用 dropout。為了提高其適應訓練資料的能力,研究提出 early dropout:在某個迭代之前使用 dropout,然後在其餘的訓練過程中停用 dropout。該研究實驗表明,early dropout 減少了最終的訓練損失並提高了準確性。

late dropout。過度擬合模型的訓練設定中已經包含了標準的 dropout。在訓練的早期階段,dropout 可能會無意中造成過擬合,這是不可取的。為了減少過度擬合,研究提出 late dropout:在某個迭代之前不使用 dropout,而是在其餘的訓練中使用 dropout。

該研究提出的方法在概念和實作上都很簡單,如圖 2 所示。實作時需要兩個超參數:1) 在開啟或關閉 dropout 之前等待的 epoch 數;2)drop rate p,類似於標準的 dropout rate。該研究表明,這兩種超參數可以保證所提方法的穩健性。

實驗及結果

研究者在具有1000 個類別和1.2M 張訓練影像的ImageNet-1K 分類資料集上進行了實證評估,並報告了top-1 驗證準確率。

具體結果首先如下表1(上部)所示,early dropout 持續提升測試準確率,降低訓練損失,顯示早期階段的dropout 有助於模型更好地擬合數據。研究者也展示了使用 drop rate 為 0.1 時與標準 dropout、隨機​​深度(s.d.)的比較結果,這兩者都對模型有負面影響。

此外,研究者將訓練 epoch 增加一倍並減少 mixup 和 cutmix 強度,從而改進了這些小模型的方法。下表 1(底部)的結果表明,基線準確率顯著提升,有時甚至大大超越了以往工作的結果。

改良後的Dropout可用於緩解欠擬合問題。

為了評估late dropout,研究者選擇了更大的模型,分別具有59M 和86M 參數的ViT-B 和Mixer-B ,使用了基礎的訓練方法。

結果如下表 3 所示,與標準 s.d. 相比,late s.d. 提升了測試準確率。這一提升是在保持 ViT-B 或增加 Mixer-B 訓練損失的同時實現的,表明 late s.d. 有效降低了過擬合。

改良後的Dropout可用於緩解欠擬合問題。

最後,研究者在下游任務上對預訓練ImageNet-1K 模型進行微調,並對它們進行評估。下游任務包括 COCO 目標檢測與分割、ADE20K 語義分割以及在 C-100 等五個資料集上的下游分類。目標是在微調階段不使用 early dropout 或 late dropout 的情況下評估學得的表示。

結果如下表 4、5 和 6 所示,首先當在 COCO 上進行微調時,使用 early dropout 或 s.d. 進行預訓練的模型始終保持優勢。

改良後的Dropout可用於緩解欠擬合問題。

其次對於 ADE20K 語意分割任務而言,使用本文方法進行預訓練的模型優於基準模型。

改良後的Dropout可用於緩解欠擬合問題。

最後是下游分類任務,本文方法在大多數分類任務上提升了泛化效能。

改良後的Dropout可用於緩解欠擬合問題。

更多技術細節及實驗結果請參考原文。

以上是改良後的Dropout可用於緩解欠擬合問題。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除