ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders(2023.1.2-v1)

链接:   paper
      code


Abstract:(1).引入MAE形成FCMAE(全卷积掩码自编码器)
        (2).提出GRN(全局响应正则化)

引入MAE1,困难点:
  MAE有一个针对Transformer的序列处理能力优化的设计,使得大计算量编码器能够专注于visible patches(可见图块),从而降低预训练成本。而这种设计可能与使用密集滑动窗口的标准ConvNets不兼容。

下图性能指标,详见附录。


一、Fully Convolutional Masked Autoencoder(全卷积掩码自编码器)

  基于全卷积,通过以高遮挡率随机对原始输入图像进行遮挡,让模型在给定剩余图像上预测缺失部分,来生成learning signals(学习信号)。Fully convolutional masked autoencoder (FCMAE)如下图所示,其由一个基于稀疏卷积的ConvNeXt编码器和一个轻量级的ConvNeXt解码器组成。总的来说,这个自动编码器的架构是不对称的。编码器只处理可见像素,解码器使用编码像素和mask tokens重建图像。Loss仅在masked patches上计算。

1.Masking

  由于卷积模型具有在不同stage对特征图进行下采样的分层设计,故在最后stage生成掩码,后递归地上采样,直到达到最佳分辨率。practice:从原始输入图像中随机移除了60%的32×32图块,数据增强只使用random resized cropping。

2.Encoder design

  有效重建遮挡图像的一个挑战,是防止模型学习从遮挡区域复制和粘贴信息的捷径。在基于transformer的模型中相对容易防止,因其可使visible patches成为编码器的唯一输入。在必须保留2D图像结构的ConvNets中难以实现。轻率的解决方案是在输入端引入可学习的masked tokens2,但降低了预训练的效率,并导致训练和测试时间不一致,因为在测试时没有mask tokens,在遮挡率高时尤其严重。

  受3D任务中稀疏点云的启发3,从“稀疏数据的角度”来看遮挡图像,其可以表示为2D稀疏像素数组。故引入稀疏卷积,促进对掩码自编码器的预训练。在预训练中,将标准卷积转换为submanifold sparse convolution,使得模型只能在可见数据点上操作4。在微调阶段,稀疏卷积层可以转换回标准卷积,而不需要额外处理。也可以在密集卷积运算之前和之后应用binary masking operation(二进制掩码运算),在数值上与稀疏卷积具有相同的效果,理论上计算更密集,但在TPU等人工智能加速器上效果更好。

3.Decoder design

  解码器是轻量级与较复杂、具有层次结构的编码器,形成了非对称的encoder-decoder架构。经实验发现微调精度时,简单的单ConvNeXt解编码器较复杂的解编码器(如hierarchical decoders5、transform-ers6)效果更好,并显著减少了预训练时间(消融实验见论文表1)。解码器的dimension设置为512。

4.Reconstruction target(重建目标)

  计算重建图像和目标图像之间的均方误差(MSE)。与MAE类似,目标是原始输入的patch-wise normalized image(逐块归一化图像),Loss仅在masked patches上计算。

总结:

  FCMAE在迁移学习中具有实际意义,故实验重点在端到端的微调性能上,以其指标评估学习表现。在ImageNet-1K (IN-1K)数据集上预训练和微调的epoch分别为800和100,以一个224×224中心框在IN-1K validation的top-1 accuracy为指标。 (详见附录)

Next, we compare our self-supervised approach to supervised learning. Specifically, we obtain two baseline experi-mental results: the supervised 100 epoch baseline using the same recipe and the 300 epoch supervised training baseline provided in the original ConvNeXt paper [52]. We find that our FCMAE pre-training provides better initialization than the random baseline (i.e., 82.7→83.7), but it still needsto catch up to the best performance obtained in the original supervised setup

二、Global Response Normalization(全局响应归一化)

  提出应用于高维度特征图块的GRN,以使FCMAE预训练与ConvNeXtar体系结构相结合更加有效。

1.Feature collapse(特征崩溃)

  为了解学习行为,在特征空间中进行定性分析。可视化FCMAE预训练的ConvNeXt-Base模型的activations,有许多失活或饱和的特征图,主要出现在ConvNeXt block中的dimension-expansion MLP层中。如下图所示,对每个特征通道小方块可视化的activation map(为了清晰起见,显示64个通道)。

