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

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

3天内不再提示

正则化方法DropKey: 两行代码高效缓解视觉Transformer过拟合

智能感知与物联网技术研究所 来源:智能感知与物联网技术研 2023-04-17 11:35 次阅读

美图影像研究院(MT Lab)与中国科学院大学突破性地提出正则化方法 DropKey,用于缓解 Vision Transformer 中的过拟合问题。该方法通过在注意力计算阶段随机 drop 部分 Key 以鼓励网络捕获目标对象的全局信息,从而避免了由过于聚焦局部信息所引发的模型偏置问题,继而提升了基于 Transformer 的视觉类算法的精度。该论文已被计算机视觉三大顶会之一 CVPR 2023 接收。

近期,基于 Transformer 的算法被广泛应用于计算机视觉的各类任务中,但该类算法在训练数据量较小时容易产生过拟合问题。现有 Vision Transformer 通常直接引入 CNN 中常用的 Dropout 算法作为正则化器,其在注意力权重图上进行随机 Drop 并为不同深度的注意力层设置统一的 drop 概率。尽管 Dropout 十分简单,但这种 drop 方式主要面临三个主要问题。

首先,在 softmax 归一化后进行随机 Drop 会打破注意力权重的概率分布并且无法对权重峰值进行惩罚,从而导致模型仍会过拟合于局部特定信息(如图 1)。其次,网络深层中较大的 Drop 概率会导致高层语义信息缺失,而浅层中较小的 drop 概率会导致过拟合于底层细节特征,因此恒定的 drop 概率会导致训练过程的不稳定。最后,CNN 中常用的结构化 drop 方式在 Vision Transformer 上的有效性并不明朗。

4924e78c-dc61-11ed-bfe3-dac502259ad0.png

▲图1. 不同正则化器对注意力分布图的影响 美图影像研究院(MT Lab)与中国科学院大学在 CVPR 2023 上发表了一篇文章,提出一种新颖且即插即用的正则化器 DropKey,该正则化器可以有效缓解 Vision Transformer 中的过拟合问题。

496ee6fc-dc61-11ed-bfe3-dac502259ad0.png

论文链接:https://arxiv.org/abs/2208.02646

文章中对以下三个核心问题进行了研究:

第一,在注意力层应该对什么信息执行 Drop 操作?与直接 Drop 注意力权重不同,该方法在计算注意力矩阵之前执行 Drop 操作,并将 Key 作为基础 Drop 单元。该方法在理论上验证了正则化器 DropKey 可以对高注意力区域进行惩罚并将注意力权值分配到其它感兴趣的区域,从而增强模型对全局信息的捕获能力。

第二,如何设置 Drop 概率?与所有层共享同一个 Drop 概率相比,该论文提出了一种新颖的 Drop 概率设置方法,即随着自注意力层的加深而逐渐衰减 Drop 概率值。

第三,是否需要像 CNN 一样进行结构化 Drop 操作?该方法尝试了基于块窗口和交叉窗口的结构化 Drop 方式,并发现这种技巧对于 Vision Transformer 来说并不重要。

背景

Vision Transformer(ViT)是近期计算机视觉模型中的新范式,它被广泛地应用于图像识别、图像分割、人体关键点检测和人物互相检测等任务中。具体而言,ViT 将图片分割为固定数量的图像块,将每个图像块都视作一个基本单位,同时引入了多头自注意力机制来提取包含相互关系的特征信息。但现有 ViT 类方法在小数据集上往往会出现过拟合问题,即仅使用目标局部特征来完成指定任务。

为了克服以上问题,该论文提出了一种即插即拔、仅需要两行代码便可实现的正则化器 DropKey 用以缓解 ViT 类方法的过拟合问题。不同于已有的 Dropout,DropKey 将 Key 设置为 drop 对象并从理论和实验上验证了该改变可以对高注意力值部分进行惩罚,同时鼓励模型更多关注与目标有关的其他图像块,有助于捕捉全局鲁棒特征。

此外,该论文还提出为不断加深的注意力层设置递减的 drop 概率,这可以避免模型过度拟合低级特征并同时保证有充足的高级特征以进行稳定的训练。此外,该论文还通过实验证明,结构化 drop 方法对 ViT 来说不是必要的。

DropKey

