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

技术

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

本文入选【技术写作训练营】优秀结营作品,作者:王悦天

嗨!今天给大家分享一篇比较新的计算机视觉论文,题目是“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 相当的准确性和可扩展性,同时保持了标准卷积神经网络的简单和高效性。

picture.image

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

picture.image

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 的性能都得到了一致的改进。

picture.image

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

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

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

picture.image

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

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

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

picture.image

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)

picture.image

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

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

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

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

picture.image

"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)技术来增加特征的多样性,从而提高模型的性能。

picture.image

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)的想法,特别是在涉及到自监督学习时。

picture.image

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 上的结果:

picture.image

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 微调。结果如下表所示:

picture.image

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 同样表现出了优秀的效果。

picture.image

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.

picture.image

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 “再一次强大”?

picture.image

[picture.image

深度学习模型加速:Pytorch模型转TensorRT模型](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247508496&idx=1&sn=2bf63c1a93eba8d31470d97720d90e35&chksm=feb842aec9cfcbb8daf99f2ade063e7c39b1944d947c194d7d77b94a3c7e3282b9d1fcea610f&scene=21#wechat_redirect)

[picture.image

8个月之内,3470家芯片公司陆续倒闭!国产芯片的“出路”到底在哪?](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247508652&idx=1&sn=50d510bad304f546dd75e7b5b42baed8&chksm=feb84212c9cfcb046fc10a3fc9c552796c9c002419eba66b148776fd0e6e406f044d8fad8ff5&scene=21#wechat_redirect)

[picture.image

一文读懂 PyTorch 显存管理机制](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247508461&idx=1&sn=9445bb1460f313917782513081636025&chksm=feb84153c9cfc8456f3e9e13b9334a931aa2db819253bfdc64a84803a68880921eaea8b73355&scene=21#wechat_redirect)

扫码加入👉「集智书童」交流群

(备注: 方向+学校/公司+昵称 )

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」

行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」

AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明

凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

点击下方“ 阅读原文 ”,

了解更多AI学习路上的 「武功秘籍」

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
IDC 大模型应用落地白皮书
大模型技术已深度融入业务实践,各企业期望其释放更大商业价值。 但大模型落地之路面临许多挑战和顾虑。 如何精准对接业务需求与发展蓝图,制定切实可行的大模型落地策略? IDC发布首个大模型应用策略与行动指南 一为您揭晓一
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论