ConvNeXt V2论文翻译:ConvNeXt V2与MAE激情碰撞

news2024/11/24 11:55:55

文章目录

  • 摘要
  • 1 简介
  • 2 相关工作
  • 3 全卷积掩码自编码器
  • 4 全局响应归一化
  • 5 ImageNet实验
  • 6 迁移学习实验
  • 7 结论

摘要

论文链接:ConvNeXt V2
在改进的架构和更好的表示学习框架的推动下,视觉识别领域在21世纪20年代初实现了快速现代化和性能提升。例如,以ConvNeXt[52]为代表的现代ConvNets在各种场景中都表现出了强大的性能。虽然这些模型最初是为使用ImageNet标签的监督学习而设计的,但它们也可能受益于自监督学习技术,如蒙面自编码器(MAE)[31]。然而,我们发现,简单地结合这两种方法会导致性能不佳。在本文中,我们提出了一个全卷积掩码自编码器框架和一个新的全局响应归一化(GRN)层,可以添加到ConvNeXt架构中,以增强通道间的特征竞争。这种自我监督学习技术和架构改进的共同设计产生了一个名为ConvNeXt V2的新模型家族,它显著提高了纯ConvNets在各种识别基准上的性能,包括ImageNet分类、COCO检测和ADE20K分割。我们还提供各种大小的预训练ConvNeXt V2模型,从高效的3.7 m参数Atto模型,在ImageNet上具有76.7%的top-1精度,到仅使用公共训练数据实现最先进的88.9%精度的650M Huge模型。


图1 ConvNeXt V2模型缩放。使用我们的全卷积掩码自编码器框架进行预训练的ConvNeXt V2模型,在各种模型尺寸下的表现都明显优于之前的版本。

1 简介

在前几十年的研究突破的基础上[34,44,47,60,68],视觉识别领域迎来了大规模视觉表示学习的新时代。预训练的大规模视觉模型已经成为特征学习的重要工具,并使广泛的视觉应用成为可能。视觉表示学习系统的性能在很大程度上受三个主要因素的影响:所选择的神经网络结构、用于训练网络的方法和用于训练的数据。在视觉识别领域,每个领域的进步都有助于性能的整体提高。

神经网络架构设计的创新一直在表示学习领域发挥着重要作用。卷积神经网络架构(ConvNets)[34, 44, 47]通过允许将通用特征学习方法用于各种视觉识别任务[25,33],而不是依赖人工特征工程,对计算机视觉研究产生了重大影响。近年来,最初为自然语言处理开发的transformer架构[68]也因其相对于模型和数据集大小[21]的强大扩展行为而受到欢迎。最近,ConvNeXt[52]架构使传统的卷积网络现代化,并表明纯卷积模型也可以是可扩展的架构。然而,探索神经网络架构设计空间的最常见方法仍然是在ImageNet上对监督学习性能进行基准测试。

在另一项研究中,视觉表示学习的重点已经从带有标签的监督学习转移到以前置目标为目标的自监督预训练。在众多不同的自监督算法中,掩码自编码器(MAE)[31]最近将掩码语言建模的成功带入视觉领域,并迅速成为视觉表示学习的流行方法。然而,自监督学习中的一种常见做法是使用为监督学习设计的预先确定的体系结构,并假设设计是固定的。例如,MAE是使用vision transformer[21]架构开发的。

可以将架构的设计元素和自监督学习框架结合起来,但在将ConvNeXt与掩码自动编码器结合使用时,这样做可能会带来挑战。一个问题是,MAE有一个特定的编-解码器设计,针对transformer的序列处理能力进行了优化,这允许计算量大的编码器专注于可见的块,从而降低预训练成本。这种设计可能与使用密集滑动窗口的标准卷积网络不兼容。此外,如果不考虑架构和训练目标之间的关系,可能不清楚是否可以实现最佳性能。事实上,之前的研究表明,用基于掩码的自监督学习训练卷积网络可能是困难的[43],经验证据表明,transformer和卷积网络可能有不同的特征学习行为,会影响表示质量。

本文建议在同一框架下共同设计网络架构和掩码自编码器,目的是使基于掩码的自监督学习对ConvNeXt模型有效,并取得与使用transformer获得的结果类似的结果。