2.Feature cosine distance analysis(特征余弦距离分析)

  给定activation tensor(激活张量) X ∈ R H × W × C X∈R^{H×W×C} X∈RH×W×C, X i ∈ R H × W X_i∈R^{H×W} Xi​∈RH×W是第i通道的特征图。我们将其重塑为HW维向量,并通过 1 C 2 ∑ i C ∑ j C 1 − c o s ( X i , X j ) 2 \frac{1}{C^2} \sum_{i}^{C}\sum_{j}^{C}\frac{1-cos(X_i,X_j)}{2} C21​∑iC​∑jC​21−cos(Xi​,Xj​)​计算通道的平均成对余弦距离。距离值越大表示特征越多样化,相反则表示特征重复。

  实验分析。从ImageNet-1K验证集中的不同类别中随机选择1000个图像,并从不同模型的每一层中提取高维特征,包括FCMAE、自监督ConvNeXt7和MAE预训练的ViT8,均为常规层结构。通过计算每个图像每层的距离,并对所有图像的值进行平均,结果如下图所示(论文原图分辨率低)。FCMAE预训练的ConvNeXt模型表现出明显的特征崩溃趋势,与从上面激活可视化中观察到的结果一致。监督模型在最终层中也出现特征多样性减少的现象,可能是由于交叉熵损失使模型更关注类判别特征,抑制了其他特征。这促使作者考虑如何在学习过程中使特征多样化,并防止特征崩溃。

3.Approach

  大脑中有许多机制可以促进神经元的多样性,如横向抑制9,可以增强激活神经元的响应,增加单个神经元对刺激的对比度和选择性,同时也可以增加神经元群体的多样化响应。在深度学习中,可以通过response normalization(响应归一化)来实现10。论文提出全局响应归一化(GRN),旨在提高通道的对比度和选择性。给定输入特征 X ∈ R H × W × C X∈R^{H×W×C} X∈RH×W×C,GRN单元由三个步骤组成:1).全局特征聚合;2).特征归一化;3).feature calibration特征校准。

  ConvNeXt V2,模型配置详见附录(轻量级Atto11)。如下图所示,将GRN层引入原始ConvNeXt中后,不再需要LayerScale12,但增加了参数和FLOPS。见上方两图,ConvNeXt V2有效地缓解了特征崩溃,各层都具特征多样性。

4.消融实验

setting:使用ConvNeXt-Base在ImageNet-1K上微调,基线为83.7,GRN为84.6。

  归一化方法,其他归一化方法13。作者挑选三个广泛使用的归一化层进行比较:局部响应归一化(LRN)14– 83.2、批量归一化(BN)15– 80.5和层归一化(LN)16– 83.8。LRN缺乏global contextas;BN沿batch进行空间归一化,不适用于masked inputs(遮挡输入);LN通过全局均值和方差标准化间接促进特征竞争,但不如GRN有效。

  特征门控方法,增强神经元之间竞争的另一种方法是使用动态特征门控方法17。作者挑选两个经典的门控层进行比较:SE18– 84.4和CBAM19– 84.5,参数均为109M,而GRN参数为89M。SE专注于通道门控,CBAM专注于空间门控,二者均可增加单个通道的对比度。但GRN更简单、更高效,因为它不需要额外的参数层(如MLP)。

  预训练/微调中的作用。实验显示在预训练和微调的任意过程中去掉GRN,性能都会显著下降。

三. Experiments

1.ImageNet

  在FCMAE框架下预训练并在ImageNet-22K上微调的ConvNeXt V2 Huge模型,在ImageNet-1K上达到88.9%的sota top-1准确率。本文说明了模型和学习框架应该一起考虑,尤其是自监督学习。

  与以前的基于Transformer设计的掩码自编码器方法20比较,结果如下表所示。可能Huge ViT模型更适合自监督的预训练。如下,与其的差距可以通过额外的中间微调来弥补。

  ImageNet-22K中间微调21。训练过程包括三个步骤:1).FCMAE预训练;2).ImageNet-22K微调;3).ImageNet-1K微调。与最先进的架构设计进行比较,包括基于卷积的22、基于变换器的23和混合设计的24。如下表所示,仅使用公开数据(ImageNet-1K和ImageNet-22K)就达到了sota精度。

2.迁移学习(详见附录)

Swins的结果均来自25

  微调Mask R-CNN,在COCO上进行检测(mAPbox)和分割(mAPmask)的任务实验,如下表所示。FLOPs以(1280,800)分辨率计算,COCO微调实验均使用ImageNet-1K预训练模型。

  使用UperNet框架[74]对ADE20K[82]语义分割任务进行实验。FLOPS以(2048、512)或(2560、640)分辨率计算的,ADE20K微调实验均使用ImageNet-1K预训练模型,FCMAE,22K ft除外,其在ImageNet-1K预训练后还有ImageNet-22K的监督训练微调。



相关链接:ConvNeXt 论文笔记


