理解CAE

用于自监督表示学习的上下文自动编码器

摘要

我们提出了一种新的掩模图像建模(MIM)方法,上下文自编码器(CAE),用于自监督表示预训练。我们通过在编码的表示空间中进行预测来预训练编码器。预训练任务包括两个任务:掩模表示预测—预测掩模块的表示,以及掩模块重建—重建被掩模块。

该网络是一个编码器-回归器-解码器架构:编码器将可见的patch作为输入;回归量使用可见补丁的表示以及可见和被掩盖的补丁的位置来预测掩码补丁的表示,该掩码补丁预计将与从编码器计算的表示对齐;解码器根据预测的编码表示重建掩码补丁。CAE设计鼓励将学习编码器(表示)与完成相关任务分离:掩码表示预测和掩码补丁重建任务,并且在编码的表示空间中进行预测经验地显示了表示学习的好处。我们通过在下游任务(语义分割、对象检测和实例分割以及分类)中优越的传输性能证明了我们的CAE的有效性。

1.引言

我们研究了用于自监督表示学习的掩蔽图像建模(MIM)任务。它的目的是通过屏蔽输入图像的一些补丁,并从可见补丁中对被屏蔽的补丁进行预测来学习编码器。期望通过解决MIM任务预训练得到的编码器能够提取具有语义的补丁表示,这些语义传递给解决下游任务。

典型的MIM方法,如BEiT[4]、ViT论文[26]中研究的方法和iBoT[104],使用单一的ViT架构来解决预训练任务,即重建patch令牌或像素颜色。这些方法混合了两个任务:学习编码器(表示)和重建掩码补丁。随后的方法,掩码自动编码器(MAE)[38]采用编码器-解码器架构,部分解耦了这两个任务。因此,表现质量受到限制。除iBoT[104]外,大多数先前的方法都缺乏可见斑块和掩码斑块编码表示之间的显式建模。

我们提出了一种上下文自动编码器(CAE)方法,如图1所示,用于提高编码质量。我们通过对编码表示空间中的掩码块进行预测来预训练编码器。预训练任务是掩模表示预测和掩模补丁重建的结合。预训练网络是一个编码器-回归-解码器架构。编码器只接受可见的patch作为输入,并且只学习可见patch的表示。回归量预测掩码补丁表示,这将与从编码器计算的掩码补丁表示,从可见的补丁表示相一致。解码器在不接收可见补丁表示的情况下,根据预测的掩码补丁表示重建掩码补丁。

在编码表示空间中,从可见补丁到被掩盖补丁的预测会对被掩盖补丁产生一个可信的语义猜测,该猜测与可见补丁位于相同的语义空间中。我们假设,如果编码表征具有更高的语义,则预测更容易,并且准确的预测鼓励编码表征具有更大程度的语义,并通过实验进行经验验证。

CAE设计还鼓励了学习编码器和完成预训练任务的分离:表示学习的责任主要由编码器承担,编码器只负责表示学习。原因包括:图1中顶部流中的编码器只对可见补丁进行操作,只专注于学习语义表示;回归是在编码的表示空间上完成的,作为可见补丁和掩码补丁表示之间的映射;解码器仅对掩码补丁的预测表示进行操作。

我们展示了我们的方法在下游任务、语义分割、对象检测和实例分割以及分类方面的经验性能。结果表明,该方法优于监督预训练、对比自监督预训练和其他MIM方法。

2.相关工作

自监督表示学习在计算机视觉中得到了广泛的研究,包括:上下文预测[24,75]、基于聚类的方法[88,93,8,1105,45,9,36]、对比自监督学习[55,65,41,80]、实例识别[28,27]、图像离散化[34,35]、掩膜图像建模[59,31,74]和信息最大化[30,97,5]。下面主要回顾相关的方法。

Autoencoding。传统上,自编码器用于降维或特征学习[53,32,43,42,70,78,51]。去噪自动编码器(DAE)是一种自动编码器,它接收一个损坏的数据点作为输入,并被训练来估计原始的、未损坏的数据点作为输出。自监督表示学习采用DAE的变体或修改,例如通过屏蔽像素破坏[79,66,15],去除颜色通道[100],洗牌图像补丁[64],去噪像素级噪声[2]等。

对比自监督学习。对比自监督学习(contrast self-supervised learning),本文指的是比较随机视图与对比损失或简单的MSE损失的自监督方法,如[33]所示,在自监督表示学习中很流行[18,39,73,21,37,11,20,10,85,67]。其基本思想是最大化从同一图像增强的视图之间的相似性,并可选择最小化从不同图像增强的视图之间的相似性。随机裁剪是一种重要的增强方案,典型的对比自监督学习方法(如MoCo v3)倾向于主要从原始图像的中心区域学习知识。一些密集的变异[82,90]通过考虑与密集斑块的额外对比损失,在有限程度上消除了这种趋势。