在设计掩码自编码器时,将掩码输入视为一组稀疏块,并使用稀疏卷积[28]来仅处理可见部分。这个想法的灵感来自于在处理大规模3D点云时使用稀疏卷积[15,76]。在实践中,我们可以用稀疏卷积实现ConvNeXt,在微调时,权重被转换回标准的密集层,而不需要特殊处理。为进一步提高预训练效率,将transformer解码器替换为单个ConvNeXt块,使整个设计成为全卷积的。我们观察到有这些变化的结果是混合的:学习到的特征是有用的,并在基线结果上有所提高,但微调性能仍然没有基于transformer的模型好。

对ConvNeXt的不同训练配置进行特征空间分析。在直接在掩码输入上训练ConvNeXt时,发现了MLP层特征坍缩的潜在问题。为了解决这个问题,本文提出增加一个全局响应归一化层来增强通道间的特征竞争。当模型使用掩码自动编码器进行预训练时,这种改变是最有效的,这表明从监督学习中重用固定的架构设计可能是次优的。

本文介绍了ConvNeXt V2,该V2在与掩码自动编码器联合使用时,证明了性能的提高。我们发现,该模型显著提高了纯卷积网络在各种下游任务中的性能,包括ImageNet分类[60],COCO目标检测[49]和ADE20K分割[81]。ConvNeXt V2模型可用于各种计算模式,包括不同复杂度的模型:从一个高效的3.7 m参数的Atto模型,在ImageNet上达到76.7%的top-1精度,到一个650M的巨型模型,在使用ImageNet- 22k标签时达到最先进的88.9%的精度。

2 相关工作

ConvNets。 卷积网络的设计于20世纪80年代首次引入[46],使用反向传播进行训练,多年来在优化、精度和效率方面进行了许多改进[35,36,39,44,58,61,63,75]。这些创新主要是通过在ImageNet数据集上使用监督训练而发现的。近年来,有人尝试使用自监督的前文本任务(如旋转预测和着色)来进行架构搜索,如UnNAS[50]。最近,ConvNeXt[52]对设计空间进行了全面的审查,并表明纯ConvNets可以像视觉transformer一样可扩展[21,51],后者在许多应用中已成为主导架构。ConvNeXt在要求较低复杂度的场景中特别出色[7,70,71]。ConvNeXt V2模型由自监督学习提供支持,提供了一种简单的方法来升级现有模型,并在广泛的用例中实现性能的显著提高。

Masked Autoencoders。 以掩码自编码器[31]为代表的掩码图像建模是最新的自监督学习策略之一。作为一种神经网络预训练框架,掩码自动编码器对视觉识别产生了广泛的影响。然而,原始的掩码自编码器由于其非对称编码器-解码器设计,不能直接适用于卷积网络。诸如[3,77]等替代框架试图将该方法用于ConvNets,但结果不一。MCMAE[23]使用一些卷积块作为输入分词器。据我们所知,没有任何预训练模型表明,自监督学习可以提高最佳ConvNeXt监督结果。

3 全卷积掩码自编码器

该方法在概念上简单,并以完全卷积的方式运行。学习信号是通过以高掩码率随机掩盖原始输入视觉效果,并让模型在给定剩余上下文的情况下预测缺失的部分来生成的。我们的框架如图2所示,现在我们将更详细地描述它的主要组件。


图2 我们的FCMAE框架。本文提出一种全卷积掩码自编码器(FCMAE)。它由一个基于稀疏卷积的ConvNeXt编码器和一个轻量级的ConvNeXt块解码器组成。总的来说,我们的自动编码器的架构是非对称的。编码器仅处理可见像素,解码器使用编码的像素和掩码标记重建图像。损失仅在被屏蔽区域上计算。

**掩蔽。** 我们使用掩码率为0.6的随机掩码策略。由于卷积模型具有分层设计,在不同阶段对特征进行下采样,因此在最后阶段生成掩模,并递归上采样直到最佳分辨率。为了在实践中实现这一点,我们从原始输入图像中随机删除60%的32 × 32块。我们使用最小的数据增强,只包括随机调整大小的裁剪。

编码器的设计。 我们使用ConvNeXt[52]模型作为编码器。使掩码图像建模有效的一个挑战是防止模型学习允许它从掩码区域复制和粘贴信息的快捷方式。在基于transformer的模型中,这相对容易防止,因为它可以将可见的块作为编码器的唯一输入。然而,用卷积网络实现这一点比较困难,因为必须保留2D图像结构。虽然朴素的解决方案涉及在输入端引入可学习的掩码标记[3,77],但这些方法降低了预训练的效率,并导致训练和测试时间不一致,因为在测试时没有掩码标记。当掩蔽率很高时,这变得尤其成问题。

