前言
论文名称:A ConvNet for the 2020s
发表时间:CVPR2022
code链接: 代码
作者及组织: Zhuang Liu,Hanzi Mao来自Meta和UC Berkeley。
一句话总结:仿照swin-T思想,重新设计ResNet结构,使其逼近并超过swin-T。
1、RoadMap
网络结构:r50和swin-tiny:二者Flops相近约4.5G;
数据集:ImageNet1K
1.1.Macro Design
这部分包含的实验比较散,我列了个表格:
序号 | 改进策略 | 具体改动 | 性能 | GFlops |
---|---|---|---|---|
v0 | 原始的r50 | - | 76.1 | 4.1 |
v1 | 对齐训练方式 | - | 78.8 | 4.1 |
v2 | 每个stage的block数目 | From (3, 4, 6, 3) To (3, 3, 9, 3) | 79.4 | 4.5 |
v3 | stem层 | k=7,s=2的卷积 变成 k=4,s=4的卷积) | 79.5 | 4.4 |
v4 | 卷积核类型 | 3*3 conv 替换成 3*3 DW conv | 76.1 | 2.4 |
v5 | stem的输出通道数 | 64变成96 | 80.5 | 5.3 |
v6 | Block内部堆叠方式,下图Fig3.© | 3*3用更少通道,1*1用更多通道 | 79.9 | 4.1 |
v7 | DW conv的卷积核尺寸 | 3*3改成7*7 | 80.6 | 4.2 |
1.2.Micro Design
这部分主要是从细节方面对齐swin-t.
序号 | 改进策略 | 具体改动 | 性能 | GFlops |
---|---|---|---|---|
v8 | 更少激活函数 | 用GeLU替换ReLU | 81.3 | 4.2 |
v9 | 更少norm层 | 用LN替换BN | 81.5 | 4.2 |
v10 | 下采样层 | 替换成k=2,s=2的卷积核并增加些LN稳定训练 | 82.0 | 4.5 |
经过上述设计后,最终的ConvNext模块为:
1.3.小结
 在看下那张经典图就比较清晰了:
2、实验
最终一个模型结构为:
在ImageNet1k上实验:
在coco上实验:
思考
基于有监督训练,convnextv2引入了mim的监督方式。
参考
https://zhuanlan.zhihu.com/p/458016349