蒙面图像建模。在BERT对掩膜语言建模[23]的激励下,[26]和[4]研究的方法使用ViT结构来解决掩膜图像建模任务,例如估计像素或离散标记。后续研究iBOT[104]结合了MIM方法(BEiT)和对比自监督方法(DINO[11])。但是它们没有明确的用于表示学习的编码器或用于预训练任务完成的解码器,并且ViT结构本质上是编码器和解码器的混合,限制了表示学习的质量。

随后开发了几种MIM方法来提高编码器质量,例如设计预训练架构:mask Autoencoder (MAE)[38]、SplitMask[29]和Simple MIM (SimMIM) [91];采用新的重构目标:mask Feature Prediction (MaskFeat) [83], Perceptual Codebook for BEiT (PeCo) [25], data2vec[3]。我们方法的技术报告1最初以arXiv论文的形式发表[19],与data2vec[3]、MAE[38]以及其他方法(如[29,91])并行。此后,MIM方法发展迅速,如扩展到频率/语义域[87,61,84,58],结合了对比自监督学习[72,49,94,47]、高效预训练[101,46,13]、掩码策略设计[50,54,57]、MIM的可扩展性[92]和MIM的解释[89,56,52]。

我们方法的核心思想是在编码表示空间中进行预测。我们共同解决了两个预训练任务:掩码表示预测-预测掩码补丁的表示,其中表示位于编码器输出的表示空间中,以及掩码补丁重建-重建掩码补丁。

我们的方法与MAE[38]明显不同(图2(顶部))。我们的方法引入了一个额外的预训练任务,掩码表示预测,并鼓励两个角色的分离:学习编码器和完成预训练任务;相反,MAE部分地混合了这两个角色,并且没有明确的预测掩码补丁表示。

另一方面,我们的方法不同于data2vec[3]和iBoT[104](图2(底部))。与BEiT类似,在data2vec和iBoT中,没有明确的学习编码器和估计掩码补丁表示的模块分离,目标表示是由与学生网络相同网络的全视图(作为教师)形成的,用于处理掩码视图和预测掩码补丁表示(除了iBoT中针对DINO之后的教师的中心过程)。相比之下,我们的方法很简单:仅从编码器的输出中形成目标表示,编码器-回归器的设计是直截了当地和可解释的:回归器预测掩码补丁的表示,以匹配直接从编码器计算的表示。

3.方法

3.1结构

我们的上下文自动编码器(CAE)是一种掩模图像建模方法。图1所示的网络是一个编码器-回归器-解码器架构。关键是在编码的表示空间中从可见补丁到掩码补丁进行预测。预训练任务包括:掩码表示预测和掩码补丁重建。

我们随机将图像分成两组补丁:可见补丁Xv和遮罩补丁Xm。编码器以可见的patch作为输入;回归量根据基于掩码块位置的可见块的表示来预测掩码块的表示,该掩码块预计与从编码器计算的表示对齐;解码器根据预测的编码表示重建掩码补丁。

编码器。编码器F将可见补丁Xv映射到潜在表示Zv。它只处理可见的补丁。我们使用ViT来形成编码器。首先通过线性投影对可见的小块进行嵌入作为小块嵌入,然后对位置嵌入进行叠加。

然后,它将组合嵌入发送到一系列基于自关注的变压器块中,生成Zv。

回归量。潜在上下文回归器H根据编码器输出的可见斑块的潜在表征Zv来预测被掩盖斑块的潜在表征Zm,该表征Zv以被掩盖斑块的位置为条件。我们使用一系列基于交叉注意的转换块形成潜在的上下文回归量H。

初始查询Qm,称为掩码查询,是作为模型参数学习的掩码令牌,对于所有掩码补丁都是相同的。键和值在线性投影之前是相同的,由可见的patch表示Zv和前一个交叉注意层的输出组成(第一个交叉注意层的掩码查询)。在计算查询和键之间的交叉注意权值时,考虑掩码块的相应位置嵌入。在此过程中,不更新可见补丁的潜在表示Zv。

译码器。解码器G将掩码块的潜在表示Zm映射到某些形式的掩码块Ym。解码器类似于编码器,是一堆基于自关注的变压器块,然后是预测目标的线性层。解码器只接收掩码补丁的潜在表示(潜在上下文回归器的输出),以及掩码补丁的位置嵌入作为输入,而不直接使用可见补丁的信息。

