前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?

ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?

作者头像
OpenMMLab 官方账号
发布2023-08-23 13:54:14
2.3K0
发布2023-08-23 13:54:14
举报
文章被收录于专栏:OpenMMLab
本文入选【技术写作训练营】优秀结营作品,作者:王悦天

嗨!今天给大家分享一篇比较新的计算机视觉论文,题目是“ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders”。这篇论文由韩国科学技术院(KAIST)、Meta AI 和纽约大学的研究者合作发表,论文和代码的链接放在下方。

简单来说,这篇论文改进出了一种新的卷积神经网络(ConvNeXt V2)模型,通过结合自监督学习(self-supervised learning)框架并进一步加入新的架构改进(architectural improvement),在各种视觉识别任务上取得了不错的性能提升。下面让我们一起探索一下这篇论文的主要内容和创新点吧~

论文地址:(文末点击阅读原文可直达)

https://arxiv.org/abs/2301.00808

GitHub 代码地址:

https://github.com/facebookresearch/ConvNeXt-V2

MMPreTrain 提供了预训练的 ConvNeXt v2 模型,可以在这里找到更多信息:https://mmpretrain.readthedocs.io/en/latest/papers/convnext_v2.html

回顾 ConvNeXt

在介绍 ConvNeXt V2 之前,让我们对 ConvNeXt 做一下简单的回顾:ConvNeXt 同样是 Meta AI 的工作,它的 motivation 是重新审视设计空间,测试纯卷积神经网络(ConvNet)的极限,探索纯卷积神经网络在计算机视觉任务中所能达到的性能。虽然在计算机视觉领域中,Transformers 已经在多个任务中超越了卷积神经网络,但是 ConvNeXt 论文认为卷积神经网络具有天然的归纳偏置(inductive bias)性质,因此仍然有很大的潜力可以挖掘。

作者通过逐步将标准 ResNet 现代化,测试了一系列的设计决策,发掘其中有用的关键组件,最终提出了一系列名为 ConvNeXt 的纯卷积神经网络,并在多个视觉任务上进行了评估,取得了与 Vision Transformer 相当的准确性和可扩展性,同时保持了标准卷积神经网络的简单和高效性。

简单来说,ConvNeXt 从宏观和微观两个层面对卷积神经网络和 Transformer 进行了比较和分析。在宏观层面上,作者发现了一些在卷积网络上可以稳定 work 的框架与技术,如 ResNeXt、反向瓶颈、大卷积核等,这些宏观调整有助于提高卷积网络的性能。在微观层面上,作者还研究了激活函数和归一化层等方面的不同设计选择,例如将 BatchNorm 替换为 LayerNorm 等。最终,作者提出了一系列纯卷积神经网络模型,具体的尝试如下图所示,一句话来说,即 Transformer 或者 Swin-Transformer 怎么做,我也在 ConvNeXt 上试着做对应的调整:

ConvNeXt V2

ConvNeXt V2 是基于现代 ConvNets 并添加了自监督学习技术的结果。ConvNeXt V2 在 ConvNeXt 的基础上增加了两个创新点(一个 framework 和一个 technique):全卷积掩码自编码器(fully convolutional masked autoencoder, FCMAE)和全局响应归一化(global response normalization, GRN)。

这种自监督学习技术和架构改进的协同设计(Co-design)共同创造了一个新的模型系列 ConvNeXt V2,它在包括 ImageNet 分类、COCO 检测和 ADE20K 分割在内的各种识别基准测试中显着提高了纯 ConvNets 的性能。

同时,作者还在 GitHub上 提供了各种大小的预训练 ConvNeXt V2 模型,范围从高效的 3.7M 参数 Atto 模型到 650M 的 Huge 模型。如下图所示,这里也展示了论文题目中提到的强大的模型缩放能力(Scaling),即在所有模型大小的监督训练的 baseline(ConvNeXt V1)上,ConvNeXt V2 的性能都得到了一致的改进。

前面提到,ConvNeXt V2 主要有两个创新点:一是提出了一种全卷积掩码自编码器(FCMAE)框架;二是提出了一种全局响应归一化(GRN)层。

下面让我们分别来简单地过一下它们的原理和效果,并看看新的训练框架(learning framework)与结构改进 (architectural improvement)同时考虑后结合(Co-design)的进一步提升。

全卷积掩码自编码器(FCMAE)

全卷积掩码自编码器(FCMAE)框架是一种基于卷积神经网络的自监督学习方法,它的思想是在输入图像上随机掩盖一些区域,然后让模型尝试恢复被掩盖的部分。这样可以迫使模型学习到图像的全局和局部特征,从而提高其泛化能力。