为了探究引发过拟合问题的本质原因,该研究首先将注意力机制形式化为一个简单的优化目标并对其拉格朗日展开形式进行分析。发现当模型在不断地优化时,当前迭代中注意力占比越大的图像块,在下次迭代过程中会倾向于被分配更大的注意力权值。为缓解这一问题,DropKey 通过随机 drop 部分 Key 的方式来隐式地为每个注意力块分配一个自适应算子以约束注意力分布从而使其变得更加平滑。

值得注意的是,相对于其他根据特定任务而设计的正则化器,DropKey 无需任何手工设计。由于在训练阶段对 Key 执行随机 drop,这将导致训练和测试阶段的输出期望不一致,因此该方法还提出使用蒙特卡洛方法或微调技巧以对齐输出期望。此外,该方法的实现仅需两行代码,具体如图 2 所示。

49ade3c0-dc61-11ed-bfe3-dac502259ad0.png

▲图2.DropKey实现方法

一般而言,ViT 会叠加多个注意力层以逐步学习高维特征。通常,较浅层会提取低维视觉特征,而深层则旨在提取建模空间上粗糙但复杂的信息。因此,该研究尝试为深层设置较小的 drop 概率以避免丢失目标对象的重要信息。具体而言,DropKey 并不在每一层以固定的概率执行随机 drop,而是随着层数的不断加深而逐渐降低 drop 的概率。此外,该研究还发现这种方法不仅适用于 DropKey,还可以显著提高 Dropout 的性能。

虽然在 CNN 中对结构化 drop 方法已有较为详细的研究,但还没有研究该 drop 方式对 ViT 的性能影响。为探究该策略会不会进一步提升性能,该论文实现了 DropKey 的两种结构化形式,即 DropKey-Block 和 DropKey-Cross。

其中,DropKey- Block 通过对以种子点为中心的正方形窗口内连续区域进行 drop,DropKey-Cross 则通过对以种子点为中心的十字形连续区域进行 drop,如图 3 所示。然而,该研究发现结构化 drop 方法并不会带来性能提升。

49d42f6c-dc61-11ed-bfe3-dac502259ad0.png

▲图3. DropKey的结构化实现方法

实验结果

4a065910-dc61-11ed-bfe3-dac502259ad0.png

▲图4. DropKey和Dropout在CIFAR10/100上的性能比较

4a3d1cac-dc61-11ed-bfe3-dac502259ad0.png

▲图5. DropKey和Dropout在CIFAR100上的注意力图可视化效果比较

4a606ee6-dc61-11ed-bfe3-dac502259ad0.png

▲图6. 不同drop概率设置策略的性能比较

4a8270cc-dc61-11ed-bfe3-dac502259ad0.png

▲图7. 不同输出期望对齐策略的性能比较

4a99120a-dc61-11ed-bfe3-dac502259ad0.png

▲图8. 不同结构化drop方法的性能比较

4abefa4c-dc61-11ed-bfe3-dac502259ad0.png

▲图9. DropKey和Dropout在ImageNet上的性能比较

4ae746aa-dc61-11ed-bfe3-dac502259ad0.png

▲图10.DropKey和Dropout在COCO上的性能比较

4afd7e8e-dc61-11ed-bfe3-dac502259ad0.png

▲图11.DropKey和Dropout在HICO-DET上的性能比较

4b118956-dc61-11ed-bfe3-dac502259ad0.png

▲图12.DropKey和Dropout在HICO-DET上的注意力图可视化比较

总结

该论文创新性地提出了一种用于 ViT 的正则化器,用于缓解 ViT 的过拟合问题。与已有的正则化器相比,该方法可以通过简单地将 Key 置为 drop 对象,从而为注意力层提供平滑的注意力分布。另外,该论文还提出了一种新颖的 drop 概率设置策略,成功地在有效缓解过拟合的同时稳定训练过程。最后,该论文还探索了结构化 drop 方式对模型的性能影响。

审核编辑 :李倩

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

    关注

    23

    文章

    4610

    浏览量

    92859
  • 代码
    +关注

    关注

    30

    文章

    4786

    浏览量

    68556
  • 计算机视觉
    +关注

    关注

    8

    文章

    1698

    浏览量

    45987

原文标题:CVPR 2023 | 正则化方法DropKey: 两行代码高效缓解视觉Transformer过拟合