为了解决这个问题,本文的新见解是从"稀疏数据的角度"看掩码图像,这是受3D任务中稀疏点云学习的启发[15,76]。本文的关键观察是,掩码图像可以表示为像素的二维稀疏数组。基于这一见解,很自然地将稀疏卷积纳入该框架中,以促进掩码自编码器的预训练。在实践中,在预训练期间,我们建议用子流形稀疏卷积转换编码器中的标准卷积层,这使模型仅在可见数据点上操作[15,27,28]。稀疏卷积层可以在微调阶段转换回标准卷积,而不需要额外的处理。作为一种替代方案,也可以在密集卷积操作之前和之后应用二进制掩码操作。这种操作在数字上与稀疏卷积具有相同的效果,理论上计算更密集,但在TPU等AI加速器上可以更友好。

译码器的设计。 我们使用一个轻量级的普通ConvNeXt块作为解码器。这形成了一个非对称的编码器-解码器架构,因为编码器更重,并且具有层次结构。我们还考虑了更复杂的解码器,如分层解码器[48,59]或transformer[21,31],但更简单的单一ConvNeXt块解码器在微调精度方面表现良好,并大大减少了预训练时间,如表1所示。我们将解码器的维度设置为512。

重建目标。 我们计算重建图像和目标图像之间的均方误差(MSE)。与MAE[31]类似,目标是原始输入的逐块归一化图像,损失仅应用于被掩码的块。

FCMAE。 通过结合上述建议,本文提出一种全卷积掩码自编码器(FCMAE)。为评估该框架的有效性,使用ConvNeXt-Base模型作为编码器,并进行了一系列消融研究。在本文中,我们专注于端到端微调性能,因为它在迁移学习中的实际相关性,并使用它来评估学习到的表示的质量。

使用ImageNet-1K (IN-1K)数据集分别进行800和100个epoch的预训练和微调,并报告了单个224×224中心裁剪的top-1 IN-1K验证精度。有关实验设置的更多细节可以在附录中找到。

为了解在FCMAE框架中使用稀疏卷积的影响,本文首先研究了它在掩码图像预训练期间如何影响学习到的表示的质量。实验结果表明,为了取得良好的效果,防止被屏蔽区域的信息泄露至关重要。
在这里插入图片描述

接下来,将自监督方法与监督学习进行比较。获得了两个基线实验结果:使用相同配方的有监督的100 epoch基线和原始ConvNeXt论文[52]中提供的300 epoch有监督的训练基线。FCMAE预训练提供了比随机基线更好的初始化(即 82.7 → 83.7 ) 82.7 \rightarrow 83.7) 82.783.7)),但仍然需要赶上原始有监督设置中获得的最佳性能。
在这里插入图片描述

这与最近使用基于transformer的模型[3,31,77]进行掩码图像建模的成功形成了对比,其中预训练模型的性能明显优于监督的对应模型。这激励我们研究ConvNeXt编码器在掩码自编码器预训练过程中面临的独特挑战,下面将讨论。


表1 ConvNeXt-Base在ImageNet-1K上的MAE解码器烧蚀实验。我们报告了微调(ft)精度(%)。预训练计划为800 epoch。在解码器设计探索中,使用JAX在256核TPU-v3吊舱上对壁钟时间进行了基准测试。这种加速是相对于UNet解码器的基线而言的。我们在论文中使用的最终设计选择用灰色标记

4 全局响应归一化

在本节中,我们引入一种新的全局响应归一化(GRN)技术,与ConvNeXt架构相结合,使FCMAE预训练更有效。首先,通过定性和定量特征分析来激励所提出方法。

特征坍缩。 为了更好地了解学习行为,首先在特征空间中进行定性分析。可视化了FCMAE预训练convnextbase模型的激活,并注意到一个有趣的"特征坍缩"现象:有许多死亡或饱和的特征图,激活在各个通道中变得冗余。我们在图3中显示了一些可视化结果。这种行为主要在ConvNeXt块[52]中的维度扩展MLP层中观察到。


