ConvNeXt V2:使用掩码自动编码器共同设计和扩展ConvNets
-
论文标题:ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
论文地址:2301.00808.pdf (arxiv.org)
论文代码:https://github.com/facebookresearch/ConvNeXt-V2
摘要
- 背景介绍: 在改进的体系结构和更好的表征学习框架的推动下,视觉识别领域在本世纪20年代初获得了快速的现代化和性能提升。例如,以ConvNeXt[52]为代表的现代ConvNet在各种场景中都表现出了强大的性能。
- 现存问题: 虽然这些模型最初是为使用ImageNet标签的监督学习而设计的,但它们也可以潜在地受益于自监督学习技术,如掩蔽自动编码器(MAE)[31]。然而,作者发现,简单地将这两种方法结合起来会导致性能低于平均水平。
- 解决方法: 作者提出了一种完全卷积掩码自动编码器框架和一个新的全局响应归一化(GRN)层,该层可以添加到ConvNeXt结构中来增强通道间的特征竞争。这种自监督学习技术和体系结构改进的共同设计导致了一个名为ConvNeXt V2的新模型家族,它显著提高了纯ConvNet在各种识别基准上的性能,包括ImageNet分类、CoCo检测和ADE20K分割。
- 实验结果: 还提供各种大小的预先训练的ConvNeXt V2模型,从在ImageNet上具有76.7%TOP-1准确率的高效3.7M参数模型到仅使用公共训练数据就达到最新水平88.9%准确率的650M巨型模型。
算法
Fully Convolutional Masked Autoencoder
作者的方法在概念上很简单,并且以完全卷积的方式运行。学习信号是通过以高掩码率随机掩码原始输入视觉并让模型在给定剩余上下文的情况下预测缺失部分来生成的。框架如图2所示,现在将更详细地描述其主要组件。
Masking。使用掩码比为0.6的随机掩码策略。由于卷积模型具有分层设计,其中特征在不同阶段进行下采样,在最后一层生成掩码,并递归地上采样到最好的分辨率。为了在实践中实现这一点,从原始输入图像中随机删除了32×32个patches中的60%。使用最小的数据增强,仅包括随机调整大小的裁剪。
Encoder design。该方法使用ConvNeXt模型作为编码器。使掩码图像建模有效的一个挑战是防止模型直接从掩码区域复制和粘贴信息。在基于transformer的模型中,这相对容易防止,可以使可见的patches成为编码器的唯一输入。然而,使用ConvNets更难做到这一点,因为必须保留2D图像结构。虽然朴素的解决方案涉及在输入侧引入可学习的掩码tokens,但这些方法降低了预训练的效率,并导致训练和测试时间不一致,因为在测试时间没有掩码tokens。当掩码率很高时,这变得特别有问题。
为了解决这个问题,新见解是从“稀疏数据视角”查看掩码图像,这是在3D任务中学习稀疏点云的启发。作者的关键观察是,掩码图像可以表示为2D稀疏像素阵列。基于这一见解,很自然地将稀疏卷积合并到框架中,以促进掩码自动编码器的预训练。实际上,在预训练期间,建议使用 submanifold sparse convolution来转换编码器中的标准卷积层,这使得模型只能在可见数据点上操作。注意到,稀疏卷积层可以在微调阶段转换回标准卷积,而不需要额外的处理。作为替代,也可以在密集卷积操作之前和之后应用二进制掩码操作。这种运算在数值上具有与稀疏卷积相同的效果,理论上计算量更大,但在TPU等AI加速器上更友好。
**Decoder design。**使用一个轻量级的普通ConvNeXt块作为解码器。这形成了一个整体上不对称的编码器-解码器架构,因为编码器更重并有层级结构。还考虑了更复杂的解码器,如分层解码器或transformer,但表1显示,更简单的单ConvNeXt块解码器在微调精度和显著减少预训练时间方面表现良好。将解码器的维数设置为512。
**Reconstruction target。**计算重建图像和目标图像之间的均方误差(MSE)。 与MAE类似,目标是原始输入的逐块归一化图像,并且损失仅应用于掩码块。
FCMAE。现在通过结合上述建议提出了一种Fully Convolutional Masked AutoEncoder(FCMAE)。为了评估该框架的有效性,使用ConvNeXt-Base模型作为编码器,并进行了一系列消融研究。在整个过程中,关注端到端的微调性能,因为它在迁移学习中的实际相关性,并使用它来评估学习表示的质量。分别使用ImageNet-1K(IN 1K)数据集进行800和100个epochs预训练和微调,并报告了单个224×224中心crop的top-1 IN-1K验证精度。
Global Response Normalization
在本节中,介绍了一种新的全局响应规范化(GRN)技术,以使FCMAE预训练与ConvNeXt架构结合起来更有效。
给定输入特征X∈RH×W×C,所提出的GRN单元由三个步骤组成:1)全局特征聚合,2)特征归一化,3)特征校准
首先,使用全局函数G(·)将空间特征地图Xi聚合为向量gx:
这可以看作是一个简单的池化层。用表2a中的不同函数进行了实验。令人感兴趣的是,全局平均池化表现不佳。相反,使用基于范数的特征聚合,特别是使用L2范数,可以获得更好的性能。这提供了一组聚集值G(X)=gx=|X1||,||X2||,…,||XC||∈RC,其中G(X)i=||Xi||是聚集第i个通道统计信息的标量。
接下来,将响应归一化函数N(·)应用于聚合值。具体地说,使用标准的可视化规范化,如下所示
最后,使用计算的特征归一化分数来校准原始输入响应:
ImageNet Experiments
Transfer Learning Experiments