FCMAE 框架与传统的掩码自编码器(MAE)框架相比,有两个优势:一是它使用了全卷积结构,而不是使用全连接层来生成掩码和重建图像,这样可以减少参数量和计算量,同时保持空间信息;二是它使用了多尺度掩码策略,而不是使用固定大小的掩码,这样可以增加模型对不同尺度特征的感知能力。

下表展示了在实验中一步步寻找 FCMAE 中最优解码器的过程:

Table 1. MAE decoder ablation experiments with ConvNeXt-Base on ImageNet-1K. We report fine-tuning (ft) accuracy (%). The pretraining schedule is 800 epochs. In the decoder design exploration, the wall-clock time is benchmarked on a 256-core TPU-v3 pod using JAX. The speedup is relative to the UNet decoder baseline. Our final design choices employed in the paper are marked in gray .

在这些实验中,研究人员对不同的解码器进行了比较,在最终的微调阶段的准确率作为评估标准。表格中展示了使用 ConvNeXt-Base 进行实验的结果,其中包括使用不同类型解码器的精度。最终,作者选择了最优的解码器用于结合 FCMAE 来训练最终的 ConvNeXt V2 模型。

全局响应归一化(GRN)

全局响应归一化(GRN)层是一种新的卷积神经网络层,它的作用是在每个通道上对特征图进行归一化处理,从而增强通道间的特征竞争。GRN 层与传统的批量归一化(BN)层相比,有两个优势:一是它不需要额外的参数,因为它仅仅是对特征图进行归一化处理;二是它可以处理任意大小的 batch,而 BN 层则需要根据 batch 大小动态调整参数,计算量较大。

GRN 层的实现非常简单,只需要三行代码,并且没有可学习的参数。具体来说,GRN 层可以分为三个步骤:全局特征聚合、特征归一化和特征校准。在全局特征聚合步骤中,我们使用 L2 范数对每个通道上的特征图进行聚合,得到一个聚合后的向量。在特征归一化步骤中,我们使用标准除法归一化函数对聚合后的向量进行归一化。在特征校准步骤中,我们使用归一化后的向量对原始的特征图进行校准。整个 GRN 层的计算量非常小,因此可以很容易地添加到卷积神经网络中,从而增强特征竞争,提高模型性能。

作者发现 ConvNeXt V1 模型存在特征崩溃问题,即在通道之间存在冗余激活(死亡或饱和神经元)。为了解决这个问题,作者引入了一种新的归一化技术:全局响应归一化(GRN)层,作用于每个 patch 的特征,以促进特征多样性,用于解决特征崩溃问题。

具体来说,下图展示了作者对每个特征通道的激活图(activation map)进行可视化的结果,其中每张图片选取了 64 个通道,直观地证明了 ConvNeXt V1 存在特征崩溃问题,并进一步展示了使用 GRN 后的 ConvNeXt V2 对这一问题的缓解。

"We visualize the activation map for each feature channel in small squares. For clarity, we display 64 channels in each visualization. The ConvNeXt V1 model suffers from a feature collapse issue, which is characterized by the presence of redundant activations (dead or saturated neurons) across channels. To fix this problem, we introduce a new method to promote feature diversity during training: the global response normalization (GRN) layer. This technique is applied to high-dimensional features in every block, leading to the development of the ConvNeXt V2 architecture."

同时,为了进一步验证 GRN 的效果,论文在下表中展示了使用 ConvNeXt-Base 模型进行的一系列消融实验,来研究如何利用全局响应归一化(GRN)技术来增加特征的多样性,从而提高模型的性能。

Table 2. GRN ablations with ConvNeXt-Base. We report fine-tuning accuracy on ImageNet-1K. Our final proposal is marked in gray .

表格中展示了不同的实验情况,包括不同的特征归一化方法、特征加权方法以及在预训练和微调阶段中使用 GRN 的效果。实验结果表明,GRN 可以有效地提高模型的性能,特别是在预训练阶段。同时,GRN 与其他常见的特征归一化方法相比,也具有更好的效果。

Co-design Matters

既然 FCMAE 与 GRN 都能带来一定程度的提升,那么它们一起使用会带来什么样的结果呢?这就是论文中关于“co-designing”相关实验要展示的内容。

具体来说,如下表所示:作者在实验中发现,在不修改模型结构的情况下,使用 FCMAE 框架对表征学习质量的影响有限。同样,新的 GRN 层对监督设置下的性能影响也相当小。然而,两者的结合使微调性能得到了明显的改善。这支持了前面提到的模型和学习框架应该一起考虑(both the model and learning framework should be considered together)的想法,特别是在涉及到自监督学习时。