图3 特征激活可视化。我们在小正方形中可视化每个特征通道的激活图。为了清晰起见,我们在每个可视化中显示64个通道。ConvNeXt V1模型存在特征坍缩问题,其特点是跨通道存在冗余激活(死亡或饱和神经元)。为了解决这个问题,本文提出了一种新的方法来提高训练过程中的特征多样性:全局响应归一化(GRN)层。该技术应用于每个块的高维特征,导致了ConvNeXt V2架构的发展。

特征余弦距离分析。 为了进一步定量验证所观察到的结果,进行了特征余弦距离分析。将其重塑为HW维向量,并通过1C2 PC i PC j 1−cos(2Xi;Xj)计算通道上的平均成对余弦距离。距离值越高,特征越多样化;距离值越低,特征冗余度越高。

特征余弦距离分析。 为了进一步定量验证所观察到的结果,进行了特征余弦距离分析。给定一个激活张量 X ∈ R H × W × C X \in R^{H \times W \times C} XRH×W×C, X i ∈ R H × W X_{i} \in R^{H \times W} XiRH×W是第i个通道的特征图。将其重塑为HW维向量,并通过 1 C 2 ∑ i C ∑ j C 1 − cos ⁡ ( X i , X j ) 2 \frac{1}{C^{2}} \sum_{i}^{C} \sum_{j}^{C} \frac{1-\cos \left(X_{i}, X_{j}\right)}{2} C21iCjC21cos(Xi,Xj)计算通道上的平均成对余弦距离。距离值越高,特征越多样化;距离值越低,特征冗余度越高。

为了进行分析,在ImageNet-1K验证集中随机选择了不同类别的1000张图像,并从不同模型的每一层中提取高维特征,包括FCMAE模型、ConvNeXt监督模型[52]和MAE预训练的ViT模型[31]。然后,我们计算每个图像的每层距离,并将所有图像的距离取平均值。结果绘制在图4中。FCMAE预训练ConvNeXt模型表现出明显的特征坍缩趋势,这与我们在之前的激活可视化中的观察结果一致。这促使我们考虑在学习过程中使特征多样化并防止特征崩溃的方法。

方法。 大脑中有许多促进神经元多样性的机制。例如,侧抑制[6,30]有助于增强激活神经元的反应,并增加单个神经元对刺激的对比度和选择性,同时也增加了整个神经元群体反应的多样性。在深度学习中,这种形式的侧抑制可以通过响应归一化[45]来实现。本文提出一种新的响应归一化层,称为全局响应归一化(GRN),旨在增加通道的对比度和选择性。给定输入特征 X ∈ R H × W × C X \in R^{H \times W \times C} XRH×W×C,所提出的GRN单元由三个步骤组成: 1)全局特征聚合,2)特征归一化和 3)特征校准。

首先,我们总 X i X_{i} Xi映射到一个向量空间特征 g x gx gx全局函数 G ( ⋅ ) \mathcal{G}(\cdot) G()
G ( X ) : = X ∈ R H × W × C → g x ∈ R C . (1) \mathcal{G}(X):=X \in \mathcal{R}^{H \times W \times C} \rightarrow g x \in \mathcal{R}^{C} . \tag{1} G(X):=XRH×W×CgxRC.(1)
这可以被视为一个简单的池化层。我们在表2a中尝试了不同的函数。有趣的是,全局平均池化,一种广泛使用的特征聚合器[37,72],在我们的案例中表现不佳。相反,我们发现使用基于范数的特征聚合,特别是使用l2 -范数,可以产生更好的性能。这给我们一个聚合值的集合 G ( X ) = g x = { ∥ X 1 ∥ , ∥ X 2 ∥ , … , ∥ X C ∥ } ∈ R C \mathcal{G}(X)=g x= \left\{\left\|X_{1}\right\|,\left\|X_{2}\right\|, \ldots,\left\|X_{C}\right\|\right\} \in \mathcal{R}^{C} G(X)=gx={X1,X2,,XC}RC其中 G ( X ) i = ∥ X i ∥ \mathcal{G}(X)_{i}=\left\|X_{i}\right\| G(X)i=Xi是一个标量,用于聚合第i个通道的统计信息。

接下来,我们对聚合值应用响应归一化函数N(·)。具体来说,我们使用一个标准的分裂归一化如下:

