Dropout 在欠拟合的应用
- Dropout Reduces Underfitting(2023.3.2)
- 写在前面
- 摘要
- 一、简介
- 二、重新审视过拟合和欠拟合
- 三、Dropout如何减少欠拟合
- 四、方法
- 五、实验
- 早期随机失活
- 分析
- 晚期随机失活(Late Dropout)
- 六、下游任务
- 七、相关工作
- 八、结论
Dropout Reduces Underfitting(2023.3.2)
写在前面
本文提出了早期dropout的思想,把dropout处理过拟合的能力转移到减少欠拟合。这个思想可以应用到分类任务(Resnet等)、目标检测(YOLOV5)、以及分割、NLP领域。
摘要
- dropout在训练开始时使用时也可以缓解欠拟合问题
- early dropout:更低的最终训练损失
- late dropout:提高了泛化准确性
由Hinton等人在2012年提出,dropout已经成为神经网络中防止过拟合的正则化方法并经过了时间的考验。在本研究中,我们证明了在训练开始时使用dropout也可以缓解欠拟合的问题。在早期阶段,我们发现dropout可以减少小批量梯度的方向差异,并帮助将小批量梯度与整个数据集的梯度对齐。这有助于抵消随机梯度下降的随机性,并限制单个批次对模型训练的影响。我们的研究结果为解决欠拟合模型的性能提供了一个解决方案 - 早期dropout:dropout仅在训练的初始阶段应用,然后关闭。与没有dropout的对照组相比,装备早期dropout的模型达到了更低的最终训练损失。此外,我们还探索了一种用于正则化过拟合模型的对称技术 - 晚期dropout,其中在早期迭代中不使用dropout,仅在训练后期激活。在ImageNet和各种视觉任务上的实验证明,我们的方法始终提高了泛化准确性。我们的研究结果鼓励对深度学习中正则化的理解进行更多的研究,并且我们的方法可以成为未来神经网络训练的有用工具,特别是在大数据时代。
随机深度s.d.:Stochastic depth是一种深度神经网络的正则化技术。在这种技术中,网络中的某些层有一定的概率被随机跳过,这可以被视为模型的一种集成方法,类似于dropout。stochastic depth rate指的是在stochastic depth中被跳过的层数所占的比例。
一、简介
- dropout的历史以及由于训练数据越来越多,比率逐渐降低,从0.5到0.1。
- 很快会面临更多的欠拟合问题而不是过拟合问题。
- dropout降低了mini-batch之间的梯度方差,抵消了SGD的影响,并防止了早期训练中因随机采样mini-batches而导致过度正则化的问题。
- 对于已经使用标准dropout的模型,我们建议在早期训练时期去除dropout,以减轻过拟合。我们将这种方法称为“late dropout”,并证明它可以提高大型模型的泛化精度。
2022年标志着自AlexNet的关键“ImageNet时刻”(Krizhevsky等人,2012)以来的整整十年,它开启了深度学习的新时代。毫不巧合的是,2022年dropout(Hinton等人,2012)也迎来了它的十周岁生日:AlexNet使用dropout显著减少了过拟合,这在其赢得ILSVRC 2012竞赛中发挥了至关重要的作用。如果没有dropout的发明,我们目前在深度学习方面看到的进步可能会被推迟数年。
dropout已经成为广泛采用的正则化器,以减轻神经网络中的过拟合。它随机地用概率p停用每个神经元,防止不同的特征互相适应(Hinton等人,2012; Srivastava等人,2014)。应用dropout后,训练损失通常会增加,而测试误差会降低,缩小模型的泛化差距。
深度学习以惊人的速度发展。不断引入新的技术和架构,应用不断扩展,基准也在变化,甚至卷积也可能消失(Dosovitskiy等人,2021)-但是dropout仍然存在。它继续发挥作用,在最新的AI成就中,包括AlphaFold的蛋白质结构预测(Jumper等人,2021)和DALL-E 2的图像生成(Ramesh等人,2022),证明了它的多功能性和有效性。
尽管dropout一直很受欢迎,但它的强度,即丢弃率p,一般随着时间的推移而减小。在最初的dropout工作(Hinton等人,2012)中,使用了默认的丢弃率0.5。然而,近年来经常采用较低的丢弃率,例如0.1,如训练BERT(Devlin等人,2018)和Vision Transformers(Dosovitskiy等人,2021)等。这个趋势的主要驱动因素是可用训练数据的爆炸式增长,使得过拟合越来越困难。此外,数据增强技术(Zhang等人,2018; Cubuk等人,2020)和用未标记或弱标记数据进行学习的算法(Brown等人,2020; Radford等人,2021; He等人,2021)的进步提供了比模型更多的数据来训练。因此,我们可能很快会面临更多的欠拟合问题而不是过拟合问题。
如果出现这种情况,dropout会失去其相关性吗?在本研究中,我们展示了一个应对欠拟合的使用dropout的替代方法。我们从梯度范数上做出一个有趣的观察,进而得出一个关键的实证发现:在训练的初始阶段,dropout降低了mini-batch之间的梯度方差,使得模型能够更一致地朝着更好的方向更新。这些方向也更加符合整个数据集的梯度方向(图1)。因此,模型可以更有效地优化训练损失,而不是受到单个mini-batch的影响。换句话说,dropout抵消了SGD的影响,并防止了早期训练中因随机采样mini-batches而导致过度正则化的问题。基于这一洞见,我们引入了“early dropout”-仅在早期训练时使用dropout-来帮助欠拟合的模型更好地拟合。与没有dropout和标准dropout相比,early dropout可以降低最终的训练损失。相反,对于已经使用标准dropout的模型,我们建议在早期训练时期去除dropout,以减轻过拟合。我们将这种方法称为“late dropout”,并证明它可以提高大型模型的泛化精度。图2提供了标准dropout、early dropout和late dropout的比较。
我们使用不同的模型在图像分类和下游任务中评估了early dropout和late dropout。我们的方法始终比标准dropout和没有dropout产生更好的结果。我们希望我们的发现可以提供有关dropout和过拟合的新见解,并激发进一步研究开发神经网络正则化方法。
-
图一
-
图二
二、重新审视过拟合和欠拟合
- 更大的模型和较小的数据集往往会导致过拟合
- 随机深度,dropout的变种,对于每个样本或小批量,网络随机选择一些残差块跳过,使模型变得更浅,
可以视为在残差块级别上的特殊dropout
- dropout概率p很大程度上取决于网络模型大小和数据集大小
- 未来的模型可能更难适当地拟合数据,需要工具来帮助模型更好地拟合大量的数据并减少欠拟合
过拟合
当一个模型过度拟合训练数据,但在未见过的数据上泛化能力差时,就会发生过拟合。模型的容量和数据集的规模是决定过拟合的最重要因素之一,此外还有训练长度等其他因素。更大的模型和较小的数据集往往会导致更多的过拟合。我们进行了几个简单的实验,以清晰地说明这种趋势。首先,当模型保持不变,但使用的数据减少时,训练精度和测试精度之间的差距会增加,导致过拟合。图3(顶部)展示了在各种ImageNet数据量上训练的ViT-Tiny/32结果的趋势。其次,当模型容量增加,而数据集大小保持不变时,差距也会扩大。图3(底部)展示了在相同的100% ImageNet数据上训练的ViT-Tiny(T)、Small(S)和Base(B)/32模型的情况。我们使用固定的4,000个迭代次数进行训练,不使用数据增强。
Dropout
我们简要回顾一下dropout方法。在每个训练迭代中,dropout层会随机将其输入张量的每个神经元以一定的概率设置为零。在推理期间,所有神经元都是活跃的,但通过缩放系数来维持与训练期间相同的总体规模。由于每个样本是由不同的子网络训练的,dropout可以被视为指数级别的隐式集成多个模型。它是深度学习的基本构建块,在各种神经架构和应用中用于防止过拟合(Vaswani等人,2017; Devlin等人,2018; Ramesh等人,2022)。
随机深度
已经有各种尝试设计dropout的变种(Wan等人,2013;He等人,2014;Ghiasi等人,2018)。在这项研究中,我们也考虑了一种dropout变种,称为随机深度(s.d.)(Huang等人,2016),它是为了规范残差网络(He等人,2016)而设计的。对于每个样本或小批量,网络随机选择一些残差块跳过,使模型变得更浅,因此得名“随机深度”。它通常在现代视觉网络中出现,包括DeiT(Touvron等人,2020)、ConvNeXt(Liu等人,2022)和MLP-Mixer(Tolstikhin等人,2021)。几个最近的模型(Steiner等人,2021;Tolstikhin等人,2021)将s.d.与dropout一起使用
。由于s.d.可以视为在残差块级别上的特殊dropout
,因此我们后面使用的“dropout”一词也可能包括s.d.,具体取决于上下文。
丢失率
在dropout中将神经元设置为零的概率被称为丢失率p,这是一个非常重要的超参数。例如,在Swin Transformer和ConvNeXt中,唯一随着模型大小变化的训练超参数是随机深度的丢失率。
我们将dropout应用于规范ViT-B模型,并尝试使用不同的丢失率。如图4所示,将丢失率设置得太低并不能有效地防止过度拟合,而将其设置得太高会导致过度规范化和测试准确性下降。在这种情况下,为了达到最高的测试准确性,最佳的丢失率为0.15。
不同的模型架构使用不同的 dropout 概率,并且选择最优的
dropout 概率 p 很大程度上取决于网络模型大小和数据集大小
。在图 5 中,我们绘制了从图 3 中得到的最佳模型和数据设置的 dropout 概率。我们对每个设置进行了 drop 概率的超参数扫描,间隔为 0.05。从图 5 中,我们可以观察到,当数据足够大或模型足够小时,最佳的 dropout 概率 p 为 0
,这表明使用dropout 可能并不必要
,并且可能通过欠拟合数据来损害模型的泛化精度。
欠拟合
在文献中,用于 dropout 的 drop 概率通常会随着时间推移而减少。早期的模型,如 VGG(Simonyan 和 Zisserman,2015)和 GoogleNet(Szegedy 等人,2015),使用 0.5 或更高的 drop 概率;ViTs(Dosovitskiy 等人,2021)在 ImageNet 上使用中等概率 0.1,在预训练更大的 JFT-300M 数据集时则不使用 dropout;最近的语言监督或自监督视觉模型(Radford 等人,2021;He 等人,2021)则不使用 dropout。这个趋势可能是由于数据集的增大。模型不会很容易地过度拟合巨大的数据。
随着全球产生和分发的数据量快速增长,可用数据的规模可能很快就会超过我们训练的模型的容量。虽然数据每天以千万亿字节的速度生成,但模型仍然需要存储和运行在有限的物理设备上,例如服务器、数据中心或移动电话。考虑到这样的对比,未来的模型可能更难适当地拟合数据,而不是过度拟合。正如我们上面的实验所证明的那样,在这种情况下,标准的 dropout 可能无法作为正则化器帮助泛化。相反,我们需要工具来帮助模型更好地拟合大量的数据并减少欠拟合。
- 图三
- 图四
- 图五
三、Dropout如何减少欠拟合
- dropout模型梯度小,但是实际上移动的距离远。因为步子较小的人在更一致的方向上行走,而步子较大的人可能会采取随机、蜿蜒的步伐
- 在某个迭代步骤(大约为1000步)之前,dropout模型显示出较低的梯度方差,并且沿着更一致的方向移动。
- 大约1000次迭代后,dropout模型产生的梯度变得更远。这可能是dropout从减少欠拟合转向减少过拟合的转折点
- 直观地说,这种方差和误差的减少有助于防止模型过度拟合特定批次,特别是在模型正在经历显着变化的早期阶段。
在这项研究中,我们探讨了dropout是否可以用作减少欠拟合的工具。为此,我们使用我们提出的工具和指标对dropout的训练动态进行了详细分析。我们比较了ImageNet(Deng et al., 2009)上的两个ViT-T/16训练过程:一个没有dropout作为基线,另一个在整个训练过程中采用0.1的dropout率。
梯度范数。我们从研究dropout对梯度强度的影响开始,梯度强度由其L2范数||g||2测量。对于dropout模型,我们测量整个模型的梯度,即使由于dropout而停用了一部分权重。如图6(左)所示,dropout模型产生的梯度具有更小的范数,表明它在每个梯度更新时采取更小的步长。
模型距离。由于梯度步长更小,我们预计dropout模型从其初始点出发行进的距离将比基线模型更小。为了衡量两个模型之间的距离,我们使用L2范数,表示为||W1−W2||2,其中Wi表示每个模型的参数。在图6(右)中,我们绘制了每个模型从其随机初始化的距离。但是,令我们惊讶的是,与我们最初根据梯度范数预计的相反,dropout模型实际上移动的距离比基线模型更远。
让我们想象两个人在走路。一个人大步走,另一个人小步走。尽管如此,步子较小的人在相同时间内从起点走了更长的距离。为什么?这可能是因为步子较小的人在更一致的方向上行走,而步子较大的人可能会采取随机、蜿蜒的步伐,在任何一个特定的方向上都没有取得太大的进展。
梯度方向方差。我们假设我们的两个模型也是如此:dropout模型在mini-batch中产生了更一致的梯度方向。为了测试这一点,我们通过在随机选择的批次上训练模型检查点来收集一组mini-batch梯度G。然后,我们通过计算平均成对余弦距离来测量梯度方向方差
如图7所示,方差的比较支持我们的假设。在某个迭代步骤(大约为1000步)之前,dropout模型显示出较低的梯度方差,并且沿着更一致的方向移动。
梯度方向误差。然而,问题仍然存在 - 应该采取什么正确方向?为了适应训练数据,基本目标是最小化整个训练集上的损失,而不仅仅是单个小批次上的损失。我们计算给定模型在整个训练集上的梯度,其中将dropout设置为推断模式以捕获整个模型的梯度。然后,我们评估实际小批次梯度gstep与整个数据集“ground-truth”梯度gˆ之间的差距。我们定义从所有gstep∈G到gˆ的平均余弦距离为梯度方向“误差”(GDE):
我们计算这个误差项并将其绘制在图8中。在训练开始时,dropout模型的小批次梯度与整个数据集梯度的距离较小,表明它在朝着更理想的方向移动以优化总的训练损失(如图1所示)。然而,大约1000次迭代后,dropout模型产生的梯度变得更远。这可能是dropout从减少欠拟合转向减少过拟合的转折点。上述实验使用了经过AdamW(Loshchilov&Hutter,2019)优化的ViT,但是当使用其他优化器(如SGD和动量SGD)或架构(如Swin Transformer)时,我们观察到类似的趋势。
偏差-方差权衡。通过偏差-方差权衡的视角可以看出早期训练的分析。对于没有dropout的模型,SGD小批次提供整个数据集梯度的无偏估计,因为小批次梯度的期望值等于整个数据集的梯度。然而,使用dropout后,估计会变得更加有偏或不那么有偏,因为小批次梯度是由不同的子网络生成的,其期望梯度可能与完整网络的梯度不匹配。尽管如此,梯度方差显着减少,导致梯度误差降低。直观地说,这种方差和误差的减少有助于防止模型过度拟合特定批次,特别是在模型正在经历显着变化的早期阶段。
- 图六
- 图七
- 图八
四、方法
- 很难定义欠拟合模式和过拟合模式,模型所处的模式不仅取决于模型架构,还取决于使用的数据集和其他训练参数
- 用标准的dropout能更好的泛化,则处于过拟合模式。
- 没有dropout表现的更好,则处于欠拟合模式。
- 两个超参数:打开和关闭dropout的轮数、dropout的比率P
通过以上分析,我们知道早期使用dropout有可能提高模型拟合训练数据的能力。基于这个观察结果,我们提出了以下方法。
欠拟合和过拟合模式。模型是否更好地拟合训练数据取决于模型处于欠拟合还是过拟合模式,这个定义很难精确定义。在这项工作中,我们使用以下标准,并发现它对我们的目的是有效的:如果模型使用标准的dropout能更好地泛化,我们认为它处于过拟合模式;如果模型在没有dropout的情况下表现更好,我们认为它处于欠拟合模式。模型所处的模式不仅取决于模型架构,还取决于使用的数据集和其他训练参数。
早期dropout。在默认设置下,处于欠拟合模式的模型不使用dropout。为了提高它们拟合训练数据的能力,我们提出早期dropout:
在某个迭代之前使用dropout,然后在其余的训练中禁用它
。我们的实验表明,早期dropout可以减少最终的训练损失并提高准确率。
晚期dropout。过拟合模型已经在其训练设置中包含了标准的dropout。在训练的早期阶段,dropout可能会不经意地导致过拟合,这是不可取的。为了减少过拟合,我们提出晚期dropout:
在某个迭代之前不使用dropout,然后在其余的训练中使用dropout
。这是早期dropout的对称方法。
超参数。我们的方法在概念和实现上都很简单,如图2所示。它们需要两个超参数:1)在打开或关闭随机失活之前等待的轮数。我们的结果表明,这个选择足够健壮,可以从总轮数的1%变化到50%。2)丢弃率p,类似于标准的随机失活率,也有适度的健壮性。
五、实验
我们在包含1000个类别和120万个训练图像的ImageNet-1K分类上进行实证评估(Deng等人,2009),并报告top-1验证准确率。
早期随机失活
- 数据集:ImageNet-1K
- 模型:ViTT/16,Mixer-S/32,ConvNeXt-Femto(F)、Swin-F,这些模型具有
5-20M个参数
丢失率选择从0.1、0.2、0.3的随机失活
和0.3、0.5、0.7的s.d.
中选取。
设置。为了评估早期随机失活,我们选择在ImageNet-1K的欠拟合状态下的小型模型,包括ViTT/16(Touvron等人,2020),Mixer-S/32(Tolstikhin等人,2021),ConvNeXt-Femto(F)(Wightman,2019)和一个大小与ConvNeXt-F相似的Swin-F(Liu等人,2021)。这些模型具有
5-20M个参数
,在ImageNet-1K中相对较小。我们对随机失活和随机深度(s.d.)进行分别评估,即每个实验中只使用其中一种。我们使用ConvNeXt(Liu等人,2022)的训练配方作为基础配方。丢失率选择从0.1、0.2、0.3的随机失活
和0.3、0.5、0.7的s.d.
中选取。每个结果都平均了3个种子,并且平均标准偏差为0.142%。使用随机失活不会明显影响训练时间。有关实验设置的更多详细信息,请参见附录A。
结果。表1(顶部)呈现了结果。早期随机失活始终提高了测试准确率,同时降低了训练损失,表明在早期阶段使用随机失活有助于模型更好地拟合数据。将结果与使用0.1的标准随机失活和s.d.进行比较,它们都对模型产生了负面影响。 此外,我们将训练轮数加倍并减少mixup(张等人,2018)和cutmix(Yun等人,2019)的强度,以得出这些小型模型的改进配方。表1(底部)显示了结果。基线现在实现了大幅提高的准确率,有时甚至超过了以前的文献结果。尽管如此,早期随机失活仍然提供了进一步的准确性提升。
- 表一
分析
- ViT-T 和早期 dropout 以及改进的配方。
- 线性减少/增加策略、课程学习策略、退火策略。
- 表二a:退火和早期dropout表现最佳
- 表二b:在有早期dropout时,三种策略都很高。表明早期 dropout 不依赖于一种特定的调度
- 表二c:早期dropout对前两个模型的性能有所改善,但对较大的ViT-B无效。
- 早期dropout阶段,训练损失更高,测试准确率更低。早期dropout阶段结束,训练损失急剧降低,测试准确率提高。
- 早期epoch选择:早期dropout和早期标准化的有利时期范围非常广泛
- 早期dropout比率选择:早期dropout和早期标准化对dropout率的灵敏度比标准dropout低
- 学习率warmup:无论是否使用lr warmup,早期dropout始终可以提高准确性。
我们进行了消融实验以了解早期 dropout 的特性。我们的默认设置是 ViT-T 和早期 dropout 以及改进的配方。
调度策略。在以前的研究中,探索了不同的 dropout 或相关正则化程序的调度策略。这些策略通常涉及逐渐增加(Morerio 等,2017;Zoph 等,2018;Tan&Le,2021)或逐渐减少(Rennie 等,2014)整个或几乎整个训练过程中的 dropout 强度。然而,这些策略的目的是减少过拟合而不是欠拟合。
为了比较,我们还评估了线性减少/增加策略,其中 dropout 率从 p / 0 开始,到 0 / p 结束,以及先前提出的课程表(Morerio 等,2017)和退火(Rennie 等,2014)策略。对于所有策略,我们进行了超参数扫描以获得率 p。结果呈现在表2a中。所有策略产生的结果都比没有 dropout 更糟或类似,这表明现有的 dropout 调度策略不适用于欠拟合。
早期 dropout 调度。仍有一个问题是如何在早期阶段调度 dropout 率。我们的实验默认使用从初始值 p 线性减少到 0 的方案。一个更简单的选择是使用一个固定值。还可以考虑使用常用于学习率调度的余弦下降时间表。对于每个选项,最佳的 p 值可能不同,我们比较每个选项的最佳结果。表2b呈现了结果。所有三个选项表现出相似的结果,并且可以作为有效的选择。这表明早期 dropout 不依赖于一种特定的调度表以工作。有关常数早期 dropout 的其他结果可以在附录 C 中找到。
- 表二
模型大小。根据我们在第3节中的分析,早期dropout有助于模型更好地适应训练数据。这对于像ViT-T这样的欠拟合模型特别有用。我们使用ViT-T,ViT-S和ViT-B的不断增加的大小,并在表2c中研究了趋势。基线列代表每个模型的最佳标准退出率(0.0 / 0.0 / 0.1)所获得的结果。我们的结果显示,早期dropout对前两个模型的性能有所改善,但对较大的ViT-B无效。
训练曲线。我们在图9中绘制了使用早期dropout和无丢弃基线的ViT-T的训练损失和测试准确率曲线。早期dropout设置为50个时期,并使用恒定的丢弃率。在早期dropout阶段,使用dropout的模型的训练损失更高,测试准确率更低。有趣的是,一旦早期dropout阶段结束,训练损失急剧降低,测试准确率提高并超过了基线。
- 图九
Dropout epochs. 我们研究了早期dropout的时期对模型训练的影响。默认情况下,我们使用50个时期进行早期dropout。我们改变早期dropout时期的数量并观察其对最终准确性的影响。结果显示在图10中,基于3个不同的随机种子的平均结果。结果表明,早期dropout和早期标准化的有利时期范围非常广泛,从5个时期到300个时期不等,总共有600个时期。这种鲁棒性使得早期dropout在实际情况中容易应用。
Drop rates. Dropout rate是另一个超参数,类似于标准dropout。图11展示了早期dropout和早期标准化中dropout rate和标准差率的影响。结果表明,早期标准化的表现对dropout rate不那么敏感,但早期dropout的表现高度依赖于它。这可能与dropout层在ViT中插入得更密集有关。此外,标准差率表示所有层中的最大率,但dropout率表示所有层的相同率,因此dropout率的相同增加会产生更强的正则化效果。尽管如此,早期dropout和早期标准化对dropout率的灵敏度比标准dropout低,其中dropout rate为0.1会显着降低准确性(表1)。
学习率warmup. 学习率(lr)warmup(He等人,2016;Goyal等人,2017)是一种技术,也特别针对训练的早期阶段,其中使用较小的lr。我们对lr warmup对早期dropout的影响很感兴趣。我们的默认方案使用50个时期的线性lr warmup。我们将lr warmup长度从0到100进行变化,并在图12中比较使用和不使用早期dropout的准确性。我们的结果表明,无论是否使用lr warmup,早期dropout始终可以提高准确性。
- 图十
- 图十一
- 图十二
晚期随机失活(Late Dropout)
- 前50个epochs不使用随机深度,而其余训练期间使用恒定的随机深度,设置为标准随机深度的最佳drop rate
- 晚期随机深度带来了更大的改进
设置。为了评估晚期随机失活(late dropout),我们选择
更大的模型ViT-B和Mixer-B
,它们分别具有5900万和8600万个参数,并使用基本训练配方。这些模型被认为处于过拟合的状态,因为它们已经使用了标准的随机深度。我们评估晚期随机失活是因为我们发现使用标准随机深度的基准结果比使用标准dropout更好。在这个实验中,我们将晚期随机深度的drop rate直接设置为标准随机深度的最佳drop rate。前50个epochs不使用随机深度,而其余训练期间使用恒定的随机深度。
结果。在表3中展示的结果中,晚期随机深度提高了测试准确性,比标准随机深度更好。这种改进是在保持(ViT-B)或增加(Mixer-B)训练损失的情况下实现的,证明晚期随机深度有效地减少了过拟合。以前的工作(Morerio等,2017;Tan&Le,2021;Zoph等,2018)使用逐渐增强的dropout来对抗过拟合。在ViT-B的情况下,我们还将我们的结果与线性增加和课程表(Morerio等,2017)进行了比较,使用了超参数扫描中的最佳p,发现晚期随机深度带来了更大的改进。附录B展示了更详细的晚期随机深度分析。
- 表三
六、下游任务
我们通过在下游任务上微调预训练的ImageNet-1K模型来评估学习到的表示,我们的目的是在微调期间不使用早期或晚期dropout。此外,我们在附录D中直接评估鲁棒性基准。
在COCO上进行对象检测和分割。我们使用Mask-RCNN (He等,2017)在COCO数据集上微调预训练的Swin-F和ConvNeXt-F骨干网络。我们在MMDetection (Chen等,2019)中使用1×微调设置。结果如表4所示。使用早期dropout或s.d.预训练的模型在COCO上微调时始终保持优越性。
在ADE20K上进行语义分割。我们使用UperNet (Xiao等,2018)在ADE-20K语义分割任务上微调预训练模型,进行80k次迭代,遵循MMSegmentation (MMSegmentation-contributors,2020)。如表5所示,使用我们的方法预训练的模型优于基线模型。
分类任务。我们还在几个下游分类数据集上进行了评估:CIFAR-100、Flowers、Pets、STL-10和Food-101。我们的微调过程基于MoCo v3和SLIP的超参数设置。表6展示了结果。我们的方法在大多数分类任务上显示出了改进的泛化性能。
- 表四
- 表五
- 表六
七、相关工作
神经网络正则化方法。权重衰减或L2正则化是训练神经网络最常用的正则化方法之一。与我们的发现相关的是,Krizhevsky等人观察到使用权重衰减可以降低AlexNet的训练损失。L1正则化可以促进稀疏性和特征选择。标签平滑可以用软概率值替换输出的独热标签。数据增强也可以作为一种正则化方法。特别是那些随机删除输入部分的方法,例如“hide-and-seek”(Kumar Singh和Jae Lee,2017)、“cutout”(DeVries和Taylor,2017)和“random erasing”(Zhong等,2020)可以被看作是仅在输入层应用dropout的方法。
Dropout方法。Dropout有很多变体,旨在改进或适应它。DropConnect(Wan等,2013)随机关闭网络权重而不是神经元。变分dropout(Kingma等,2015)从贝叶斯角度自适应学习不同部分的dropout率。Spatial dropout(Tompson等,2015)在ConvNet中删除整个特征映射,DropBlock(Ghiasi等,2018)在ConvNet特征映射中删除连续的区域。其他有价值的贡献包括分析dropout属性(Baldi&Sadowski,2013;Ba&Frey,2013;Wang&Manning,2013),应用dropout进行网络压缩(Molchanov等,2017;Gomez等,2019)和表示不确定性(Gal&Ghahramani,2016;Gal等,2017)。我们建议参考Labach等人(2019)的综述,以获得全面的概述。
Scheduled dropout。神经网络通常在训练后期表现出过拟合的行为,这就是为什么经常使用早停来减少过拟合的原因。Curriculum dropout(Morerio等,2017)建议随着训练的进行逐步增加dropout率,以更具体地解决后期过拟合问题。NASNet(Zoph等,2018)和EfficientNet-V2(Tan&Le,2021)在神经架构搜索期间也增加了dropout / drop-path(Larsson等,2016)的强度。另一方面,退火dropout(Rennie等,2014)会逐渐降低dropout率直至训练结束。我们的方法与以往的研究不同,因为我们研究了dropout在解决欠拟合问题方面的作用,而不是在正则化过拟合方面。
八、结论
Dropout 凭借其在解决过拟合方面的优秀表现已经熠熠生辉了10年。在本文中,我们揭示了它在辅助随机优化和减少欠拟合方面的潜力。我们的关键观点是,dropout 对抗了 SGD 带来的数据随机性,并在早期训练中减少了梯度方差。这也导致了更符合整个数据集梯度的随机小批量梯度。基于这个想法,我们提出了早期 dropout 来帮助欠拟合模型更好地拟合,并提出了后期 dropout 来提高过拟合模型的泛化性能。我们希望我们的发现能够促进更多关于 dropout 的研究,并设计用于基于梯度的学习的正则化器,同时也帮助处理越来越大的数据集的模型训练。 致谢。我们感谢 Yubei Chen、Hexiang Hu、Zhiyuan Li、Saining Xie 和 Ishan Misra 对本研究的有价值的讨论和反馈。