0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

改进Hinton的Dropout:可以用来减轻欠拟合了

深度学习自然语言处理 来源:机器之心 2023-03-13 10:15 次阅读

深度学习三巨头之一 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 来解决欠拟合问题。

af69e298-c142-11ed-bfe3-dac502259ad0.png

论文标题:

Dropout Reduces Underfitting

论文链接:

https://arxiv.org/abs/2303.01500

他们首先通过对梯度范数的有趣观察来研究 dropout 的训练动态,然后得出了一个关键的实证发现:在训练初始阶段,dropout 降低小批量的梯度方差,并允许模型在更一致的方向上更新。这些方向也更与整个数据集的梯度方向保持一致,具体如下图 1 所示。

因此,模型可以更有效地优化整个训练集的训练损失,而不会受到个别小批量的影响。换句话说,dropout 抵消了随机梯度下降(SGD)并防止训练早期采样小批量的随机性所造成的过度正则化。

af825184-c142-11ed-bfe3-dac502259ad0.png

基于这一发现,研究者提出了 early dropout(即 dropout 仅在训练早期使用),来帮助欠拟合模型更好地拟合。与无 dropout 和标准 dropout 相比,early dropout 降低了最终的训练损失。相反,对于已经使用标准 dropout 的模型,研究者建议在早期训练 epoch 阶段移除 dropout 以降低过拟合。他们将这一方法称为 late dropout,并证明它可以提升大模型的泛化准确率。下图 2 比较了标准 dropout、early 和 late dropout。

afd0d444-c142-11ed-bfe3-dac502259ad0.png

研究者在图像分类和下游任务上使用不同的模型来评估 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 模型实际上比基线模型移动了更大的距离,这与该研究最初基于梯度范数的预期相反。

aff07286-c142-11ed-bfe3-dac502259ad0.png

梯度方向方差。该研究首先假设 dropout 模型在小批量中产生更一致的梯度方向。下图 7 所示的方差与假设基本一致。直到一定的迭代次数(大约 1000 次)以后,dropout 模型和基线模型的梯度方差都在一个较低的水平波动。

b03f45d2-c142-11ed-bfe3-dac502259ad0.png

梯度方向误差。然而,正确的梯度方向应该是什么?为了拟合训练数据,基本目标是最小化整个训练集的损失,而不仅仅是任何一个小批量的损失。该研究在整个训练集上计算给定模型的梯度,其中 dropout 设置为推理模式以捕获完整模型的梯度。梯度方向误差如下图 8 所示。

b062345c-c142-11ed-bfe3-dac502259ad0.png

基于上述分析,该研究发现尽早使用 dropout 可以潜在地提高模型对训练数据的拟合能力。而是否需要更好地拟合训练数据取决于模型是处于欠拟合还是过拟合状态,这可能很难精确定义。该研究使用如下标准:

1. 如果一个模型在标准 dropout 下泛化得更好,则认为它处于过拟合状态;

2. 如果模型在没有 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(底部)的结果表明,基线准确率显著提升,有时甚至大大超越了以往工作的结果。

b0b8aea4-c142-11ed-bfe3-dac502259ad0.png

为了评估 late dropout,研究者选择了更大的模型,即分别具有 59M 和 86M 参数的 ViT-B 和 Mixer-B,使用了基础的训练方法。

结果如下表 3 所示,与标准 s.d. 相比,late s.d. 提升了测试准确率。这一提升是在保持 ViT-B 或增加 Mixer-B 训练损失的同时实现的,表明 late s.d. 有效降低了过拟合。

b0e8ad98-c142-11ed-bfe3-dac502259ad0.png

最后,研究者在下游任务上对预训练 ImageNet-1K 模型进行微调,并对它们进行评估。下游任务包括 COCO 目标检测与分割、ADE20K 语义分割以及在 C-100 等五个数据集上的下游分类。目标是在微调阶段不使用 early dropout 或 late dropout 的情况下评估学得的表示。

结果如下表 4、5 和 6 所示,首先当在 COCO 上进行微调时,使用 early dropout 或 s.d. 进行预训练的模型始终保持优势。

b157f59a-c142-11ed-bfe3-dac502259ad0.png

其次对于 ADE20K 语义分割任务而言,使用本文方法进行预训练的模型优于基准模型。

b18abc3c-c142-11ed-bfe3-dac502259ad0.png

最后是下游分类任务,本文方法在大多数分类任务上提升了泛化性能。

b194344c-c142-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3161

    浏览量

    48707
  • 数据集
    +关注

    关注

    4

    文章

    1205

    浏览量

    24639
  • 深度学习
    +关注

    关注

    73

    文章

    5492

    浏览量

    120964