N ( ∥ X i ∥ ) : = ∥ X i ∥ ∈ R → ∥ X i ∥ ∑ j = 1 , … , C ∥ X j ∥ ∈ R (2) \mathcal{N}\left(\left\|X_{i}\right\|\right):=\left\|X_{i}\right\| \in \mathcal{R} \rightarrow \frac{\left\|X_{i}\right\|}{\sum_{j=1, \ldots, C}\left\|X_{j}\right\|} \in \mathcal{R} \tag{2} N(Xi):=XiRj=1,,CXjXiR(2)

其中 ∥ X i ∥ \left\|X_{i}\right\| Xi是第i个通道的l2范数。直观地说,对于第i个通道,Eqn.2计算其相对于所有其他通道的相对重要性。与其他形式的归一化[42,45,68]类似,这一步通过相互抑制创建了跨通道的特征竞争。在表2b中,我们还检查了其他规范化函数的使用,并发现简单分裂式规范化效果最好,尽管当应用于相同的l2 -范数聚合值时,标准化 ( ∥ X i ∥ − μ ) / σ \left(\left\|X_{i}\right\|-\mu\right) / \sigma (Xiμ)/σ产生类似的结果。

最后,我们使用计算得到的特征归一化得分校准原始输入响应:
X i = X i ∗ N ( G ( X ) i ) ∈ R H × W (3) X_{i}=X_{i} * \mathcal{N}\left(\mathcal{G}(X)_{i}\right) \in \mathcal{R}^{H \times W} \tag{3} Xi=XiN(G(X)i)RH×W(3)
核心GRN单元非常容易实现,只需要3行代码,并且没有可学习的参数。GRN单元的伪代码在算法1中。

为了简化优化,我们添加了两个额外的可学习参数, γ \gamma γ β \beta β,并将它们初始化为零。我们还在GRN层的输入和输出之间添加了残差连接。GRN block的最终计算结果 X i = γ ∗ X i ∗ N ( G ( X ) i ) + β + X i X_{i}= \gamma * X_{i} * \mathcal{N}\left(\mathcal{G}(X)_{i}\right)+\beta+X_{i} Xi=γXiN(G(X)i)+β+Xi
这种设置允许GRN层最初执行一个恒等函数,并在训练过程中逐渐适应。表2c展示了残差连接的重要性。

ConvNeXt V2。 我们将GRN层合并到原始ConvNeXt块中,如图5所示。我们根据经验发现,当应用GRN时,LayerScale[65]变得不必要,并且可以删除。使用这种新的区组设计,创建了具有不同效率和容量的各种模型,称为ConvNeXt V2模型族。这些模型从轻量级(如atto[70])到计算密集型(如巨型)。详细的模型配置可以在附录中找到。

GRN的影响。 现在,我们使用FCMAE框架对ConvNeXt V2进行预训练,并评估GRN的影响。从图3的可视化和图4的余弦距离分析中,我们可以观察到ConvNeXt V2有效地缓解了特征坍缩问题。余弦距离值始终很高,表明跨层保持了特征多样性。这种行为类似于MAE预训练的ViT模型[31]。总的来说,这表明在类似的掩码图像预训练框架下,ConvNeXt V2学习行为可以类似于ViT。

接下来,评估微调性能。
在这里插入图片描述
当配备GRN时,FCMAE预训练模型可以显著优于300 epoch的监督模型。GRN通过增强特征多样性来提高表示质量,而特征多样性在V1模型中是缺失的,但已被证明对基于掩码的预训练至关重要。注意,这种改进是在不增加额外参数开销或增加浮点数的情况下实现的。


图4 特征余弦距离分析。由于不同架构的总层数不同,我们绘制归一化层索引的距离值。ConvNeXt V1 FCMAE预训练模型表现出严重的特征坍缩行为。监督模型也显示出特征多样性的减少,但仅在最终层。监督模型多样性的减少可能是由于使用了交叉熵损失,这鼓励模型专注于类区分性特征,同时抑制其他特征。

与特征规范化方法的关系。其他归一化层[2,41,45,67,73]能否表现得像全局响应归一化(GRN)层一样好?在表2d中,我们将GRN与三个广泛使用的归一化层进行了比较:局部响应归一化(LRN)[45]、批量归一化(BN)[41]和层归一化(LN)[2]。只有GRN可以显著优于监督基线。LRN缺乏全局上下文,因为它只对比相邻通道中的通道。BN沿着批处理轴进行空间归一化,这不适用于掩码输入。LN通过全局均值和方差标准化隐含地鼓励特征竞争,但效果不如GRN。

