A ConvNet for the 2020s —— ConvNeXt
该论文通过模仿Vision Transformer系列和Swin Transformer的网络结构改造ResNet网络,使用纯卷积网络达到Transformer网络的效果,甚至更好。
文章使用ResNet-50作为基础模型,使用Transformers的训练技术;这个训练结果做基线
训练技巧
训练技术 主要和 优化策略、相关超参数 有关;
性能提升:76.1% ------> 78.8%, (+2.7%)
宏设计
Swin Transformer 遵循 ConvNets的多阶段设计,其中每个阶段都有不同的特征图分辨率;
包括两个设计考虑因素:stage compute ratio 和 “stem cell” structure
注解:
stem cell :是指网络开始时处理输入图像那个块,即数据进入网络做的第一步操作;
改变依据:
- stage compute ratio:
小型Swin-T的阶段计算比率为–>(1: 1: 3: 1),大型Swin-T的阶段计算比率为–>(1: 1: 9: 1) - “stem cell”:
在vision transformer中使用 “patchify” 策略,即使用大卷积核和非重叠卷积;
Swin Tranformer中使用类似的 "补丁化”层,补丁大小为4
ResNeXt
ResNet 和 ResNeXt网络块结构
ResNeXt的核心组件时分组卷积,其中卷积滤波器被分成不同的组
深度卷积
普通卷积:
深度卷积:对输入的每一个channel独立的用对应的channel的所有卷积核去卷积;
逐点卷积:
论文做的改变
倒置瓶颈
改变依据:
- 每个Transformer块中的重要设计 —— 倒置瓶颈,即MLP块的隐藏维度比输入维度宽4倍
大内核
改变依据:
- Vision Transformer最显著的一方面是:非局部自注意力,这使得每一层都有一个全局接受域;
- Transformer的MSA块放置在MLP层之前,所以如果要增大卷积核就需要将深度卷积位置上移,即复杂低效的模块(MSA,大核卷积)有更少的通道放前面,高效密集的小核卷积放后面完成更繁重的工作。
分层微设计
注释:
- ResNet 和 ResNeXt 残差块
- ResNet中下采样是通过每个阶段开始时的残差块实现的,即使用步长为2的33卷积;
在 残差连接 处使用步长为2的11卷积实现; - 在空间分辨率发生变化的地方添加归一化层有助于稳定训练;