Table 3. Co-design matters. When the architecture and the learning framework are co-designed and used together, masked image pre-training becomes effective for ConvNeXt. We report the finetuning performance from 800 epoch FCMAE pre-trained models. The relative improvement is bigger with a larger model.

实验结果

在实验中,使用 FCMAE 框架和 GRN 层的 ConvNeXt V2 模型在不同的任务上表现出了显著的性能提升,包括 ImageNet 分类、COCO 检测和 ADE20K 分割。

首先是必须要有的 ImageNet-1k 上的结果:

Table 4. Comparisons with previous masked image modeling approaches. The pre-training data is the IN-1K training set. All self-supervised methods are benchmarked by the end-to-end finetuning performance with an image size of 224. We underline the highest accuracy for each model size and bold our best results.

如上表所示:ConvNeXt V2 + FCMAE 在所有的模型规模上都优于用 SimMIM 预训练的 Swin Transformer。同时,与用 MAE 预训练的 ViT 相比,ConvNeXt V2 在大模型体系中的表现相似,并且使用的参数少得多(198M vs 307M)。然而,更大的模型体系中,ConvNeXt V2 是略微落后于其他方法的。作者认为这可能是因为一个巨大的 ViT 模型可以从自监督的预训练中获益更多。

文中还介绍了 ImageNet-22K 的 intermediate fine-tuning(中间微调)结果:intermediate fine-tuning 的训练过程包括三个步骤:1. FCMAE 预训练;2. ImageNet-22K 微调;3. ImageNet1K 微调。结果如下表所示:

Table 5. ImageNet-1K fine-tuning results using IN-21K labels. The ConvNeXt V2 Huge model equipped with the FCMAE pretraining outperforms other architectures and sets a new state-of-the-art accuracy of 88.9% among methods using public data only.

同时,预训练好的 ConvNeXt V2 作为 backbone 连接 Mask R-CNN 做 head 在 COCO 上目标检测和实例分割;与结合 Uper-Net 在 ADE20k 上进行语义分割,ConvNeXt V2 同样表现出了优秀的效果。

Table 6. COCO object detection and instance segmentation results using Mask-RCNN. FLOPS are calculated with image size (1280, 800). All COCO fine-tuning experiments rely on ImageNet-1K pre-trained models.

Table 7. ADE20K semantic segmentation results using UPerNet. FLOPS are based on input sizes of (2048, 512) or (2560, 640). All ADE20K fine-tuning experiments rely on ImageNet-1K pre-trained model except FCMAE,22K ft, in which case the ImageNet-1K pre-training is followed by ImageNet-22K supervised fine-tuning.

论文总结

总的来说,ConvNeXt V2 向我们介绍了一种适配卷积网络的自监督学习框架 FCMAE,以此提高 ConvNets 的表示学习能力和可扩展性。

同时,文中还提出了一种全局响应归一化(GRN)技术,以解决遮蔽输入直接训练ConvNeXt模型时可能出现的特征折叠问题。

进一步,论文向我们展示了 FCMAE 和 GRN 的联合设计(Co-design)带来的更大提升,验证了模型和学习框架应该一起考虑(both the model and learning framework should be considered together)的思想。

最后,ConvNeXt V2 作为在一众 Vision Transformer 中的 ConvNet,我也很期待它在后面的应用与表现,能否真的让 CNN “再一次强大”?

如果你对如何让自监督学习适应卷积网络的更多相关研究感兴趣,那么十分推荐你观看 OpenMMLab 社区开放麦中对SparK的分享:

未来工作

在这篇论文的未来工作中,作者提出了一些可以继续深入的研究方向。首先,作者表示可以进一步探索 GRN 层的设计和调整,以便更好地适应特定的数据集和模型。

其次,作者建议研究如何将 FCMAE 框架应用于其他任务,例如视频分类或人脸识别。此外,作者认为可以将 FCMAE 与其他形式的自监督学习技术进行比较,以找出最佳的组合方式。

最后,作者建议将 FCMAE 应用于更大的模型和更具挑战性的数据集,以进一步验证其有效性。

MMPreTrain

MMPreTrain 是 OpenMMLab 团队推出的一个用于训练预训练模型的工具包。它提供了多种常用的预训练模型,包括分类、检测、分割等常见任务的预训练模型,并且支持在自定义数据集上进行预训练。MMPreTrain 还提供了数据增强、学习率调整、权重衰减等训练过程中常用的技巧和方法,方便用户进行模型训练和调试。使用 MMPreTrain 可以方便地进行预训练模型的训练和迁移学习,是一个非常实用的工具。

本次介绍的 ConvNeXt v2 将自监督学习技术和架构改进相结合,显著提高了纯 ConvNets 在各种识别基准上的性能,包括 ImageNet 分类、COCO 检测和 ADE20K 分割。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenMMLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档