当前位置: 首页 > 科技观察

ConvNeXtV2来了,只使用最简单的卷积架构,性能不输Transformer

时间:2023-03-12 05:31:26 科技观察

经过几十年的基础研究,视觉识别领域迎来了大规模视觉表示学习的新时代。预训练的大规模视觉模型已成为特征学习和视觉应用的重要工具。视觉表示学习系统的性能在很大程度上受三个主要因素的影响:模型的神经网络架构、用于训练网络的方法和训练数据。每个因素的改进都有助于模型整体性能的提高。神经网络架构设计的创新一直在表示学习领域发挥着重要作用。卷积神经网络架构(ConvNet)对计算机视觉研究产生了重大影响,使通用特征学习方法能够在各种视觉识别任务中使用,而无需依赖手动实现的特征工程。近年来,最初为自然语言处理而开发的transformer架构因其对不同规模模型和数据集的适应性而被广泛应用于其他深度学习领域。ConvNeXt架构的出现使传统的ConvNet现代化,证明纯卷积模型也可以适应模型和数据集的规模变化。然而,探索神经网络架构设计空间的最常见方法仍然是在ImageNet上对监督学习的性能进行基准测试。另一种思路是将视觉表示学习的重点从标记监督学习转移到自我监督预训练。自监督算法将掩码语言建模引入视觉领域,并迅速成为视觉表示学习的流行方法。然而,自我监督学习通常使用专为监督学习设计的架构,并假设该架构是固定的。例如,掩码自动编码器(MAE)使用视觉转换器架构。一种方法是将这些架构与自我监督学习框架相结合,但面临一些特定问题。例如,ConvNeXt与MAE结合时会出现一个问题:MAE具有针对transformer的序列处理能力优化的特定编码器-解码器设计,这使得计算密集型编码器专注于那些可见的patch,从而降低预训练成本.但这种设计可能与使用密集滑动窗口的标准ConvNet不兼容。此外,如果不考虑架构与训练目标之间的关系,是否可以实现最佳性能尚不清楚。事实上,已经表明很难用基于掩码的自监督学习来训练ConvNets,实验证据表明transformers和ConvNets可能在特征学习上出现分歧,影响最终表示的质量。为此,KAIST、Meta和纽约大学的研究人员(包括ConvNeXt的刘壮和ResNeXt的谢赛宁)提出在同一框架下共同设计网络架构和掩码自动编码器。这样做的目的是让基于mask的Self-supervisedlearning可以适配ConvNeXt模型并取得媲美transformers的效果。论文地址:https://arxiv.org/pdf/2301.00808v1.pdf研究在设计maskedautoencoder时,将带mask的输入看做一组稀疏patch,使用稀疏卷积对可见部分进行处理。这个想法的灵感来自于在处理大规模3D点云时使用稀疏卷积。具体来说,该研究提出用稀疏卷积实现ConvNeXt,然后在微调时,可以将权重转换回标准的密集网络层,无需特殊处理。为了进一步提高预训练效率,本研究用单个ConvNeXt替换了transformer解码器,使整个设计完全卷积。研究人员观察到,在添加这些变化后:学习到的特征是有用的,提高了基线结果,但微调后的性能仍然不如基于transformer的模型。然后,该研究分析了具有不同训练配置的ConvNeXt的特征空间。当直接在掩码输入上训练ConvNeXt时,研究人员发现MLP层存在潜在的特征崩溃问题。为了解决这个问题,研究提出增加一个全局响应归一化层(GlobalResponseNormalizationlayer)来增强通道间的特征竞争。当使用屏蔽自动编码器对模型进行预训练时,这种改进最为有效,这表明在监督学习中重用固定架构设计可能不是最佳选择。基于以上改进,本研究提出了ConvNeXtV2,它在与掩码自动编码器结合时表现出更好的性能。同时,研究人员发现ConvNeXtV2在各种下游任务上比纯ConvNet有显着的性能提升,包括ImageNet上的分类任务、COCO上的对象检测和ADE20K上的语义分割。方法介绍全卷积掩码自动编码器本研究中提出的方法在概念上很简单,并且以完全卷积的方式运行。学习信号是通过以高掩蔽率随机掩蔽原始视觉输入,然后让模型根据剩余上下文预测缺失部分来生成的。整体框架如下图所示。该框架由一个基于稀疏卷积的ConvNeXt编码器和一个轻量级的ConvNeXt解码器组成,其中自动编码器的结构是不对称的。编码器仅处理可见像素,而解码器使用编码像素和掩码标记来重建图像。同时,loss只在masked区域计算。全局反应标准化大脑中有许多促进神经元多样性的机制。例如,侧抑制可以帮助增强激活神经元的反应,增加单个神经元对刺激的对比度和选择性,同时还增加神经元群体之间反应的多样性。在深度学习中,这种形式的横向抑制可以通过响应标准化来实现。该研究引入了一个新的响应归一化层,称为全局响应归一化(GRN),旨在提高跨通道的对比度和选择性。GRN单元包括三个步骤:1)全局特征聚合,2)特征归一化,以及3)特征校准。如下图所示,可以将GRN层合并到原始的ConvNeXt块中。研究人员通过实验发现,LayerScale不是必需的,在应用GRN时可以去掉。使用这种新的块设计,该研究创建了具有不同效率和容量的各种模型,并将它们称为ConvNeXtV2模型系列,从轻量级(Atto)到计算密集型(Huge)。为了评估GRN的效果,本研究使用FCMAE框架预训练ConvNeXtV2。从下图3的可视化和图4的余弦距离分析可以看出,ConvNeXtV2有效地缓解了特征崩溃问题。余弦距离值一直很高,说明可以通过网络层传输保持特征多样性。这类似于使用MAE预训练的ViT模型。这表明ConvNeXtV2在类似的蒙版图像预训练框架下学习与ViT类似。该研究进一步评估了微调性能,结果如下表所示。当配备GRN时,FCMAE预训练模型可以显着优于经过300个epoch训练的监督模型。GRN通过增强特征多样性来提高表示质量,这对于基于掩码的预训练至关重要,而在ConvNeXtV1模型中是不存在的。值得注意的是,这种改进是在没有增加额外的参数开销,也没有增加FLOPS的情况下实现的。最后,该研究还检验了GRN在预训练和微调中的重要性。如下表2(f)所示,无论是将GRN从fine-tuning中移除,还是在fine-tuning时加入新初始化的GRN,性能都明显下降,说明GRN在预训练和微调中的重要性。感兴趣的读者可以阅读论文原文了解更多研究细节。