ps:下为论文内文献索引,供拓展使用。


  1. paper[31] ↩︎

  2. paper[3,77] ↩︎

  3. paper[15,76] ↩︎

  4. paper[15,27,28] ↩︎

  5. paper[48, 59] ↩︎

  6. paper[21, 31] ↩︎

  7. paper[52] ↩︎

  8. paper[31] ↩︎

  9. paper[6,30] ↩︎

  10. paper[45] ↩︎

  11. paper[70] ↩︎

  12. paper[65] ↩︎

  13. paper[2,41,45,67,73] ↩︎

  14. paper[45] ↩︎

  15. paper[41] ↩︎

  16. paper[2] ↩︎

  17. paper[37,56,69,72,78] ↩︎

  18. paper[37] ↩︎

  19. paper[72] ↩︎

  20. paper[[3,31,77] ↩︎

  21. paper[3] ↩︎

  22. paper[52,64] ↩︎

  23. paper[22] ↩︎

  24. paper[20,66] ↩︎

  25. paper[77] ↩︎

ConvNeXt V2 论文笔记相关推荐

  1. 【第64篇】ConvNeXt V2论文翻译:ConvNeXt V2与MAE激情碰撞

    文章目录 摘要 1 简介 2 相关工作 3 全卷积掩码自编码器 4 全局响应归一化 5 ImageNet实验 6 迁移学习实验 7 结论 摘要 论文链接:ConvNeXt V2 在改进的架构和

  2. 【第62篇】ConvNeXt V2论文翻译:ConvNeXt V2与MAE碰撞

    文章目录 摘要 1 简介 2 相关工作 3 全卷积掩码自编码器 4 全局响应归一化 5 ImageNet实验 6 迁移学习实验 7 结论 摘要 论文链接:ConvNeXt V2 在改进的架构和更好的表 ...

  3. YOLO v2论文笔记

    YOLOv2相对于v1的改进: 1. Batch Normalization ,mAP 增加2% 2. High Resolution Classifier 增加训练图片分辨率为448 * 448 , ...

  4. MobileNet V2 论文笔记

    论文:Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segm ...

  5. 阅读pvt v1 和 pvt v2 论文笔记

    pvt 2篇论文的代码在原论文中有所标注,由于时间关系,以后再将对源代码进行解读 1.pvt v1的创新点 pvt收到的启发来自于 cnn 和transformer,为了克服transfomer应用于 ...

  6. 论文笔记:ShuffleNet v2

    ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design ShuffleNet v2 1.四个问题 要解决什么 ...

  7. 论文笔记 | 谷歌 Soft Prompt Learning ,Prefix-Tuning的 -> soft promt -> p tuning v2

    论文笔记 | 谷歌 Soft Prompt Learning ptuning -> Prefix-Tuning -> soft promt -> p tuning v2 " ...

  8. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

  9. unet论文_图像分割之RefineNet 论文笔记

    RefineNet: Multi-Path Refinement Networks forHigh-Resolution Semantic Segmentation (2017) 论文笔记 文章的创新 ...

最新文章

  1. 20211018 一些特殊矩阵
  2. MySQL weekday()函数
  3. python邮件发送哪个好_python发邮件(一)
  4. Head First设计模式读书笔记五 第六章 命令模式(单例略过)
  5. 字节面试官:javaword转pdf乱码
  6. 《android深入探索》第四章心得
  7. python微信群定时发送消息_Python3 itchat实现微信定时发送群消息的实例代码
  8. 【2019 BAPC - D】Deck Randomisation【中国剩余定理 + 循环节】
  9. h桥控制电机刹车_一种电机H桥制动电路的制作方法
  10. 明年债券收益率有望延续下行的趋势
  11. props的几种写法
  12. python pandas read_excel 参数详解 to_excel 读写Excel
  13. 猿创征文 | 什么是PHP,PHP如何创建数据库
  14. 什么是*.yml文件
  15. 克里金(Kriging)插值的原理与公式推导_转
  16. mysql数据分析统计表_mysql 数据分析如何实现日报、周报、月报和年报?
  17. 计算机组织与结构课程笔记
  18. CleanMyMac X4.10.5电脑系统清理垃圾软件
  19. 电脑桌面日历便签软件怎么通过月视图查看某一天的便签内容记录?
  20. SAX有自动换宠功能,ASSA其实也有--脚本

热门文章

  1. 抓取android系统日志_记录一次定位app闪退故障
  2. 天地伟业tiandy如何连手机_天地伟业安卓版下载-天地伟业app官方下载v4.1.3[视频监控]...
  3. 【2次元娱乐】paiza迷你编程游戏《工程师也要谈恋爱》漫画全汉化
  4. 【干货】微信场景之H5页面制作免费工具大集合
  5. mysql范围查询条件_MySQL条件查询和范围查询
  6. RLE压缩算法C#详细教程
  7. 微信小程序如何双重循环
  8. A[n.m]是一个n行m列的矩阵,明]表示A的第i行列的元素,定义x难J为A的第i行和第i列除了al.]之 外所有元素(共n+m-2个)的乘积,即xlj=(1]a1L.21. a[j-1..[.m
  9. java 数组的长度_JAVA怎样获取数组长度?
  10. LeetCode198. House Robber