3.2目标函数

掩蔽。根据BEiT[4],我们采用随机块屏蔽策略(如图3所示),将输入图像分成两组patch,可见patch和被屏蔽patch。对于每张图像,196个(14 × 14)块中的98个被屏蔽。

目标。遮罩补丁表示的目标¯Zm如下所示。我们将遮罩补丁Xm输入编码器,这与编码可见补丁的编码器相同,并生成遮罩补丁的表示¯Zm作为表示目标。

patch重建的目标¯Ym由离散标记器形成,例如,在ImageNet-1K上使用d-V AE训练而不使用标签的标记器或在BEiT[4]中使用的DALL-E标记器(在400M图像上使用d-V AE训练)[69]。将输入图像输入到标记器中,为每个patch分配一个离散的标记,以形成重建目标¯Ym。

4.讨论

4.1分析

在编码的表示空间中进行预测。我们的CAE尝试在编码表示空间中进行预测:从可见补丁的编码表示中预测掩码补丁的表示。换句话说,期望潜在上下文回归量的输出表示也位于编码的表示空间中,这是通过预测对齐来确保的。

这鼓励学习到的表示在很大程度上承担从可见补丁到掩码补丁的预测语义,有利于编码器的表示学习。

我们通过图像重建经验验证了预测表征存在于编码表征空间中。我们使用像素颜色作为预测目标来训练CAE,分为两种情况:有对齐和没有对齐,即掩模表示预测。对于重建,我们将图像(来自ImageNet验证集)的所有补丁(没有屏蔽,所有图像补丁都是可见的)馈送到预训练的编码器中,然后跳过潜在的上下文回归器,直接将所有编码的补丁表示发送到预训练的解码器以重建整个图像。

图4提供了从ImageNet-1K验证集中随机采样的几个示例的重建结果。可以看到,我们的方法可以成功地重建图像,这意味着潜在上下文回归量的输入和输出表示在同一空间中。相反,如果没有对齐,重建图像是有噪声的,这表明潜在上下文回归量的输入和输出表示在不同的空间。结果表明,显式预测对齐对于确保在编码表示空间中进行预测至关重要。

CAE中的表征对齐与对比自监督学习。表示对齐也用于对比自监督学习方法,如MoCo、BYOL、SimCLR,以及混合对比自监督学习和掩模图像建模的方法,如iBOT和MST。对准损耗可以是MSE损耗或CAE也可以利用的对比损耗。

在CAE中,通过回归器H对表征Zm = H(F(Xv))施加对齐,表征Zm = H(F(Xv))是通过可见补丁的表征F(Xv)预测的,表征¯Zm = F(Xm)是由编码器F计算的。Zm和¯Zm都是关于被屏蔽的补丁的,并且位于编码器输出的表征空间中。

不同的是,在大多数对比的自监督学习方法中,对齐是强加在表示{P(F(V1)), P(F(V2)),···,P(F(VN))}上的,其中P是一个投影仪,一些视图可以用编码器和投影仪的EMA版本进行处理。

要对齐的N个表示是关于不同的视图{V1, V2,···,VN}(在iBoT和MST中,视图是遮罩视图和完整视图),并且不是直接从编码器输出的。投影仪是如何工作的还不是很清楚,在[68]中有报道称,投影仪是一个将对象部分表示映射到整个对象表示的部分到整体的过程,用于对比自监督学习。

4.2联系

与自动编码器的关系。原始的自动编码器[53,32,43]由编码器和解码器组成。编码器将输入映射为潜在表示,解码器从潜在表示重建输入。去噪自编码器(denoising autoencoder, DAE)[79]是自编码器的一种变体,它通过添加噪声来破坏输入,但仍然重建未损坏的输入。

我们的CAE编码器类似于原来的自动编码器,也包含一个编码器和一个解码器。与编码器和解码器处理整个图像的自编码器不同,我们的编码器将一部分补丁作为输入,而我们的解码器将其他部分补丁的估计潜在表示作为输入。重要的是,CAE在从可见斑块到掩蔽斑块的潜在空间中进行预测。

与BEiT、iBoT和MAE的关系。CAE编码器处理可见的补丁,提取它们的表示,而不对掩码补丁进行预测。通过回归量和预测对齐进行掩码表示预测,保证回归量的输出与编码器输出处于相同的表示空间。解码器只处理掩码补丁的预测表示。我们的方法鼓励编码器承担表示学习的责任,并且只负责表示学习。

