Title: ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
Author:Sanghyun Woo et al. (KAIST, Meta AI and New York University)
Paper: https://arxiv.org/pdf/2301.00808.pdf
Github: https://github.com/facebookresearch/ConvNeXt-V2
引言
受掩码自编码机制的启发,本文在 ConvNeXt 的架构基础上延伸出了一个完全卷积掩码自编码器框架——ConvNeXt V2,同时作者设计了一个全新的全局响应归一化(Global Response Normalization, GRN)层以增强原始 ConvNeXt 模块通道间的特征竞争,从而捕获更具有判别力的通道特征。
ConvNeXt V2 最终在各种识别基准上的性能,包括 ImageNet 分类、COCO 检测和 ADE20K 分割任务上均取得了极具竞争力的结果,其中最小的模型仅 3.7M 参数可获取 76.7% top-1 准确率,而最大的模型约 650M 参数则能达到 88.9% 准确率。
前情回顾
ConvNeXt
先来看下经典卷积神经网络的发展史:
紧接着 ViT 的提出带火了一众基于 Transformer 的模型:
然后便是 Swin Transformer received ICCV 2021 best paper award (Marr Prize),一时间轰动华语乐坛视觉领域:
可以看出,Swin 其实是将传统 CNNs 三个重要的先验信息融入到了 Vision Transformer 的设计:
带局部窗口的注意力设计;
共享权重;
分层特征;
另一方面,我们从各大CV顶会接收的论文情况也能看出一些端倪:
可以发现,基于各种 **Former 的模型遍地开花,而基于传统的卷积神经网络几乎没有增长。当然,除了 idea 新颖外,基于 Transformer 的模型效果也确实惊艳,例如:
那么,这两者的本质区别在哪里呢?
首先,Transformer 模型由于缺乏固有的归纳偏置属性,这也意味着在小数据量的情况下它是很难“硬train一发”,因此大部分 Vision Transformer 模型训练的时候都会加入一堆 DataAug 和 Training Tricks,如果我们将这些 Tricks 应用到原始的 ResNet 上也能获得不错的性能增益:
好了,让我们看下 ConvNeXt 的设计思路是怎么样的:
整体设计遵循由粗粒度到细粒度的原则,可以看到,通过最终一步步的实验论证,ConvNeXt 的精度也随即提升,最终获得了完全可以媲美 Vision Transformer 的结果:
下面展示的是不同模块之间的结构对比图:
总的来说,ConvNeXt 是一个基于纯 ConvNets 的网络结构设计,其通过借鉴 Vision Transformer 的一些优化技巧,在 ResNet 的基础上一步步扎实的进行实验论证,最终获得了一个极具实际应用价值的网络结构模型,最终实现了优于 Swin Transformers 的性能,同时保持了标准 ConvNets 的简单性和效率,非常值得大家伙借鉴。
MAE
MAE 想必大家伙都认识了,毕竟CV界盛传的一句经典谚语——“凯明出品,必属精品”!自编码器一开始是应用在 NLP 领域,例如 BERT 模型便是被提出应用在句子的不同部分屏蔽单词,并尝试通过预测要填充到空白处的单词来重建完整的句子。因此自然而然的一个想法便是是否可以将这一想法嫁接到计算机视觉领域。
作为CV界的头号种子选手,老何当然是不负众望,凭借着多年来异常敏锐的嗅觉,不费吹灰之力便提出了一种使用自编码器对计算机视觉模型进行自监督预训练的新方法:
在 MAE 中,作者提倡使用非常高的遮挡率,例如 75%,这能带来两个好处:
训练速度提升3倍,因为模型仅需处理更少(unmasked)的图像块;
强迫模型学习出泛化能力,提高特征提取的能力;
此处,这是一个非对称的编解码器,这意味着其应用了一个相当轻量的解码器,而编码器的输出便是输入图像块的潜在向量表示。而 MAE 的关键步骤之一便是利用解码器重建初始图像,其中每个掩码标记都是一个共享的学习向量,表示存在缺失的补丁。解码器则接收潜在表示以及掩码标记作为输入,并输出每个补丁的像素值,包括掩码。根据此信息,可以将原始图像拼凑在一起,以根据用作输入的掩码图像形成完整图像的预测版本。
一旦重建了目标图像,我们只需测量它与原始输入图像的差异并将其用作损失执行反向传播即可。最终,当模型训练完成后,解码器将会被丢弃掉,只保留编码器部分,以供下游任务使用。