原文标题:改进Hinton的Dropout:可以用来减轻欠拟合了

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    压保护电路的少许改进方案

    仔细分析一款简单的压保护电路发现它并不能实现压保护功能,需要进行改进改进后的电路比原电路使用的l1个元件数量还要少。
    发表于 01-11 10:38 4181次阅读
    <b class='flag-5'>欠</b>压保护电路的少许<b class='flag-5'>改进</b>方案

    机器学习基础知识 包括评估问题,理解过拟合拟合以及解决问题的技巧

    本章涵盖了以下主题: · 分类和回归之外的其他类型的问题; · 评估问题,理解过拟合拟合,以及解决这些问题的技巧; · 为深度学习准备数据。 请记住,在本章中讨论的大多数技术都是机器学习和深度
    发表于 07-12 09:28 916次阅读
    机器学习基础知识 包括评估问题,理解过<b class='flag-5'>拟合</b>、<b class='flag-5'>欠</b><b class='flag-5'>拟合</b>以及解决问题的技巧

    FPGA可以用来做数字电源吗?

    请问: FPGA可以用来做数字电源吗?有参考设计案例吗? FPGA和DSP做数字电源的优缺点是什么?
    发表于 01-08 22:24

    拟合拟合以及模型的判断

    python-学习曲线,判断过拟合拟合
    发表于 04-24 10:23

    模型的过拟合拟合总体解决方案

    15 模型的过拟合 & 拟合 & 总体解决方案
    发表于 05-15 07:49

    深度学习中过拟合/拟合的问题及解决方案

    的数据可以对未来的数据进行推测与模拟,因此都是使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型去拟合未来的数据。 在我们机器学习和深度学习的训练过程中,经常会出现过拟合
    发表于 01-28 06:57

    VHDL语言是什么可以用来干嘛?

    VHDL语言是什么可以用来干嘛
    发表于 10-18 07:34

    MP3不仅是用来听的,也可以用来玩的

    MP3不仅是用来听的,也可以用来玩的 以VX系列MP3为例,将固件及其升级所带来的好处做一些案例性的介绍,可以将MP3与手机的使用做
    发表于 02-02 11:42 641次阅读

    基于动态dropout改进堆叠自动编码机方法

    针对堆叠自动编码机( SA)容易产生过拟合而降低垃圾邮件分类精度的问题,提出了一种基于动态dropout改进堆叠自动编码机方法。首先分析垃圾邮件分类问题的特殊性,将
    发表于 12-26 14:37 0次下载
    基于动态<b class='flag-5'>dropout</b>的<b class='flag-5'>改进</b>堆叠自动编码机方法

    Python编程一般可以用来做什么

    很多朋友可能会问,为什么要学Python, 就算学会了Python 可以用来干什么呢? 一般都会首先想到爬虫.爬虫不是说的那种虫子哦, 爬虫其实就是 类似于百度蜘蛛,谷歌蜘蛛一样的. 会自动的爬取网页上的内容。
    发表于 07-05 14:51 5980次阅读

    拟合和过拟合是什么?解决方法总结

    拟合是指模型在训练集上表现很好,到了验证和测试阶段就大不如意,即模型的泛化能力很差。
    的头像 发表于 01-29 17:48 3.1w次阅读
    <b class='flag-5'>欠</b><b class='flag-5'>拟合</b>和过<b class='flag-5'>拟合</b>是什么?解决方法总结

    深度学习中过拟合拟合问题及解决方案

    如何判断过拟合呢?我们在训练过程中会定义训练误差,验证集误差,测试集误差(泛化误差)。训练误差总是减少的,而泛化误差一开始会减少,但到一定程序后不减反而增加,这时候便出现拟合的现象。
    发表于 01-22 07:44 6次下载
    深度学习中过<b class='flag-5'>拟合</b>、<b class='flag-5'>欠</b><b class='flag-5'>拟合</b>问题及解决方案

    cbb电容可以用来阻容降压吗

    阻容降压电路也是非常常见的一种电路,它特别简单,而且成本极低,性价比特别高,所以平时的使用量还是特别大的,通常用于小功率的负载供电,比如电表、温控器、LED灯等,cbb电容可以用来阻容降压吗?本文
    的头像 发表于 12-31 11:09 1366次阅读
    cbb电容<b class='flag-5'>可以用来</b>阻容降压吗

    mos管可以用来转电源极性吗?

    mos管可以用来转电源极性吗? MOS管是一个基本的电子元件,由于其高频特性、低开关电阻和低噪声水平而得到了广泛的应用。它也被称为“金属氧化物半导体场效应晶体管”(MOSFET)。 它是一种晶体管
    的头像 发表于 09-17 09:57 706次阅读

    地球上有多少硅原子可以用来生成晶体管呢?

    硅是常见的元素,那么地球上有多少硅原子可以用来生成晶体管
    的头像 发表于 12-22 10:51 1452次阅读
    地球上有多少硅原子<b class='flag-5'>可以用来</b>生成晶体管呢?