相比之下,BEiT[4]和iBOT的MIM部分并没有将表示提取角色和任务完成角色分开,而是使用一个网络,同时将可见补丁和掩码补丁作为两个角色的输入。在MAE[38]中,所谓的解码器可能在表征学习中发挥部分作用,因为可见补丁的表征也在MAE解码器中更新。与CAE、MAE、iBoT不同的是,BEiT并没有明确地从可见patch(位于编码的表示空间)的表示中预测掩码patch的表示。

当将预训练好的编码器应用于下游任务时,通常使用下游任务层(如分割层或检测层)代替借口任务完成部分。表征学习(编码)与借口任务完成的分离有助于下游任务应用充分利用表征预训练。

我们在图5中提供了CAE、BEiT[4]、去噪自编码器、掩码自编码器[38]和SplitMask[29](一个流)的计算图。与我们的CAE相比,MAE的主要问题是所谓的解码器R也可能具有编码作用,即学习可见补丁的语义表示。

对比自监督学习。典型的对比自监督学习方法,如SimCLR[18]和MoCo[39,21],通过解决托皮任务来预训练网络,最大化来自同一图像的增强视图(如随机作物)之间的相似性,最小化来自不同图像的增强视图之间的相似性。

文献[18]表明,随机裁剪在对比自监督学习的视图增强中起着重要作用。通过分析随机作物(如图3所示),我们观察到原始图像空间的中心像素有很大的机会属于随机作物。我们怀疑,通过对比自监督学习对随机作物可能与其他增强方案学习的全局表示倾向于主要关注原始图像中的中心像素,因此来自同一图像的不同作物的表示可能是相似的。图6(第二行)显示,对于典型的对比自监督学习方法MoCo v3,原始图像的中心区域被高度关注。随机作物中与原始图像中心对应的部分仍然被处理,如图8所示。

相比之下,我们的CAE方法(以及其他MIM方法)从增强视图中随机采样斑块,以形成可见和遮罩斑块。对于增强视图和原始图像,所有的补丁都可能被随机屏蔽。因此,CAE编码器需要学习所有补丁的良好表示,以便从可见补丁中对屏蔽补丁做出良好的预测。图6(第三行)说明了我们的CAE编码器几乎考虑了原始图像中的所有补丁。

考虑到ImageNet-1K中1000个类别的实例主要位于原始图像的中心周围[71],典型的对比自监督学习方法,如MoCo v3,主要学习1000个类别的知识,类似于监督预训练。但我们的CAE和其他MIM方法能够从非中心图像区域学习到超过1000个类别的知识。这表明CAE有潜力更好地执行下游任务。

5.实验

5.1实现

我们研究了标准的ViT小型、基础和大型架构,ViT- s(12个尺寸为384的变压器块)、ViT- b(12个尺寸为768的变压器块)和ViT- l(24个尺寸为1024的变压器块)。

潜在上下文回归器由4个基于交叉注意的变压器块组成,其中自注意覆盖标记和编码的可见补丁表示是一种选择,但计算成本略高,性能略低;解码器由4个基于自注意的变压器块和一个用于预测的额外线性投影组成。

5.2实验细节

Pretraining。预训练设置与BEiT[4]基本相同。我们在ImageNet-1K上训练CAE。

我们将224 × 224的图像分割成14 × 14个小块,小块大小为16 × 16。我们使用标准的随机裁剪和水平翻转来增强数据。我们使用AdamW[63]进行优化,训练CAE为300/800/1600 epoch,批大小为2048。我们将学习率设置为1.5e-3,并伴有余弦学习率衰减。权重衰减设为0.05。300/800/1600次预训练的热身时段分别为10/20/40。我们采用滴径[44]率为0.1,滴径率为0。

线性探测。我们使用动量为0.9的LARS[95]优化器。该模型训练了90个epoch。批大小为16384,预热epoch为10,学习率为6.4。接下来[38],我们在线性分类器之前额外采用了一个没有仿射变换(affine=False)的BatchNorm层[48]。我们不使用mixup[99]、cutmix[96]、drop path[44]或颜色抖动,并且我们将权重衰减设置为零。

细心的调查。在注意探测过程中,编码器的参数是固定的。一个交叉注意模块,一个BatchNorm层(仿射=False)和一个线性分类器被附加在编码器之后。交叉注意中额外的类标记表示作为模型参数学习。键和值是从编码器输出的补丁表示。在额外的交叉注意模块中没有MLP或跳过连接操作。我们使用动量为0.9的SGD优化器并训练模型90次。批大小为8192,预热epoch为10,学习率为0.4。与线性探测一样,我们不使用mixup[99]、cutmix[96]、drop path或颜色抖动,并将权重衰减设置为零。

