Title: Dropout Reduces Underfitting
Paper: https://arxiv.org/pdf/2303.01500.pdf
Code: https://github.com/facebookresearch/dropout
导读
由Hinton等人于2012年提出,作为防止神经网络过拟合(overfitting)的正则化器,dropout已经经受住了时间的考验。**本篇论文证明了在训练开始时使用dropout,可以缓解欠拟合(underfitting)。**在训练早期阶段,论文发现dropout减少了mini-batches梯度的方向方差,并有助于将mini-batches梯度与整个数据集的梯度对齐。这有助于抵消SGD的随机性,并限制单个batch对模型训练的影响。论文找到了一个提高欠拟合模型性能的解决方案——early dropout:dropout只在训练的初始阶段应用,并在之后关闭。与没有dropout的模型相比,带有early dropout的模型获得的最终训练损失更低。此外,论文探索了一种正则化过拟合模型的对称技术——late dropout,其中dropout在早期迭代中不使用,只在训练后期被激活。在ImageNet和各种视觉任务上的实验表明,论文的方法可以持续提高泛化精度。论文的研究结果鼓励了对深度学习中正则化的研究,该方法可以成为未来神经网络训练的有用工具,特别是在大数据时代。
背景
Overfitting
**当一个模型在验证集合上和训练集合上表现都很好,但对测试集合上变现很差时,就会出现过拟合。**当数据量减少(上图上半部分)或模型容量增加(上图下半部分)时,就会发生过拟合。
Dropout
Dropout简单来说就是在网络前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。
Drop rate
在Dropout中将神经元的激活值设置为零的概率p,这是一个影响巨大的超参数。
训练精度随着Drop rate的增加而降低,然而,存在一个最优的下降率(在上面这种情况下是p=0.15),使测试精度最大化。
使用较大的数据集(上图上)或使用较小的模型(上图下,ViT-Tiny(T), Small(S), and Base(B)/32)进行训练,都会导致较低的最优下降率,在某些情况下甚至可能达到0。
Underfitting
随着数据集的规模不断增加,模型不容易对大量的数据进行过拟合,因此近年来dropout rate逐渐降低,甚至很多工作不再使用dropout。随着全球范围内生成和分布的数据量的快速增长,未来的模型可能会更难以正确地拟合数据,导致欠拟合。
贡献
论文提出了early dropout——dropout只在早期训练中使用——以帮助欠拟合模型更好地拟合。与没有dropout和标准dropout相比,early dropout降低了最终的训练损失
论文提出了late dropout——对于已经使用标准dropout的模型,论文建议在早期的训练时期删除dropout,以减轻过拟合。实验证明了它能提高大型模型的泛化精度
方法
在本章节中,论文探讨了dropout是否可以作为一种减少拟合不足的工具
推断思路
论文提出的相关的工具和指标对dropout的有效性进行了详细分析
Gradient norm
首先,如上图左半部分所示,droput模型产生的梯度的L 2 L_2L
2
范数更小,表明其每次梯度更新时的步长更小
Model distance
由于梯度步长较小,理论上droput模型从其初始点移动的距离比baseline要小。但是如上图左半部分所示,droput模型实际上比baseline移动了更大的距离,这与最初基于梯度规范的预期相反。说明,而步长较大的梯度更新可能是随机的、蜿蜒的,在任何一个特定的方向上都没有太大的进展。
Gradient direction variance
接着,论文在训练模型checkpoint来收集一组mini-batch梯度G GG,然后计算平均成对余弦距离来测量梯度方向方差(GDV):
可以看到如上图所示,在一定的迭代次数(大约1000次)中,droput模型表现出较低的梯度方差,并朝着更一致的方向移动。
Gradient direction error
在训练开始时,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
上图上半部分显示,Early Dropout持续提高了测试的准确性,也减少了训练损失,表明Early Dropout有助于模型更好地拟合数据。
上图下半部分显示,将训练epochs翻倍并减少mixup和cutmix强度,baselines实现了准确性的提高,有时设置大大超过了以前的文献结果。然而,early dropout仍然进一步提高了准确性。
Late Dropout
上表显示,与standard s.d(Stochastic depth,dropout的演化版本)相比,Late s.d提升了过拟合模型的测试精度。
消融实验
Scheduling strategies
Early dropout优于其他dropout策略或者相关的正则化策略。
Early dropout scheduling
Early dropout对各种drop rate变化策略都是鲁棒的。
Model sizes
Early dropout并对欠拟合模型更加有效,对过拟合模型(模型规模大)效果不佳
Training curves
一旦Early dropout阶段结束,其train loss显著下降,test accuracy显著提高,超过no-dropout baseline。
Dropout epochs
Early dropout在不同的epochs设置下都是有效的。
Drop rates
standard dropout(s.d)对dropout rate不是那么敏感,但Early dropout(s.d)的表现高度依赖于它。
Learning rate warmup
无论是否使用lr warmup,以及warmup的epoch数量,Early dropout也会提高准确性。
Downstream Tasks
最后,论文还在下游任务上对预训练的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』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!
同时欢迎添加小编微信: cv_huber,备注CSDN,加入官方学术|技术|招聘交流群,一起探讨更多有趣的话题!