CVHub | Early Dropout: Make Hinton's Drouout Great Again!

572 阅读8分钟

本文首发于微信公众号 CVHub,不得以任何形式转载到其它平台,仅供学习交流,违者必究!

本文正在参加 人工智能创作者扶持计划

Title: Dropout Reduces Underfitting
Paper: arxiv.org/pdf/2303.01…
Code: github.com/facebookres…

导读

Dropout in early training

由Hinton等人于2012年提出,作为防止神经网络过拟合(overfitting)的正则化器,dropout已经经受住了时间的考验。**本篇论文证明了在训练开始时使用dropout,可以缓解欠拟合(underfitting)。**在训练早期阶段,论文发现dropout减少了mini-batches梯度的方向方差,并有助于将mini-batches梯度与整个数据集的梯度对齐。这有助于抵消SGD的随机性,并限制单个batch对模型训练的影响。论文找到了一个提高欠拟合模型性能的解决方案——early dropout:dropout只在训练的初始阶段应用,并在之后关闭。与没有dropout的模型相比,带有early dropout的模型获得的最终训练损失更低。此外,论文探索了一种正则化过拟合模型的对称技术——late dropout,其中dropout在早期迭代中不使用,只在训练后期被激活。在ImageNet和各种视觉任务上的实验表明,论文的方法可以持续提高泛化精度。论文的研究结果鼓励了对深度学习中正则化的研究,该方法可以成为未来神经网络训练的有用工具,特别是在大数据时代。

背景

Overfitting

Overfitting

**当一个模型在验证集合上和训练集合上表现都很好,但对测试集合上变现很差时,就会出现过拟合。**当数据量减少(上图上半部分)或模型容量增加(上图下半部分)时,就会发生过拟合。

Dropout

Dropout

Dropout简单来说就是在网络前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。

Drop rate

在Dropout中将神经元的激活值设置为零的概率p,这是一个影响巨大的超参数。

Drop rate influence

训练精度随着Drop rate的增加而降低,然而,存在一个最优的下降率(在上面这种情况下是p=0.15),使测试精度最大化。

Optimal drop rate

使用较大的数据集(上图上)或使用较小的模型(上图下,ViT-Tiny(T), Small(S), and Base(B)/32)进行训练,都会导致较低的最优下降率,在某些情况下甚至可能达到0。

Underfitting

随着数据集的规模不断增加,模型不容易对大量的数据进行过拟合,因此近年来dropout rate逐渐降低,甚至很多工作不再使用dropout。随着全球范围内生成和分布的数据量的快速增长,未来的模型可能会更难以正确地拟合数据,导致欠拟合。

贡献

Standard, early and late dropout

  • 论文提出了early dropout——dropout只在早期训练中使用——以帮助欠拟合模型更好地拟合。与没有dropout和标准dropout相比,early dropout降低了最终的训练损失
  • 论文提出了late dropout——对于已经使用标准dropout的模型,论文建议在早期的训练时期删除dropout,以减轻过拟合。实验证明了它能提高大型模型的泛化精度

方法

在本章节中,论文探讨了dropout是否可以作为一种减少拟合不足的工具

推断思路

论文提出的相关的工具和指标对dropout的有效性进行了详细分析

Gradient norm

Gradient norm (left) and model distance (right)

首先,如上图左半部分所示,droput模型产生的梯度的L2L_2范数更小,表明其每次梯度更新时的步长更小

Model distance

由于梯度步长较小,理论上droput模型从其初始点移动的距离比baseline要小。但是如上图左半部分所示,droput模型实际上比baseline移动了更大的距离,这与最初基于梯度规范的预期相反。说明,而步长较大的梯度更新可能是随机的、蜿蜒的,在任何一个特定的方向上都没有太大的进展

Gradient direction variance

Gradient direction variance

接着,论文在训练模型checkpoint来收集一组mini-batch梯度GG,然后计算平均成对余弦距离来测量梯度方向方差(GDV):

可以看到如上图所示,在一定的迭代次数(大约1000次)中,droput模型表现出较低的梯度方差,并朝着更一致的方向移动。

Gradient direction error

Gradient direction error

然后,论文评估实际的mini-batch梯度 gstepg_{step} 与整个数据集的“ground-truth”梯度 g^\hat{g} 之间的差异。论文将从所有 gstepGg_{step}∈Gg^\hat{g} 的平均余弦距离定义为梯度方向的“error”(GDE):