对ImageNet进行微调。我们在BEiT中遵循微调协议,使用分层学习率衰减、权重衰减和AdamW。批量大小为4096,预热时间为5,权重衰减为0.05。对于ViT-S,我们训练了200个epoch,学习率为1.6e-2,分层衰减率为0.75。对于vitb,我们训练了100个epoch,学习率为8e-3,分层衰减率为0.65。对于vitl,我们训练了50个epoch,学习率为2e-3,分层衰减率为0.75。

ADE20K上的语义分割。我们使用AdamW作为优化器。输入分辨率为512 × 512。批量大小为16。对于ViT-B,逐层衰减率为0.65,下降路径率为0.1。我们从四种学习率,1e-4, 2e-4, 3e-4和4e-4中搜索表2中的所有结果。对于ViT-L,逐层衰减率为0.95,下降路径率为0.15。我们从3e-5、4e-5和5e-5三种学习速率中搜索所有方法,并对160K步进行微调。我们不使用多尺度测试。

基于COCO的目标检测与实例分割。我们利用多尺度训练,调整图像的大小,短边的大小在480 ~ 800之间,长边的大小不大于1333。批大小为32。对于ViT-S,学习率为3e-4,分层衰减率为0.75,下降路径率为0.1。对于ViT-B,学习率为3e-4,分层衰减率为0.75,下降路径率为0.2。

对于ViT-L,学习率为2e-4,分层衰减率为0.8,下降路径率为0.2。我们使用1x时间表训练网络:12个epoch,在epoch 9和11时学习率衰减10x。

我们不使用多尺度测试。Mask R-CNN的实现遵循MMDetection[14]。

5.3预训练评估

线性探测。线性探测被广泛用于自监督表示学习的预训练质量评价。它通过使用图像的标签在预训练编码器的图像级表示输出上学习线性分类器,然后在验证集上测试性能。

细心的调查。用MIM方法预训练的编码器的输出是所有patch的表示。它不适合线性探测表示,从补丁表示中平均池化,因为ImageNet-1K中的图像标签只对应于一部分补丁。也不适合在编码器中使用默认类令牌,因为默认类令牌充当聚合补丁表示以更好地提取补丁表示的角色,而不仅仅用于与图像标签对应的补丁部分。

为了使用图像级标签作为评估使用MIM方法预训练的编码器的预训练质量的代理,我们需要关注与标签相关的补丁。我们引入了一个简单的修改,使用一个带有额外类标记(与编码器中的类标记不同)的交叉注意单元作为查询,编码器的输出补丁表示作为键和值,然后是一个线性分类器。引入的交叉注意单元能够主要关注ImageNet-1K中属于1000个类的补丁,并去除其他补丁的干扰。图10演示了交叉注意单元的效果,显示了额外的交叉注意单元可以在一定程度上关注与1000个ImageNet-1K类相关的区域。

结果。表1显示了具有代表性的对比自监督预训练(MoCo v3和DINO)和MIM (BEiT和MAE)方法的线性探测(LIN)、注意探测(ATT)和调优(FT)三种方案的结果,以及我们对由dll - e标记器(在400M图像上训练)和d-V AE标记器(在ImageNet1K上训练,不使用标签)形成的目标的方法,分别表示为CAE*和CAE。300 epoch的MAE和BEiT的模型是我们使用官方实现进行预训练的,其他模型是官方发布的模型。

我们强调一些观察结果。这些方法的微调性能非常相似,只有与观测结果相似的微小差异[104]。

我们认为原因是在同一数据集上进行了自监督预训练和微调,没有引入额外的图像分类知识。微小的差异可能来自优化方面:用于微调的不同初始化(由预训练模型提供)。

在线性探测方面,对比自监督学习方法MoCo v3和DINO的得分高于MIM方法。这是意料之中的,因为对比自监督学习主要侧重于学习1000个类的表示(参见第4节的讨论)。预训练相对于现有的MIM方法更容易,因为对比自监督学习主要关注1000个类,而MIM方法可能会关注1000个类之外的类。

对于MIM方法,注意探测的得分远高于线性探测。这验证了我们的分析:MIM方法提取了所有补丁的表示,分类任务需要关注补丁的相应部分。

在vitb上对比自监督预训练的LIN和ATT分数相似,例如MoCo v3的(76.2 vs 77.0)和DINO的(77.3 vs 77.8)。这意味着在注意探测中额外的交叉注意不会产生很大的差异,这是我们在第4节中的分析的另一个证据,即他们已经主要关注1000个类别中的实例所在的区域。