文章出处:【微信号:tyutcsplab,微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    神经网络中避免拟合5种方法介绍

    丢弃法是一种避免神经网络拟合正则技术。像L1和L2这样的正则技术通过修改代价函数来减少
    发表于 02-04 11:30 2.5w次阅读
    神经网络中避免<b class='flag-5'>过</b><b class='flag-5'>拟合</b>5种<b class='flag-5'>方法</b>介绍

    深层神经网络模型的训练:拟合优化

    为了训练出高效可用的深层神经网络模型,在训练时必须要避免拟合的现象。拟合现象的优化方法通常有
    的头像 发表于 12-02 14:17 2745次阅读
    深层神经网络模型的训练:<b class='flag-5'>过</b><b class='flag-5'>拟合</b>优化

    LCD1602显示两行黑色方框

    为什么我的LCD显示两行黑色方框,单片机是STC89C52,液晶显示1602,程序显示刷成功,麻烦大家看看什么问题。
    发表于 02-20 17:00

    lcd1602显示两行怎么写程序呀

    `lcd1602显示两行怎么写程序呀,感觉非常乱`
    发表于 04-27 22:36

    ucgui listbox显示不全 只有两行

    本人ucgui新人,求助大神listbox问题如图,使用ucgui listbox,进入时显示不全,只有两行,只有慢慢把焦点往下设置,才能一个一个显示出来,求助是什么原因,和如何处理啊?
    发表于 04-07 04:36

    拟合的概念和用几种用于解决拟合问题的正则方法

    由于添加了这个正则项,各权值被减小了,换句话说,就是神经网络的复杂度降低了,结合“网络有多复杂,拟合就有多容易”的思想,从理论上来说,这样做等于直接防止
    的头像 发表于 04-27 15:23 1.5w次阅读
    <b class='flag-5'>过</b><b class='flag-5'>拟合</b>的概念和用几种用于解决<b class='flag-5'>过</b><b class='flag-5'>拟合</b>问题的<b class='flag-5'>正则</b><b class='flag-5'>化</b><b class='flag-5'>方法</b>

    【连载】深度学习笔记4:深度神经网络的正则

    今天要写的是关于机器学习和深度学习中的一项关键技术:正则。相信在机器学习领域摸爬滚打多年的你一定知道正则是防止模型
    的头像 发表于 08-14 11:58 3345次阅读

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

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

    详解机器学习和深度学习常见的正则

    说到正则大家应该都不陌生,这个在机器学习和深度学习中都是非常常见的,常用的正则有L1正则
    的头像 发表于 01-29 17:52 2318次阅读
    详解机器学习和深度学习常见的<b class='flag-5'>正则</b><b class='flag-5'>化</b>

    权值衰减和L2正则傻傻分不清楚?本文来教会你如何分清

    神经网络是伟大的函数逼近器和特征提取器,但有时它们的权值变得过于特定,导致拟合。这就是正则概念出现的地方,我们将讨论
    的头像 发表于 01-21 01:54 915次阅读
    权值衰减和L2<b class='flag-5'>正则</b><b class='flag-5'>化</b>傻傻分不清楚?本文来教会你如何分清

    权值衰减和L2正则傻傻分不清楚?

    神经网络是伟大的函数逼近器和特征提取器,但有时它们的权值变得过于特定,导致拟合。这就是正则概念出现的地方,我们将讨论
    发表于 01-23 07:16 9次下载
    权值衰减和L2<b class='flag-5'>正则</b><b class='flag-5'>化</b>傻傻分不清楚?

    用于语言和视觉处理的高效 Transformer能在多种语言和视觉任务中带来优异效果

    白皮书《Transformer-LS:用于语言和视觉处理的高效 Transformer》中提出了“长-短 Transformer” (
    的头像 发表于 12-28 10:42 1569次阅读

    两行代码中的树莓派电源开关

    电子发烧友网站提供《两行代码中的树莓派电源开关.zip》资料免费下载
    发表于 12-28 09:26 0次下载
    <b class='flag-5'>两行</b><b class='flag-5'>代码</b>中的树莓派电源开关

    教你如何用两行代码搞定YOLOv8各种模型推理

    大家好,YOLOv8 框架本身提供的API函数是可以两行代码实现 YOLOv8 模型推理,这次我把这段代码封装成了一个类,只有40代码左右
    的头像 发表于 06-18 11:50 3064次阅读
    教你如何用<b class='flag-5'>两行</b><b class='flag-5'>代码</b>搞定YOLOv8各种模型推理

    深度学习模型中的拟合正则

    测试数据或新数据上表现不佳的现象。为了解决这个问题,正则(Regularization)技术应运而生,成为深度学习中不可或缺的一部分。本文将从拟合的原因、表现、
    的头像 发表于 07-09 15:56 942次阅读