与特征门控方法的关系。另一种增强神经元之间竞争的方法是使用动态特征门控方法[37,56,69,72,78]。在表2e中,我们将GRN与两个经典的门控层进行了比较:squeeze-and - dexcite (SE)[37]和卷积块注意力模块(CBAM)[72]。SE专注于通道门控,而CBAM专注于空间门控。这两个模块都可以增加单个通道的对比度,类似于GRN的作用。GRN更简单、更高效,因为它不需要额外的参数层(如mlp)。


图5 ConvNeXt模块设计。在ConvNeXt V2中,我们在扩展维度的MLP层之后添加GRN层,并在LayerScale[65]变得冗余时删除它。

GRN在预训练/微调中的作用。研究了GRN在预训练和微调中的重要性。我们在表2f中给出了结果,其中我们要么从微调中删除GRN,要么只在微调时添加新的初始化的GRN。无论哪种方式,我们观察到性能显著下降,表明在预训练和微调中保持GRN是很重要的。

5 ImageNet实验

在本节中,提出并分析了两个关键建议,FCMAE预训练框架和ConvNeXt V2架构,它们是共同设计的,以使基于掩码的自监督预训练成功。这些设计很好地协同作用,并为将模型扩展到各种尺寸提供了强大的基础。通过实验将所提出方法与之前的掩码图像建模方法进行了比较。使用FCMAE框架预训练并在ImageNet-22K数据集上微调的最大的ConvNeXt V2巨型模型,仅使用公开数据,就可以在ImageNet-1K数据集上达到88.9%的最高精度。

联合设计很重要。 本文进行了一项独特的研究,包括联合设计自监督学习框架(FCMAE)和模型架构改进(GRN层),通过对它们的学习行为的实证研究。表3给出的结果表明了这种方法的重要性。
!


表3 合作设计很重要。当架构和学习框架共同设计和使用时,掩码图像预训练对ConvNeXt有效。本文报告了800个epoch FCMAE预训练模型的微调性能。模型越大,相对改进也越大。

发现在不修改模型架构的情况下使用FCMAE框架对表示学习质量的影响有限。类似地,新的GRN层在监督设置下对性能的影响相当小。然而,两者的结合可以显著提高微调性能。这支持了一种观点,即模型和学习框架应该一起考虑,特别是在涉及自监督学习时。

模型扩展。 在本研究中,我们评估了8个不同尺寸的模型,从低容量3.7M的Atto模型到高容量6.5 m的巨型模型。使用提出的FCMAE框架对这些模型进行预训练,并将微调结果与完全监督的对应模型进行比较。

图1所示的结果显示了强大的模型缩放行为,在所有模型大小的监督基线上,性能都得到了持续的提高。这是掩码图像建模的好处首次在如此广泛的模型范围内得到证明,无论是在有效性还是效率方面。完整的表格结果可以在附录中找到。

与先前方法的比较。 将该方法与之前的掩码自编码器方法[3,31,77]进行了比较,这些方法都是为基于transformer的模型设计的。结果总结在表4中。所提出框架在所有模型大小上都优于用SimMIM[77]预训练的Swin transformer。与用MAE[31]预训练的普通ViT相比,所提出方法的表现类似于大型模型,尽管使用的参数少得多(198M vs 307M)。然而,在庞大的模型体系中,我们的方法略有落后。这可能是因为巨大的ViT模型可以从自监督预训练中获益更多。正如我们接下来将看到的,这个差距可能会通过额外的中间微调来弥合。


表4 与之前的掩码图像建模方法的比较。预训练数据是1k内的训练集。所有自监督方法都以端到端的微调性能为基准,图像大小为224。我们强调每个模型大小的最高准确性,并大胆展示我们的最佳结果。

ImageNet-22K中级微调。本文还提出了ImageNet-22K中间微调结果[3]。训练过程包括三个步骤:1)FCMAE预训练,2)ImageNet-22K微调,3)ImageNet-1K微调。使用3842张分辨率图像对[38]进行预训练和微调。将结果与最先进的架构设计进行了比较,包括基于卷积的[52,64]、基于transformer的[22]和混合设计[20,66]。所有这些结果都是用ImageNet-22K监督标签训练的。结果总结在表5中。所提出方法使用基于卷积的架构,仅使用公开数据(即ImageNet-1K和ImageNet-22K)设置了新的最先进的精度。