5.4下游任务

基于ADE20K的语义分割[103]。我们遵循实现[4]来使用UperNet[86]。在ImageNet-1K上学习到的分词器的CAE的性能与在dale - e提供的400M图像上学习到的分词器(CAE*)的性能几乎相同,这意味着在ImageNet-1K(不使用标签)或更大的数据集上训练的分词器不会影响预训练质量,从而影响下游任务的性能。

表2显示,使用ViT-B,我们的CAE*具有300个训练epoch的性能优于DeiT, MoCo v3, DINO, MAE(1600个epoch)和BEiT。我们的CAE* (1600 epoch)进一步提高了分割分数,比MAE (1600 epoch), MoCo v3和DeiT分别高出2.1,3.0和3.2。使用viti - l,我们的CAE* (1600 epoch)分别比BEiT (1600 epoch)和MAE (1600 epoch)高1.4和1.1。

优于监督和对比自监督预训练方法(DeiT, MoCo v3和DINO)的结果源于我们的方法捕获了ImageNet-1K中超过1000个类的知识。我们的CAE在编码的表征空间中进行预测,并且表征学习和借口任务完成是分开的。

基于COCO的目标检测与实例分割[60]。我们采用Mask R-CNN方法[40],以ViT为主干,同时生成边界框和实例掩码。结果如表3所示。我们报告了用于对象检测的框AP和用于实例分割的掩码AP。

观察结果与表2中语义分割的结果一致。我们的CAE* (300 epoch, vitb - b)除了略低于MAE (1600 epoch)外,其他所有模型都优于CAE* (300 epoch, vitb - b)。我们的方法(1600 epoch)比MAE (1600 epoch), MoCo v3和DeiT分别高出1.6,4.5和3.1。使用ViT-L,我们的CAE达到了54.6盒AP,比MAE高出0.6。

我们还在表6中报告了使用cascade Mask R-CNN框架[7]对COCO进行对象检测和实例分割的结果。结果表明,我们的CAE算法的性能优于其他方法。

此外,我们还对CAE在检测任务上的缩放能力进行了实验。检测模型建立在viti - huge[26]、DINO[98]和Group DETR[16](详见[17])之上。使用CAE在ImageNet-22K[22]上对ViTHuge进行预训练。

我们是第一个在COCO test-dev上获得64.6 mAP的,它优于以前使用更大模型和更多训练数据的方法(例如BEIT-3 [81] (63.7 mAP)和SwinV2-G [62] (63.1 mAP))。

分类。我们在Food-101[6]、Clipart[12]和Sketch[12]三个数据集上进行了微调实验。

表4的结果表明,本文提出的方法优于之前的监督方法(DeiT)和自监督方法(DINO, MAE)。

5.5消融实验

解码器和对齐。CAE架构包含几个用于预训练编码器的组件:用于掩模表示预测的回归器和对齐,用于掩模补丁重建的具有线性层的解码器。我们观察到,如果不包括预训练任务,掩码补丁重建,训练崩溃,导致一个平凡的解决方案。因此,我们研究了解码器的影响(当解码器被去除时,我们使用线性层来预测目标),这有助于目标重建,以及对齐,这有助于表示预测。

消融结果如表5所示。我们报告了线性探测、细心探测、微调和下游任务的分数:ADE20K数据集上的语义分割和以DALL-E标记器为目标的COCO上的对象检测。可以看到,当只添加解码器时,下游任务性能几乎相同,当添加解码器和对齐时,性能会增加。这也验证了对齐对于确保掩码补丁的预测表示位于编码的表示空间中,从而在编码的表示空间中进行预测,从而提高表示质量的重要性。如果没有解码器,性能就会下降。这是因为从语义表示到低级目标的重建不能通过单一的线性层完成,并且没有解码器会降低编码器的语义质量。解码器和对齐带来的额外计算成本,即参数数量和训练时间的增加相对较小,例如参数数量增加到1.23倍,训练时间增加到1.24倍。

面具比率。我们还进行了40%、50%和60%不同掩膜比例的实验。结果如表7所示。我们发现50%的比例比40%的比例效果更好。采用更高的掩码比(60%)可以进一步提高线性探测和注意探测的性能,而语义分割性能下降0.2%。除非特别说明,我们在工作中选择50%。

回归器和解码器中的#层。对于潜在上下文回归器和解码器的层数,我们尝试了四种选择:1层、2层、4层和5层。线性探测的结果分别为58.7、62.1、64.1和64.2。注意探查的结果分别为67.5、71.1、73.8和73.7。我们根据经验观察到,4层总体上优于其他选择。

