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)并防止训练早期采样小批量的随机性所造成的过度正则化。
基于这一发现,钻研者提出了 early dropout(即 dropout 仅在训练早期运用),来帮助欠拟合模型更好地拟合。与无 dropout 和尺度 dropout 相比,early dropout 提高了最终的训练丧失。相反,对于已经运用尺度 dropout 的模型,钻研者建议在早期训练 epoch 阶段移除 dropout 以提高过拟合。他们将这一方式称为 late dropout,并证明它可以提拔大模型的泛化准确率。下图 2 比较了尺度 dropout、early 和 late 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 模型在小批量中产生更一致的梯度方向。下图 7 所示的方差与假设基本一致。直到一定的迭代次数(大约 1000 次)以后,dropout 模型和基线模型的梯度方差都在一个较低的水平波动。
梯度方向误差。然而,正确的梯度方向应该是什么?为了拟合训练数据,基本目标是最小化整个训练集的丧失,而不仅仅是任何一个小批量的丧失。该钻研在整个训练集上计算给定模型的梯度,其中 dropout 设置为推理模式以捕获完整模型的梯度。梯度方向误差以下图 8 所示。
基于上述分析,该钻研发现尽早运用 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(底部)的结果表明,基线准确率显著提拔,有时甚至大大超越了以往工作的结果。
为了评价 late dropout,钻研者选择了更大的模型,即分别具有 59M 和 86M 参数的 ViT-B 和 Mixer-B,运用了基础的训练方式。
结果以下表 3 所示,与尺度 s.d. 相比,late s.d. 提拔了测试准确率。这一提拔是在保持 ViT-B 或增加 Mixer-B 训练丧失的同时实现的,表明 late s.d. 有效提高了过拟合。
最后,钻研者在下游恣意上对预训练 ImageNet-1K 模型进行微调,并对它们进行评价。下游恣意包括 COCO 目标检测与分割、ADE20K 语义分割以及在 C-100 等五个数据集上的下游分类。目标是在微调阶段不运用 early dropout 或 late dropout 的情况下评价学得的表示。
结果以下表 4、5 和 6 所示,首先当在 COCO 上进行微调时,运用 early dropout 或 s.d. 进行预训练的模型始终保持优势。
其次对于 ADE20K 语义分割恣意而言,运用本文方式进行预训练的模型优于基准模型。
最后是下游分类恣意,本文方式在大多数分类恣意上提拔了泛化性能。
更多技术细节及实验结果请参阅原论文。
原创文章,作者:新闻助手,如若转载,请注明出处:https://www.iaiol.com/news/21161