资讯详情

CVPR 2022 | 道高一尺,魔高一丈,ConvNet还是ViT?

作者欲扬先抑@知乎(已授权)

来源丨https://zhuanlan.zhihu.com/p/506317516

编辑丨极市平台

e5792665809ec9f1a32c1244be5d0b70.png

论文地址:https://arxiv.org/abs/2201.03545

代码地址:https://github.com/facebookresearch/ConvNeXt

这篇文章是这篇文章工作。当你读到它时,你可以感觉到作者法ConvNet无限的爱,尤其是在阅读中部分时间。读完整篇文章后,作者的核心论点也是最吸引我的一句话。整篇文章写得很漂亮。

Introduction

作者在Introduction部分里,从ConvNet前世今生开始讲,并在第二段中表达了一种观点:的确,卷积神经网络在transformer在它诞生之前,它主宰了整个计算机视觉领域,作者的工作是让它成功ConvNet再次在视觉领域大放异彩!

作者认为ViT效果好的原因是它是一个大模型,可以适应大量的数据集,这使得它在分类领域处于领先地位ResNet大部分CV不仅仅是分类任务,对于大多数任务CV任务使用滑动窗口和全卷积。同时,作者指出ViT最大的问题之一:

作者之所以更坚信卷积不会被时代淘汰,一个关键原因是这种利用的出现该机制更充分地证明了提取局部特征信息的方法必须是work是的,能够发挥应有的性能。与此同时,作者还指出,每个人都在研究transformer是因为transformer效果超过了使用ConvNet做的视觉任务。因此,作者正在探索整个工作的构建ConvNet看看它的极限在哪里。

Modernizing a ConvNet: a Roadmap

作者从ResNet-50开始研究一系列network modernization操作,通过FLOPs和在ImageNet-1K上的Acc这两个指标可以验证改进操作是否有效。下图是一系列操作的结果。

Training Techniques

首先,在训练技能上进行更新DeiT作者将相似从90到300,使用数据增加手段包括:Mixup,Cutmix,RandAugment,Random Erasing,regularization schemes(包括Stochastic Depth和Label Smoothing)。经过这一改进,ResNet-50从

Macro Design

作者仿照Swin在层次设计中compute ratio 1:1:3:1,将compute ratio原来(3, 4, 6, 3)变为(3, 3, 9, 3),经过这一改进Acc由

作者仿照ViT,进行了non-overlapping的convolution。是利用,stride操作卷积,Acc由

ResNeXt-ify

作者在这部分尝试使用ResNeXt的思路,对FLOPs和Acc进行一个trade-off。核心是grouped convolution。作者用的是depthwise convolution也就是卷积数与通道数相等。这里也提到了ViT就是depthwise conv和conv进行channel mixing,也同时在spatial特征融合在维度上。depthwise这种操作在MobileNet和Xception都有用。它可以减少FLOPs。作者同时将channel数量从64变为和Swin-T同样的96.这使得Acc提到了80.5%。FLOPs提升到了

Inverted Bottleneck

如Fig3.作者修改了作者Bottleneck的结构如(b)所示,从

Large Kernel Sizes

作者为了与Swin同步,想选大的kernel size,因为Swin中最小也是,也比ResNet kernel size大。

如Fig3的(c)所示,作者将depthwise换了个地方。这种变化也是有处处可言的,还是借鉴了Transformer,MSA block提供给MLP Layers先验信息。因此,作者认为这是一种自然的做法。FLOPs降到了,同时带来了Acc上下,下降

Increasing the kernel size:为了大卷积核,作者做了上述准备,然后测试了3、5、7、9、11的效果。这些卷积核FLOPs其中基本相同效果最好,的效果只有。作者还制作了能力强的模型,如ResNet-200这样的大模型,效果并没有明显提高。

在这里,作者还吐槽了这些做法ViT从中学习。

Micro Design

这部分,大部分都是layer工作已经完成。focusing到上。

GELU比ReLU在transformer比如用的多Google的BERT,还有OpenAI的GPT-因此,这里也会有ReLU替换为了GELU,Acc没有变化,还是

还是transformer在设计上,没有使用很多归一化函数,所以与ResNet Block,作者去掉了很多BN Layer,只留了一个BN Layer在conv前。这使得Acc上升到了。已经超过了Swin-T的results。作者还发现,如果是的话Block前面加BN,并不会有Acc上的提升。

作者写道,BN存在可能对模型的性能产生负面影响。transformer中,用的是LN,于是作者把BN换成了LN,效果提升到了

在ResNet中,spatial下采样在维度上resuidal block使用前进行的stride的卷积还有conv stirdeshortcut connection做的。在Swin中,用的是separate downsampling layer每两个stage之间。作者在这里修改为使用conv layers stride做spatial上下采样。修改后,效果提高到82.0%。

最后,作者的修改到此结束。这是一个纯卷积结构。作者将其命名为。下图为整体architecture。

Results

Liu, Z., Mao, H., Wu, C. Y., Feichtenhofer, C., Darrell, T., & Xie, S. (2022). A ConvNet for the 2020s.arXiv preprint arXiv:2201.03545.

本文仅做学术分享,如有侵权,请联系删文。

后台回复:即可下载国外大学沉淀数年3D Vison精品课件

后台回复:即可下载3D视觉领域经典书籍pdf

后台回复:即可学习3D视觉领域精品课程

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在

也可申请加入我们的细分方向交流群,目前主要有等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。也请联系。

▲长按加微信群或投稿

▲长按关注公众号

:针对3D视觉领域的五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

标签: g37前abs传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台