损失权衡参数。在方程1给出的损失函数中有一个权衡变量λ。我们没有做广泛的研究,只尝试了三个选择,λ = 1, λ = 1.5和λ = 2。线性探测结果分别为63.4、63.7和64.1。选择λ = 1效果也很好,比我们实验中采用的λ = 2略差。

重建目标。为了研究不同的预训练目标对模型性能的影响,我们在RGB像素值目标上进行了额外的实验。与在ImageNet-1K上训练的dll - e分词器和d-V AE分词器的结果比较,该模型的线性探测和分割效果更好,但注意探测效果较差,如表8所示。这三种目标的预训练效果相似,说明CAE不依赖于特定的预训练目标。

6.结论

我们的遮罩图像建模CAE架构的核心设计是从编码表示空间中的可见补丁到遮罩补丁进行预测。我们采用了两个预训练任务:掩模表示预测和掩模补丁重建。实验证明了CAE设计的有效性。此外,我们还指出,相对于ImageNet-1K上典型的对比自监督预训练和监督预训练,MIM方法的优势在于MIM学习了所有patch的表示,而典型的对比自监督预训练(如MoCo和SimCLR)和监督预训练往往主要从原始图像的中心patch学习语义,而很少从非中心patch学习语义。

如arXiv版本[19]所述,可能的扩展包括:研究仅考虑预训练任务的可能性,掩模表示预测,不进行掩模补丁重建,使用掩模卷积预训练深度卷积网络,以及使用CLIP目标进行预训练[102]。

潜在的局限性。该方法在处理图像中大面积且连续的被遮挡区域时,可能会面临整个目标区域几乎被遮挡的挑战。由于模型必须根据有限的可用上下文推断缺失的信息,因此获得大面积的可信和高质量的重建可能特别困难。这是蒙面图像建模方法的一个常见的局限性,我们提出的方法也不能幸免。

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

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

相关文章

专业145+总分410+西工大西北工业大学827信号与系统考研经验电子信息与通信工程,海航,真题,大纲,参考书。

经过一年的努力,分数终于出来。今年专业课827信号与系统145(很遗憾差了一点点满分,没有达到Jenny老师的最高要求),数一130,英语和政治也都比较平衡,总分410分,当然和信息通信考研Jen…

C及C++每日练习(2)

1.选择: 1.使用printf函数打印一个double类型的数据,要求:输出为10进制,输出左对齐30个字符,4位精度。以下哪个选项是正确的? A.%-30.4e B.%4.30e C.%-30.4f D.%-4.30 在上一篇文章中,提到了…

变老特效哪个app可以拍?深入探索变老效果的应用

随着科技的进步和智能手机的普及,各种摄影应用如雨后春笋般涌现,为我们提供了前所未有的创意拍摄体验。其中,变老特效因其独特的魅力,吸引了众多用户的关注。这种特效能够让我们在短时间内看到自己老去的模样,既有趣又…

JavaWeb HTTP 请求头、请求体、响应头、响应体、响应状态码

J2EE(Java 2 Platform Enterprise Edition)是指“Java 2企业版”,B/S模式开发Web应用就是J2EE最核心的功能。 Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 在日常的生活中,经常会使用…

强大的ps 命令 -o 自定义输出内容选项

强大的ps 命令 -o 自定义输出内容选项 1、ps命令介绍和作用2、问题描述 1、ps命令介绍和作用 ps 是一个 Unix 和类 Unix 操作系统中常用的命令,用于显示当前运行的进程信息。ps 命令的作用包括: 查看进程信息: ps 命令可以列出当前系统中正…

数据结构之顺序表及其实现!

目录 ​编辑 1. 顺序表的概念及结构 2. 接口的实现 2.1 顺序表的初始化 2.2 检查顺序表容量是否已满 2.3 顺序表的尾插 ​编辑 2.4 顺序表的尾删 2.5 顺序表的头插 2.6 顺序表的头删 2.7 顺序表在pos位置插入 2.8 顺序表在pos位置删除 2.9 顺序表的查找 2.10 顺…

考研数学——高数:多元函数微分法及其应用

因为复习阶段全篇很细节的写下来一来比较费时间,二容易导致为了记笔记而记。 接下来的内容只会保留上课中比较有意义的地方,以及有自己助于理解的想法 全微分 助记: 证明是否可微,首先判断两个偏导数是否存在,不存在则…

中文版国产Figma简单好上手