表5 ImageNet-1K使用IN-21K标签进行微调的结果。配备FCMAE预训练的ConvNeXt V2巨型模型优于其他架构,在仅使用公开数据的方法中设置了88.9%的最新精度。

6 迁移学习实验

现在我们对迁移学习性能进行基准测试。评估了联合设计的影响,即比较了ConvNeXt V1 + supervised与ConvNeXt V2 + FCMAE。还将该方法与SimMIM预训练的Swin transformer模型[77]进行了直接比较。培训和测试细节见附录。


表6 基于Mask-RCNN的COCO目标检测和实例分割结果。计算FLOPS时,图像大小为(1280,800)。Swins的结果来自[77]。所有COCO微调实验都依赖于ImageNet-1K预训练模型。

基于COCO的目标检测与分割我们在COCO数据集[49]上微调Mask R-CNN[33],并报告COCO val2017集上的检测mAPbox和分割mAPmask。结果如表6所示。我们看到,随着我们的建议得到应用,情况正在逐步改善。从V1到V2,新引入了GRN层,提高了性能。在此基础上,当从监督学习转移到基于fcmae的自监督学习时,模型进一步受益于更好的初始化。当两者同时应用时,可以获得最好的性能。最后的建议是在FCMAE上预训练的ConvNeXt V2,在所有模型尺寸上都优于Swin transformer的对应方法,在巨大的模型环境下取得了最大的差距。

基于ADE20K的语义分割。总之,我们使用UperNet框架[74]在ADE20K[82]语义分割任务上进行了实验。结果显示了与目标检测实验相似的趋势,最终模型比V1监督的对应模型有了明显的改善。在基本模型和大型模型体系中,它的表现与Swin transformer相当,但在大型模型体系中优于Swin。


表7 使用UPerNet的ADE20K语义分割结果。Swins的结果来自[77]。FLOPS的输入大小为(2048,512)或(2560,640)。除FCMAE、22K ft外,所有的ADE20K微调实验都依赖于ImageNet-1K预训练模型,在这种情况下,ImageNet-1K预训练之后是ImageNet-22K监督微调。

7 结论

本文提出一种新的卷积网络模型族,称为ConvNeXt V2,覆盖了更广泛的复杂性。虽然该架构的变化很小,但它是专门为更适合自监督学习而设计的。使用所提出的全卷积掩码自编码器预训练,可以显著提高纯卷积网络在各种下游任务中的性能,包括ImageNet分类、COCO目标检测和ADE20K分割。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

评价类模型(层次分析法与模糊评价模型)

一、评价类模型 综合评价的基本理论和数据预处理: 评价对象评价指标权重系数综合评价模型评价者 二、AHP法—层次分析法 通过打分解决评价类问题,两两比较,推算权重。 %function RIAHPRI(n) %利用MATLAB求随机一致性指标; i0;CI0;Azer…

pyqt5下的QInputDialog跟QFileDialog以及关闭主窗口子窗口自动关闭

QInputDialog 具体的参数可以参考: Qt:30---QInputDialog标准输入对话框_mb6128aabee41d4的技术博客_51CTO博客 官网连接: QInputDialog Class | Qt Widgets 5.15.12 这里只介绍QInputDialog.getText 代码实现: from PyQt5.…

【从零开始学爬虫】采集食品行业最新报价数据

l 采集网站 【场景描述】采集食品行业最新报价数据。 【源网站介绍】中国报告大厅网休闲食品行业数据频道提供休闲食品行业数据信息,在此有大量休闲食品行业数据信息可供选择,是一个可以帮助休闲食品行业了解数据的平台。 【使用工具】前嗅ForeSpider…

hbase2.x orphan regions on filesystem

问题描述:orphan regions on filesystem 可以通过主master web页面的HBCK Report查看 也可以通过hbck2工具查看 # 查看指定表 hbase hbck -j $HBASE_HOME/lib/hbase-hbck2-1.3.0-SNAPSHOT.jar addFsRegionsMissingInMeta default:tableName # 查看命名空间下所有…

Git分支开发中的问题

