共计 4025 个字符,预计需要花费 11 分钟才能阅读完成。
ConvNeXt V2:适应 Self-Supervised Learning, 让 CNN 再“再一次弱小”?
前言
Hi!明天给大家分享一篇比拟新的计算机视觉论文,题目是“ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders”。这篇论文是由韩国科学技术院(KAIST)、Meta AI 和纽约大学的研究者单干发表,链接在这里。这篇论文提出了一种新的卷积神经网络(ConvNet V2)模型,联合了自监督学习(self-supervised learning)和架构改良(architectural improvement),在各种视觉辨认工作上获得了不错的性能晋升。上面让咱们一起摸索一下这篇论文的次要内容和翻新点吧~
论文地址:[2301.00808] ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders (arxiv.org)
GitHub 代码地址:facebookresearch/ConvNeXt-V2: Code release for ConvNeXt V2 model (github.com)
回顾 ConvNeXt
在介绍 ConvNeXt v2 之前,让咱们对 ConvNeXt 做一下简略的回顾:
ConvNeXt 同样是 Meta AI 的工作,它的 motivation 是从新扫视设计空间,测试纯卷积神经网络 (ConvNet) 的极限,摸索纯卷积神经网络在计算机视觉工作中所能达到的性能。尽管在计算机视觉畛域中,Transformers 曾经在多个工作中超过了卷积神经网络,然而 ConvNeXt 论文中认为卷积神经网络具备人造的演绎偏差性质,因而依然有很大的后劲能够开掘。作者通过逐渐将规范 ResNet 现代化,测试了一系列的设计决策,发现了几个要害组件,最终提出了一族名为 ConvNeXt 的纯卷积神经网络,并在多个视觉工作上进行了评估,获得了与转换器相当的准确性和可扩展性,同时放弃了规范卷积神经网络的简略和高效性。
ConvNeXt 从宏观和宏观两个层面对卷积神经网络和层级 Transformer 进行了比拟和剖析。作者逐渐将规范 ResNet 模型“现代化”,并发现了一些要害组件,如 ResNeXt、反向瓶颈、大卷积核等,这些组件有助于进步性能。此外,在宏观层面上,作者还钻研了激活函数和归一化层等方面的不同设计抉择,例如将 BatchNorm 替换为 LayerNorm。最终,作者提出了一系列纯卷积神经网络模型,具体的尝试如下图所示,即 Transformer 或者 Swin-Transformer 怎么做,我也对应的调整:
ConvNeXt V2
ConvNeXt V2 是基于古代 ConvNets 并增加了自监督学习技术的后果。ConvNeXt V2 在 ConvNeXt 的根底上减少了两个新的组件:全卷积掩码自编码器(fully convolutional masked autoencoder, FCMAE)和全局响应归一化(global response normalization, GRN)。这种自监督学习技术和架构改良的协同设计独特发明了一个新的模型系列 ConvNeXt V2,它在包含 ImageNet 分类、COCO 检测和 ADE20K 宰割在内的各种辨认基准测试中显着进步了纯 ConvNets 的性能。
同时,还提供了各种大小的预训练 ConvNeXt V2 模型,范畴从高效的 3.7M 参数 Atto 模型到 650M 的 Huge 模型。
后面提到,ConvNeXt v2 次要有两个翻新点:一是提出了一种全卷积掩码自编码器(FCMAE)框架,二是提出了一种全局响应归一化(GRN)层。上面让咱们别离来简略地看看它们的原理和成果。
全卷积掩码自编码器(FCMAE)
全卷积掩码自编码器(FCMAE)框架是一种基于卷积神经网络的自监督学习办法,它的思维是在输出图像上随机覆盖一些区域,而后让模型尝试复原被覆盖的局部。这样能够迫使模型学习到图像的全局和部分特色,从而进步其泛化能力。FCMAE 框架与传统的掩码自编码器(MAE)框架相比,有两个劣势:一是它应用了全卷积构造,而不是应用全连贯层来生成掩码和重建图像,这样能够缩小参数量和计算量,同时放弃空间信息;二是它应用了多尺度掩码策略,而不是应用固定大小的掩码,这样能够减少模型对不同尺度特色的感知能力。
全局响应归一化(GRN)
全局响应归一化(GRN)层是一种新的卷积神经网络层,它的作用是在每个通道上对特色图进行归一化解决,从而加强通道间的特色竞争。GRN 层与传统的批量归一化(BN)层相比,有两个劣势:一是它不须要额定的参数,因为它仅仅是对特色图进行归一化解决;二是它能够解决任意大小的 batch,而 BN 层则须要依据 batch 大小动静调整参数,计算量较大。GRN 层的实现非常简单,只须要三行代码,并且没有可学习的参数。具体来说,GRN 层能够分为三个步骤:全局特色聚合、特色归一化和特色校准。在全局特色聚合步骤中,咱们应用 L2 范数对每个通道上的特色图进行聚合,失去一个聚合后的向量。在特色归一化步骤中,咱们应用规范除法归一化函数对聚合后的向量进行归一化。在特色校准步骤中,咱们应用归一化后的向量对原始的特色图进行校准。整个 GRN 层的计算量十分小,因而能够很容易地增加到卷积神经网络中,从而加强特色竞争,进步模型性能。
论文也展现了每个特色通道的激活图。为了更清晰地展现,每个可视化图中显示了 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.”
试验后果
在试验中,应用 FCMAE 框架和 GRN 层的 ConvNeXt V2 模型在不同的工作上体现出了显著的性能晋升,包含 ImageNet 分类、COCO 检测和 ADE20K 宰割。此外,应用自监督学习的办法,应用 Mask R-CNN 进行 COCO 检测,并在 COCO val2017 集上进行检测和宰割,体现出了较好的成果。此外,应用 Mask R-CNN 进行对 COCO 数据进行训练,在 COCO val2017 集上进行检测和宰割,体现出了较好的成果。此外,应用 Mask R-CNN 进行对 COCO 数据进行训练,在 COCO val2017 集上进行检测和宰割,体现出了较好的成果。
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.
检测和宰割工作上的后果:
将来工作
在这篇论文的将来工作中,作者提出了一些能够持续深刻的钻研方向。首先,作者示意能够进一步摸索 GRN 层的设计和调整,以便更好地适应特定的数据集和模型。其次,作者倡议钻研如何将 FCMAE 框架利用于其余工作,例如视频分类或人脸识别。此外,作者认为能够将 FCMAE 与其余模式的自监督学习技术进行比拟,以找出最佳的组合形式。最初,作者倡议将 FCMAE 利用于更大的模型和更具挑战性的数据集,以进一步验证其有效性。
MMpretrain
MMpretrain 是 OpenMMLab 团队推出的一个用于训练预训练模型的工具包。它提供了多种罕用的预训练模型,包含分类、检测、宰割等常见工作的预训练模型,并且反对在自定义数据集上进行预训练。MMpretrain 还提供了数据加强、学习率调整、权重衰减等训练过程中罕用的技巧和办法,不便用户进行模型训练和调试。应用 MMpretrain 能够不便地进行预训练模型的训练和迁徙学习,是一个十分实用的工具.
本次介绍的 ConvNeXt v2 将自监督学习技术和架构改良相结合,显著进步了纯 ConvNets 在各种辨认基准上的性能,包含 ImageNet 分类、COCO 检测和 ADE20K 宰割。OpenMMLab 的 MMpretrain 提供了预训练的 ConvNeXt v2 模型,能够在这里找到更多信息:链接。咱们能够应用 MMpretrain 来训练本人的模型或应用预训练模型进行微调。
本文参加了 SegmentFault 思否写作挑战赛,欢送正在浏览的你也退出。