在训练开始时,dropout模型的mini-batch梯度与整个数据集梯度的距离更小,这表明它正在朝着优化总训练损失的更理想的方向移动(如上图所示)。然而,在大约1000次迭代之后,dropout模型会产生距离更远的梯度。这可能是dropout rate从减少欠拟合过渡到减少过拟合的转折点。

Bias-variance tradeoff

对于no-dropout模型,SGD mini-batch提供了整个数据集梯度的无偏估计,因为mini-batch梯度的期望等于整个数据集梯度。然而,随着dropout,估计变得或多或少有偏差,因为mini-batch梯度是由不同的子网络产生的,其期望的梯度可能或不匹配整个网络的梯度。这就导致梯度方差和梯度误差的减少。这种方差和误差的减少有助于防止模型对特定batch的过拟合,特别是在训练的早期阶段。

论文方案

基于上述分析中,可以知道早期使用dropout可以潜在地提高模型拟合训练数据的能力。基于这一观察结果,论文提出了下述观点:

重新定义过拟合和欠拟合状

模型处于欠拟合还是过拟合状态很难精确定义,论文使用以下定义:

  • 如果一个模型使用standard dropout能更好地泛化,认为它处于过拟合状态
  • 如果模型在没有dropout的情况下表现更好,认为它处于欠拟合状态

Early dropout

假如欠拟合的模型未使用dropout,尝试在某次迭代之前使用dropout,然后在之后的训练中禁用它

Late dropout

假如在使用standard dropout后过拟合的模型,在某次迭代之前不使用dropout,然后在后续的训练中使用它。

实验

Early Dropout

Classification accuracy on ImageNet-1K

上图上半部分显示,Early Dropout持续提高了测试的准确性,也减少了训练损失,表明Early Dropout有助于模型更好地拟合数据

上图下半部分显示,将训练epochs翻倍并减少mixup和cutmix强度,baselines实现了准确性的提高,有时设置大大超过了以前的文献结果。然而,early dropout仍然进一步提高了准确性。

Late Dropout

Classification accuracy on ImageNet-1K for late s.d.

上表显示,与standard s.d(Stochastic depth,dropout的演化版本)相比,Late s.d提升了过拟合模型的测试精度。

消融实验

Scheduling strategies

Scheduling strategies

Early dropout优于其他dropout策略或者相关的正则化策略。

Early dropout scheduling

Early dropout scheduling

Early dropout对各种drop rate变化策略都是鲁棒的。

Model sizes

Model size

Early dropout并对欠拟合模型更加有效,对过拟合模型(模型规模大)效果不佳

Training curves

Training Curves

一旦Early dropout阶段结束,其train loss显著下降,test accuracy显著提高,超过no-dropout baseline。

Dropout epochs

Early dropout epochs

Early dropout在不同的epochs设置下都是有效的。

Drop rates

Drop rates

standard dropout(s.d)对dropout rate不是那么敏感,但Early dropout(s.d)的表现高度依赖于它。

Learning rate warmup

learning rate warmup

无论是否使用lr warmup,以及warmup的epoch数量,Early dropout也会提高准确性。

Downstream Tasks

COCO object detection and segmentation results

ADE20K semantic segmentation results (mIoU)

Downstream classification accuracy

最后,论文还在下游任务上对预训练的ImageNet-1K模型进行微调,评估Early dropout和Late dropout在目标检测语义分割分类等任务上的有效性,结果显示,使用early dropout、s.d和late s.d预训练的模型,能够能够显著提高下游任务的性能和泛化能力

总结

10年来,Dropout在应对过拟合问题上表现出色。在这项工作中,论文揭示了它的潜力,以帮助随机优化和减少欠拟合。论文的关键见解是,Dropout抵消了SGD带来的数据随机性,并在早期训练中减少了梯度方差。这也导致随机mini-batch梯度更符合底层的整个数据集梯度。在此基础上,论文提出了early dropout,以帮助欠拟合模型更好地拟合,而late dropout,以提高过拟合模型的泛化性。论文希望这项发现能激发更多的研究,以理解dropout,为基于梯度的学习设计正则化器,并且论文的方法有助于使用越来越大的数据集进行建模训练。

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!

本文正在参加 人工智能创作者扶持计划