前言我们在开发中,经常是很多人开发同一份代码,早期没有git工具的时候那可真是噩梦,要复制来复制去,不止繁琐,还容易出错,所以后来涌现了各种代码工具,Svn,Git等等,而Git…

一、mysql基础、MySQL的安装及卸载、DML、DQL

MySQL基础 1、数据库相关概念 以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。 假设在文件中存储以下的数据: 姓名 年龄 性别 住址 张三 23 男 北京西三…

干货|app自动化测试之Andriod WebView如何测试

Hybrid App(混合模式移动应用)是介于 Web-app、Native-app 之间的 app,本质上是 Native-app 中嵌入 WebView 组件,在 WebView 组件里可以访问 Web App。Hybrid App 在给用户良好交互体验的同时,还具备了 Web App 的跨平…

Python数学建模问题总结(2)数据可视化Cookbook指南【源自Google可视化团队】

今天跟大家分享一套谷歌数据可视化团队形成的全面的数据可视化指南,涵盖了设计原则、图表分类、图表的选用、样式设计、交互设计、仪表板设计等方面。一、可视化问题不论你是从事数据相关工作,还是业务相关工作,或多或少都会需要用到数据可视…

docker 部署maven服务器用于项目的部署和发布

书接上文 现状: 已经搭建好了maven远程服务器,并将自己的项目从自己的pc部署到maven远程服务器.假设了kie-server集群可以每个node都连接这个远程服务器 要做的: 1.创建kie-server集群的时候设置环境变量. 2.看是否能连上自己搭建的maven服务器.3.如果2 ok 把kie-server需要…

干货|app自动化测试之Appium 原理 与 JsonWP 协议分析

想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。Appium 原理图中依赖关系解释&…

MySQL高级 【视图】

目录 1:视图 1.1:介绍 1.2:语法 1.3:检查选项 1.4:视图的更新 1.5:视图作用 1.6:案例 1:视图 1.1:介绍 视图(View)是一种虚拟存在的表。…

一文看懂什么是「低代码」!低代码真的能取代程序员吗?

早在数年前,亚马逊、微软、阿里、腾讯等国内外巨头公司就已纷纷入局“低代码”赛道,而很多人连低代码是什么,究竟有什么用都不太知道。 本文就从概念讲起,结合三个生动的行业案例,一文讲通“什么是低代码”。 文章有…

【强训】Day03

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 字符串中找出连续最长的数字串2. 数组中出现次数超过一半的数字答案1. 选择2. 编程普通小孩也要热爱生活! 一、选择 以下代码运行输出的是() public class …

都2023了,为什么选择Nacos,这篇文章让你入门Nacos

👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 Nacos入门 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 ♨️如果文章有什么…

传奇开服一条龙GEE引擎登录器配置教程

1、首先我们打开我们版本文件夹找到登录器文件夹进入找到GEE登录器配置器(MakeGameLogin.exe)打开2、接下来开始填写我们的主列表和备列表,这时候我们要自己创建一个列表,因为登录器自带的列表肯定是读取不了的,我们在…

Speckle核心概念【3D数据引擎】

本节将详细介绍你的3D数据如何发送到 Speckle 并存储在 Speckle 中。 无论你是 Speckle 的新手还是只是需要复习,这都是一个很好的起点! 1、关于Speckle术语 我们尽量使本指南简单明了,删除了技术语言,除非绝对必要。 值得注意的…

页面表格中每行前添加复选框,点击复选框导出本行数据(掉后端接口)

需求如下:html表格中,每行前面添加一个复选框,单机复选框下载/到处本行数据 思路: 页面: 页面首先要添加复选框,然后点击复选框,调用导出方法 同时获取到与它对应的数据库唯一id信息&#xf…

Seata 1.6.0 正式发布,大幅度提升存储性能

作者:Seata 社区 用户登记* * 欢迎已使用用户在此链接登记,便于我们更好的针对业务场景优化: https://github.com/seata/seata/issues/1246 发布概览* * 主要新增特性:支持 oracle 和 pgsql 多主键;支持 seata-ser…

芯片+步进电机档位控制实验

1、系统功能 目的:学习步进电机的控制。 使用设备:步进电机、两位共阴数码管、按键 功能:驱动步进电机以不同转速(4档)转动,并将当前档位用数码管显示 (1)按键 KEY1 作为启动和停止的切换按键;…

【Git】Git概述与安装

1、Git 概述 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversio…