DeiT III(Meta)论文解读

news2024/11/16 20:45:35

paper:DeiT III: Revenge of the ViT

official implementation:https://github.com/facebookresearch/deit

出发点

本研究旨在重新审视ViT的监督训练方法,并提出一种基于ResNet-50训练方法的简化版新训练策略。与现有的自动数据增强方法不同,本研究提出了一种简单的数据增强策略,并在图像分类、迁移学习和语义分割任务中进行了评估,结果表明该方法显著优于之前的完全监督训练方法。

创新点

本文基于ResNet strikes back这篇文章的训练策略,提出了三点改进,具体包括:

  1. 3-Augment:是一种简单的数据增强策略,灵感来源于自监督学习。令人惊讶的是,在ViT上,它比通常使用的automatic/learned数据增强方法例如RandAugment的效果更好。
  2. Simple Random Cropping:在大数据集例如ImageNet-21k上预训练时,它比Random Resize Cropping的效果更好。
  3. A lower resolution:训练时采用更低的分辨率减少了训练和测试阶段的分辨率差异。作者观察到对于最大的模型,它还起到了防止过拟合的正则效果。

方法介绍

Stochastic depth 是一种正则化方法,对深度网络的训练特别有用。本文在所有层中采用统一的drop rate,并根据模型大小调整。如下

LayerScale. 本文采用了LayerScale(具体介绍见CaiT(ICCV 2021,Meta)论文与代码解析-CSDN博客)。该方法本来引入是用来解决更深的ViT的收敛问题,本文的训练过程不存在收敛问题,但作者发现对于最大的模型,使用LayerScale可以获得更高的精度。原始的LayerScale根据网络的深度进行初始化,本文进行了简化,对所有的模型统一使用 \(10^{-4}\) 进行初始化。

Binary Cross entropy. 在ResNet strikes back中作者采用了BCE而不是常用的CE来训练ResNet-50,原文的结论是与CE相比,BCE在精度方面的收益有效,但当使用Mixup和Cutmix时,这种选择更方面。在ImageNet-1k上不用本文的训练策略训练更大的ViT时,BCE loss确实带来了显著的性能提升。但当在ImageNet-21k上训练时,并没有得到很明显的改进,因此在ImageNet-21k上预训练以及后续的微调还是采用CE。

3-Augment

作者受自监督学习的启发提出了一个简单的数据增强策略,它只考虑下面三种变换:

  • Grayscale:这有利于颜色不变形,并更多地关注形状。
  • Solarization:它在颜色上添加了强烈的噪声,从而对颜色强度的变化更加robust,最终更多地关注形状。
  • Gaussian blur:为了稍微改变图像中的细节。

对于每张图片,通过均匀概率从这三种变换中只选择一种,此外还包括常用的color-jitter和horizontal flip。

图2是使用这三种变换的一些图片示例

表2是对不同增强方法消融实验的结果

Simple Random Cropping(SRC)

Random Resize Cropping(RRC)作为一种常用的正则化方法来限制模型的过拟合。这种数据增强方法在ImageNet-1k上被认为是用来防止过拟合的重要方法,但这种裁剪策略在训练图片和测试图片的宽高比以及目标对象的大小方面引入了差异。由于ImageNet-21k包含更多的图片,它本文就不太容易过拟合。因此作者质疑在更大的数据集上训练时,RRC正则化的有点是否弥补了它的缺点。

Simple Random Crop(SRC)是本文提出的一种更简单的裁剪方法,它类似于AlexNet中原始的裁剪方法:resize图片使短边匹配训练分辨率,然后在每条边都使用4个像素的reflect padding,最后沿x轴随机裁剪出一个训练分辨率大小的正方形。

图3展示了RRC和SRC裁剪出的box,RRC提供了多样性以及不同大小的crop,而SRC裁剪的区域占据了原始图片的更大部分并保持了宽高比,但多样性较少,crop有更明显的重叠。当在ImageNet-1k上训练时,RRC的效果更好。

但在ImageNet-21k上训练时,过拟合的风险更小,此时RRC提供的正则化和多样性就不那么重要了。相反此时SRC提供了减少物体大小差异和宽高比的优势。更重要的是,它使crop出的图片和实际标签一致的概率更高,因为RRC是一种更激进的cropping方法很多时候实际的标签目标都不在crop出的图片中,图4是一些示例。

表5包含了在ImageNet-21k上对crop方法的消融实验结果,可以看到SRC带来的明显的性能提升。 

实验结果

表3是本文的3-Augment数据增强策略和之前方法的对比,可以看到3-Augment在各个测试集上的效果都更好。

表6展示了不同训练分辨率下模型的性能对比,可以看到模型受益于FixRes,通过在192x192或者160x160分辨率的训练和微调,在224分辨率下测试的效果比从头在224x224下训练要好。 

图1表示本文提出的训练策略要优于之前的训练策略包括DeiT。 

表7是用本文的训练策略训练原始的ViT和其它模型在ImageNet-1k上的性能对比

表8是用本文的训练策略训练原始的ViT和其它模型在ImageNet-21k上的性能对比

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1956282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++从入门到起飞之——友元内部类匿名对象对象拷贝时的编译器优化 全方位剖析!

🌈个人主页:秋风起,再归来~🔥系列专栏:C从入门到起飞 🔖克心守己,律己则安 目录 1、友元 2、内部类 3、 匿名对象 4、对象拷⻉时的编译器优化 5、完结散花 1、友元 • 友元提供…

springAOP理解及事务

AOP: springAOP是什么: AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程。 使用场景: 比如你想统计业务中每个方法的执行耗时,那我们最…

基于bert的自动对对联系统

目录 概述 演示效果 核心逻辑 使用方式 1.裁剪数据集 根据自己的需要选择 2.用couplet数据集训练模型 模型存储在model文件夹中 3.将模型转换为ONNX格式 4.打开index.html就可以在前端使用此自动对对联系统了。 本文所涉及所有资源均在传知代码平台可获取。 概述 这个生成器利用…

什么是婚恋聊天交友源码?今天大家讲解一下。源码交付,支持二开,可打包APP小程序H5。

婚恋交友APP开发前景 对于现代的年轻人来说,社恐已经是深入骨子里不可别除的,除了每天上班下班,许多人宁愿宅在家里,面对线下的相亲机构,家里长辈介绍的会都是饭度抗柜的。而这几年疫情的影响更是大大的限制了正常的社…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

7. 运行时数据区-栈

栈的分类 栈分为Java虚拟机栈还有本地方法栈: Java虚拟机栈:用于保存Java中的方法相关的内容本地方法栈:用于保存在Java中使用native 标记的用C来实现方法 由于hotspot的作者发现使用一个栈就可以保存以上两个部分的内容,所以在…

图像生成中图像质量评估指标—PSNR的详细介绍

文章目录 1. 背景介绍2. 实际应用3. 总结和讨论 1. 背景介绍 峰值信噪比(Peak Signal-to-Noise Ratio,简称PSNR)是一种广泛应用于图像和视频处理领域的客观图像质量评价指标。它主要用于衡量图像的噪声水平和图像质量,可以用来评…

HttpClient初学

介绍: HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 这里阿里云的oss依赖底层是httpclient,所以这里不再重…

用f-string+sys.stdout.write定制“自己的writer”

f-stringsys.stdout.write,在python中“随意”我的输出。 (笔记模板由python脚本于2024年07月29日 08:09:35创建,本篇笔记适合喜欢python并有一定基础的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free&am…

dotnet开发编译之争:Ahead-of-Time(AOT) vs Just-in-Time(JIT)谁才是未来最佳编译选择?

1. 前言 编译技术的选择对于现代应用程序的性能至关重要。在.Net开发平台下,选择合适的编译策略对于提升应用程序的响应速度、资源利用率以及最终用户体验有着不可忽视的影响。其中,Ahead-of-Time (AOT) 编译和 Just-in-Time (JIT) 编译是两种广泛采用的…

【编程工具使用技巧】VS如何显示行号

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《编程工具与技巧探索》 期待您的关注 目录 引言 一、VS编译器行号显示的基本步骤 1.打开VS与项目 2.进入选项设置 3.找到并…

Open3D 计算点到平面的距离

目录 一、概述 1.1原理 1.2实现步骤 1.3原理 二、代码实现 1.1关键函数 1.2完整代码 三、实现效果 3.1原始点云 3.2计算距离后赋色的点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新&#…

【更新2022】省级农业科技活动人员数测算 2009-2022无缺失

省级农业科技活动人员数测算数据在农业经济学、政策研究和农村发展规划等领域的论文研究中具有重要应用价值。首先,这些数据可用于分析省级农业科技活动的规模和结构变化,揭示不同地区在农业科技投入和产出方面的差异,为政府制定农业发展政策…

锅总浅析系统设计

如何进行系统设计?系统设计最佳实践有哪些?系统设计和软件工程有何区别?如何避免过度设计?学习书籍及软件工具推荐有哪些?前后端语言选型有哪些原则?考虑政策因素的系统设计步骤是怎样的? 带着这…

三维推:二维码生成与修改、加logo、设置有效期

进入后台,找到【二维码工具】下的【二维码在线生成】,可以看到,三维推支持网址、图片、音频、视频、文件以及模板生成二维码。 这里,我们以网址生成二维码为例来演示下,如何给二维码加logo、更改颜色等。 首先&#x…

操作系统---进程调度算法相关习题

例题1:某系统采用基于优先权的非抢占式进程调度策略,完成一次进程调度和进程切换的系统时间开销为1us。在T时刻就绪队列中有3个进程P1、P2和P3,其在就绪队列中的等待时间、需要的 CPU 时间和优先权如下表所示。 若优先权值大的进程优先获得CP…

Git基础概念一览:仓库、协议、原理、服务器搭建全解析

Git基础概念详解 一、引言 二、基础概念概览 三、安全通信与协议 四、Git 服务器搭建与操作 五、Git 工作流程与原理 六、Git 日志与操作 七、总结 一、引言 “ 掌握Git的基本概念是高效进行版本控制的第一步。本文将详细介绍如何创建本地和远程仓库,G…

【HarmonyOS4+NEXT】新建项目指南

🙋‍ 一日之际在于晨 ⭐本期内容:新建项目指南 🏆系列专栏:鸿蒙HarmonyOS4NEXT:探索未来智能生态新纪元 文章目录 创建项目项目结构概述运行项目Preview预览模拟器运行真机运行 ArkUI框架简介总结 创建项目 点击创建一…

撰写LabVIEW开发方案时,怎么结构清晰、内容详实?

撰写LabVIEW开发方案时,结构清晰、内容详实是至关重要的。以下是一些步骤和技巧,帮助你组织和编写一个高质量的LabVIEW开发方案: 1. 封面 项目名称公司名称日期作者 2. 目录 列出各章节及其页码 3. 摘要 项目概述:简要介绍项…