ConvNeXt: A ConvNet for 2020s

发布于:2023-01-31 ⋅ 阅读:(661) ⋅ 点赞:(0)

ConvNeXt: A ConvNet for 2020s

Tags: Backbobe
作者: Zhuang Liu, Hanzi Mao
发表日期: 2022
引用量: 184
星级 : ★★★★★
模型简写: ConvNeXt
精读: Yes

Introduction

Hierarchical Transformers (Swin Transformer)相较于传统ViT重新引进了convnet的特性,使得vision transformer成为一个通用的backbone。而作者认为这种混合方法的有效性很大程度上是Transformer架构的内在优势,而非是卷积网络的归纳偏置。

在这篇论文中,作者根据vision transformer的设计思路,从resnet50/200开始逐渐的“modernize”一个标准的ResNet网络,并测试了一个pure ConvNet可以达到的极限。

作者探索历程:

在这里插入图片描述

Method

1. Training Techniques

  1. 训练轮数从初始的90轮提高到300轮
  2. 采用AdamW optimizer
  3. Data augmentation: Mixup, Cutmix, RandAugment, Random Erasing
  4. Regularization shcemes: Stochastic Depth, Label Smoothing

ResNet-50准确率从76.1%提升到了78.8%(+2.7%)

2. Macro Design

  1. Change stage compute ratio (3, 4, 6, 3) → (3, 3, 9, 3)

最初的resnet的计算分布是完全凭经验的,res4阶段计算量最大,因为要兼容于各种downstream任务。 Swin-T 遵循相同的计算分布,但是为1 : 1 : 3 : 1,Swin-L为1 : 1 : 9 : 1。参考swin设计,将resnet-50的(3, 4, 6, 3)改为(3, 3, 9, 3)

准确率由78.8%提升至79.4%

  1. Changing stem to “Patchify”

标准 resent stem cell: 7x7 conv with stride 2, max pool (4倍下采样)

ViT: stem cell对应于一个打大的arge kernel size(14或者16)

Swin Transformer: samller patch size of 4

将Resnet stem cell变为4x4 stride 4 无重叠的卷积层

准确率由79.4%提升至79.5%

3. ResNeXt-ify

ResNeXt的核心是grouped convolution(组卷积),即使用更多的groups,扩展网络宽度。

本文作者使用depthwise convolution,是一种特殊的grouped convolution(groups数量等于通道数)。作者通过增加网络的宽度到与Swin-T一样。

准确率由79.5%提升至80.5%

4. Inverted Bottleneck

在这里插入图片描述

Transformer block的一个重要设计是inverted bottleneck,MLP中间隐藏层的维度是输入层的4倍宽。

本文也采用了这种设计,如上图中(a)到(b)的转换。

准确率由80.5%提升至80.6% (Resnet-200: 81.9%提升至82.6%)

5. Large Kernel Sizes

  1. Moving up depthwise conv layer’

如上图中的(b)到©的转换

准确率降低至79.9%

  1. Increasing the kernel size

卷积核大小由(3x3)提升至(7x7)

准确率由79.9%提升至80.6%

5. Micro Design

  1. 激活函数由ReLU变为GELU

准确率保持不变(80.6%)

  1. Fewer activate functions

如下图所示,参考swin transformer block, 除两个1x1的卷积层之间使用GELU外,其他部分均不使用激活函数

准确率提升至81.4%

  1. 用LN层替代BN层(Layer Normalization替换Batch Normalization)

直接在resnet中使用LN,会导致负优化,但基于上述architecture和training techniques的修改后,在convnet中使用LN,训练没有任何困难

准确率提升至81.5%

  1. Separate downsampling layers

分离降采样层,且在特征图大小变化的时候,添加一个normalication layers,有助于训练稳定

准确率提升至82.0%

在这里插入图片描述

Author

作者主页:

Zhuang Liu’s Homepage

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到