ConvNeXt V2 论文笔记

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} XRH×W×C X i ∈ R H × W X_i∈R^{H×W} XiRH×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} C21iCjC21cos(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} XRH×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] ↩︎

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值