在过去的两年里,国内外协同办公室发展迅速。一方面,它是由突如其来的疫情推动的,另一方面,它是科学技术不断进步的必然结果。在市场的推动下,市场上出现了越来越多的协同办公软件,使工作场所的工作更加高效…

插入排序和归并排序

插入排序&#xff0c;Insertion Sort. 给出伪代码 for i 1,2,...,n-1Insert A[i] into Sorted array A[0:i-1]by swaping down to the correct position. 冒泡排序 冒泡排序就是一种插入排序算法。 i ← 1 while i < length(A)j ← iwhile j > 0 and A[j-1] > A…

CorelDRAW2024专业级图形设计矢量图形设计软件

CorelDRAW2024是一款功能强大的矢量图形设计软件&#xff0c;适用于专业级图形设计作品的设计师和创作者。它提供了智能对象、布局、插图和模板等功能&#xff0c;可以帮助用户快速创建高质量的设计作品。 这款软件的用户界面直观且易于使用&#xff0c;允许用户快速访问和管理…

184基于matlab的相关向量机(RVM)回归和分类算法

基于matlab的相关向量机&#xff08;RVM&#xff09;回归和分类算法。该算法基于贝叶斯稀疏核⽅法&#xff0c;避免了支持向量机&#xff08;SVM&#xff09;的主要局限性。RVM关键是为每个权参数 都引入一个单独的超参数 &#xff0c;而不是一个共享超参数。程序已调通&#x…

力扣hot100:42.接雨水(双指针/动态规划/贪心)

什么时候能用双指针&#xff1f; &#xff08;1&#xff09;对撞指针&#xff1a; ①两数和问题中可以使用双指针&#xff0c;先将两数和升序排序&#xff0c;可以发现规律&#xff0c;如果当前两数和大于target&#xff0c;则右指针向左走。 ②接雨水问题中&#xff0c;左边最…

【Web】浅聊JDBC的SPI机制是怎么实现的——DriverManager

目录 前言 分析 前言 【Web】浅浅地聊JDBC java.sql.Driver的SPI后门-CSDN博客 上篇文章我们做到了知其然&#xff0c;知道了JDBC有SPI机制&#xff0c;并且可以利用其Driver后门 这篇文章希望可以做到知其所以然&#xff0c;对JDBC的SPI机制的来源做到心里有数 分析 先是…

Python 弱引用全解析:深入探讨对象引用机制!

目录 前言 弱引用的概述 弱引用的原理 使用 WeakRef 类创建弱引用 使用 WeakValueDictionary 类创建弱引用字典 实际应用场景 1. 解决循环引用问题 2. 对象缓存 总结 前言 在Python编程中&#xff0c;弱引用&#xff08;Weak Reference&#xff09;是一种特殊的引用方式…

(文末送书)《低代码平台开发实践:基于React》

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&am…

PCM会重塑汽车OTA格局吗(2)

目录 1.概述 2. PCM技术视角下的OTA 3.小结 1.概述 上一篇文章&#xff0c;我们着重讲解了OTA的概述内容&#xff0c;和意法半导体推出的跨域融合MCU的四大特征&#xff0c;其中就包含了OTA技术。 他们针对OTA做了比较创新的设计&#xff0c;在总的可用memory容量不变情况…

2024最新Android开发面试解答,学海无涯

一个程序员&#xff0c;如果不想35 岁被淘汰&#xff0c;请把它当成一种信仰&#xff01; 25岁&#xff0c;一个北漂程序员&#xff0c;入职三年&#xff0c;Android中级工程师&#xff0c;月薪15k&#xff0c;965的工作经常干成996&#xff0c;比起老家的同龄人&#xff0c;我…

15-Linux部署HBase集群

Linux部署HBase集群 简介 HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。 和Redis一样&#xff0c;HBase是一款KeyValue型存储的数据库。 不过和Redis设计方向不同 Redis设计为少量数据&#xff0c;超快检索HBase设计为海量数据&#xff0c;快速检索 HB…

数据结构:排序算法+查找算法

一、概念 程序数据结构算法 1.算法的特性和要求 特性&#xff1a; 确定性&#xff08;每次运行相同的输入都是同样的结果&#xff09;、有穷性、输入、输出、可行性 设计要求&#xff1a; 正确性、高效率、低存储、健壮性、可读性 2.时间复杂度 3.常见排序算法的时间复杂…

LeNet训练集详细实现

一、下载训练集 导包 import torch import torchvision import torch.nn as nn from model import LeNet import torch.optim as optim import torchvision.transforms as transforms import matplotlib.pyplot as plt import numpy as npToTensor()函数&#xff1a; 把图像…