改进Hinton的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 来解决欠拟合问题。
他们首先通过对梯度范数的有趣观察来研究 dropout 的训练动态,然后得出了一个关键的实证发现:在训练初始阶段,dropout 降低小批量的梯度方差,并允许模型在更一致的方向上更新。这些方向也更与整个数据集的梯度方向保持一致,具体如下图 1 所示。
因此,模型可以更有效地优化整个训练集的训练损失,而不会受到个别小批量的影响。换句话说,dropout 抵消了随机梯度下降(SGD)并防止训练早期采样小批量的随机性所造成的过度正则化。
分析与验证
在提出 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 模型实际上比基线模型移动了更大的距离,这与该研究最初基于梯度范数的预期相反。
模型所处的状态不仅取决于模型架构,还取决于所使用的数据集和其他训练参数。
然后,该研究提出了 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(底部)的结果表明,基线准确率显著提升,有时甚至大大超越了以往工作的结果。
结果如下表 3 所示,与标准 s.d. 相比,late s.d. 提升了测试准确率。这一提升是在保持 ViT-B 或增加 Mixer-B 训练损失的同时实现的,表明 late s.d. 有效降低了过拟合。
结果如下表 4、5 和 6 所示,首先当在 COCO 上进行微调时,使用 early dropout 或 s.d. 进行预训练的模型始终保持优势。
ChatGPT及大模型技术大会
机器之心将于3月21日在北京举办「ChatGPT 及大模型技术大会」,为圈内人士提供一个专业、严肃的交流平台,围绕研究、开发、落地应用三个角度,探讨大模型技术以及中国版 ChatGPT 的未来。 届时,机器之心将邀请大模型领域的知名学者、业界顶级专家担任嘉宾,通过 主题演讲、圆桌讨论、QA、现场产品体验等多种形式, 与现场观众讨论大模型及中国版 ChatGPT 等相关话题。 点击 阅读原文 ,立即报名。
深度学习三巨头之一 Geoffrey Hinton 在 2012 年提出的 dropout 主要用来解决过拟合问题,但近日的一项工作表明,dropout 能做的事情不止于此。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 来解决欠拟合问题。
他们首先通过对梯度范数的有趣观察来研究 dropout 的训练动态,然后得出了一个关键的实证发现:在训练初始阶段,dropout 降低小批量的梯度方差,并允许模型在更一致的方向上更新。这些方向也更与整个数据集的梯度方向保持一致,具体如下图 1 所示。
因此,模型可以更有效地优化整个训练集的训练损失,而不会受到个别小批量的影响。换句话说,dropout 抵消了随机梯度下降(SGD)并防止训练早期采样小批量的随机性所造成的过度正则化。
分析与验证
在提出 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 的情况下表现更好,则认为它处于欠拟合状态。
模型所处的状态不仅取决于模型架构,还取决于所使用的数据集和其他训练参数。
然后,该研究提出了 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(底部)的结果表明,基线准确率显著提升,有时甚至大大超越了以往工作的结果。
结果如下表 3 所示,与标准 s.d. 相比,late s.d. 提升了测试准确率。这一提升是在保持 ViT-B 或增加 Mixer-B 训练损失的同时实现的,表明 late s.d. 有效降低了过拟合。
结果如下表 4、5 和 6 所示,首先当在 COCO 上进行微调时,使用 early dropout 或 s.d. 进行预训练的模型始终保持优势。
ChatGPT及大模型技术大会
机器之心将于3月21日在北京举办「ChatGPT 及大模型技术大会」,为圈内人士提供一个专业、严肃的交流平台,围绕研究、开发、落地应用三个角度,探讨大模型技术以及中国版 ChatGPT 的未来。 届时,机器之心将邀请大模型领域的知名学者、业界顶级专家担任嘉宾,通过 主题演讲、圆桌讨论、QA、现场产品体验等多种形式, 与现场观众讨论大模型及中国版 ChatGPT 等相关话题。 点击 阅读原文 ,立即报名。