0

0

CVPR 2023|美图&国科大联合提出DropKey正则化方法:用两行代码高效避免视觉Transformer过拟合问题

PHPz

PHPz

发布时间:2024-01-14 21:15:20

|

830人浏览过

|

来源于机器之心

转载


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

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

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

cvpr 2023|两行代码高效缓解视觉transformer过拟合,美图&国科大联合提出正则化方法dropkey

图 1 不同正则化器对注意力分布图的影响

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey


论文链接: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 所示。

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

图 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 方法并不会带来性能提升。

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

图 3 DropKey 的结构化实现方法

实验结果

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey

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

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey


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

图片


图 12 DropKey 和 Dropout 在 HICO-DET 上的性能比较

CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropKey


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

总结

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

相关专题

更多
页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

402

2023.08.14

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1973

2024.08.16

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

38

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

52

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

10

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.7万人学习

Django 教程
Django 教程

共28课时 | 3.1万人学习

MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号