本文介绍了 SimMIM,这是一个用于 掩码图像建模 的简单框架。本文简化了最近提出的相关方法,无需特殊设计,例如通过离散 VAE 或聚类 进行 block-wise 分块级的掩码 和 tokenization。为了研究 是什么让掩码图像建模任务学习良好的表示,本文系统地研究了本文框架中的主要组件,并发现 每个组件的简单设计 都显示出 非常强的表示学习性能:
1)使用 中等大小的掩码patch大小(例如,32)是一个强大的前置任务;
2) 通过 直接回归 预测原始像素的 RGB 值 并不比设计复杂的patch分类方法差;
3)预测头 可以像线性层一样轻,性能不比较重的层差。
使用 ViT-B,本文的方法通过也在该数据集上进行预训练,在 ImageNet-1K 上实现了 83.8% 的 top-1 微调精度,超过了之前的最佳方法 +0.6%。当应用于具有约 6.5 亿参数的更大模型 SwinV2-H 时,它仅使用 ImageNet-1K 数据,在 ImageNet-1K 上实现了 87.1% 的 top-1 准确率。 本文还利用这种方法来 解决 大规模模型训练 面临的 data-hungry 需要大量数据的 问题,一个 3B 模型 (SwinV2-G) 被成功训练,以 在四个具有代表性的视觉基准上 实现最先进的精度,使用的标记数据 比以前的实践 (JFT-3B) 少 40 倍。该代码可在 https://github.com/microsoft/SimMIM 获得。
“What I cannot create, I do not understand. ” — Richard Feynman
“掩码信号建模” 就是这样一项学着去创造的任务:屏蔽一部分输入信号 并 尝试预测这些屏蔽信号。在 NLP 中,遵循这一理念,基于掩码语言建模任务的自监督学习方法 在很大程度上重新描绘了该领域 [2,12,32],即通过 使用大量未标记数据 来学习 非常大规模的语言模型 已被证明 可以很好地推广到 广泛的 NLP 应用程序。
在计算机视觉领域,尽管有先驱者利用这种哲学进行自监督表示学习 [13,60,61],但在前几年,这项工作几乎被对比学习方法所掩盖 [8,21,51]。将此任务 应用于 语言和视觉领域的 不同困难可以通过 两种模式之间的差异 来解释。
直到最近,还有尝试通过 引入几种特殊设计 来弥合模态差距 并 解决障碍 的试验,例如,通过 将连续信号 转换为 颜色簇 [7],通过使用附加网络 [1] 进行 patch tokenization,或 通过块级的掩码策略来打破短距离连接 [1] 等。通过这些特殊设计,学习的表示被证明可以很好地迁移到几个视觉识别任务。
与需要特殊复杂的设计相比,在本文中,提出了一个简单的框架,该框架与视觉信号的性质非常吻合,如图 1 所示,并且能够 比以前更复杂的方法 学习相似甚至更好的表示。对输入图像块进行随机掩码,使用线性层以 ℓ1 损失 回归 被掩码区域的原始像素值。这个简单框架背后的关键设计和见解包括:
• 对图像块应用随机掩码,这对于vision Transformers 来说 简单又方便。对于被掩蔽的像素,更大的patch大小 或 更高的掩蔽率 可能会导致找到接近的可见像素的机会更小。对于 32 的大掩蔽patch大小,该方法可以 在很广的掩蔽率范围内(10%70%)实现有竞争力的性能。对于 8 的小掩码patch大小,掩码率需要高达 80% 才能表现良好。可以注意到 更好的掩码率 与语言域中的掩码率 非常不同,语言域默认采用 0.15 的小掩码率。标签假设 两种模式中 不同程度的信息冗余 可能导致不同的行为。
• 使用原始的像素回归任务。回归任务与视觉信号的连续性非常吻合,视觉信号具有有序性。这个简单的任务执行起来并不比分类方法差,分类方法的类别是通过 tokenization、聚类 或 离散化 特别定义的。
• 采用了极其轻量级的预测头(例如,线性层),其传输性能与较重的预测头(例如,逆 Swin-B)相似或略好。使用极其轻量级的预测头可以显著加快预训练速度。此外,本文注意到 范围广泛的 目标分辨率(例如,12*12 ~ 96*96)与最高的 192*192 具有竞争力。虽然 更重的head 或 更高的分辨率 通常会导致更大的生成能力,但这种更大的能力 并不一定有利于下游微调任务。
虽然简单,但所提出的 SimMIM 方法对于表示学习非常有效。使用 ViT-B,它在 ImageNet1K 上实现了 83.8% 的 top-1 微调精度,超过了之前的最佳方法 ([1]) +0.6%。 SimMIM 还被证明可以扩展到更大的模型:使用 SwinV2-H 模型(658M 参数)[33],它在 ImageNet-1K 分类上实现了 87.1% 的 top-1 准确率,这是仅使用 ImageNet-1K 数据的方法中数量最多的。这一结果 鼓励 使用自监督学习 来解决 由于模型容量快速增加 而导致的日益严重的data-hungry 问题。事实上,在 SimMIM 的帮助下,本文使用比 Google 的 JFT-3B 数据集小 40 倍的数据成功地训练了一个具有 30 亿个参数的 SwinV2-G 模型 [33],并在几个具有代表性的基准测试中创造了新的记录:84.0% ImageNet-V2 分类 [42] 上的 top-1 准确率,COCO 目标检测上的 63.1/54.4 box/mask mAP [6,31],ADE20K 语义分割上的 59.9 mIoU [52, 63],以及 86.8% 的 top-1 准确率Kinetics-400 动作识别 [28, 35]。
虽然近年来我们看到 NLP 和计算机视觉 在基本建模和学习算法 以及 多模态应用中的重叠越来越多,这与人类大脑 如何实现 通用智能能力 非常吻合,但本文希望本文对计算机视觉中的“掩码信号建模”的演示可以进一步推动这一趋势,并鼓励不同人工智能领域的更深入互动。
掩码语言建模 [12,32] 及其自回归的变体 [2] 是自然语言处理 (NLP) 领域的主要自监督学习方法。给定 句子 或 句子对/三元组 中的 可见 tokens,这些方法通过 预测 输入的不可见tokens 来学习表示。自大约 3 年前 [12] 以来,这一系列方法已经重新描绘了该领域,它能够学习非常大的语言模型,并通过利用大量数据 很好地概括 广泛的语言理解和生成任务。
掩码图像建模 [7, 13, 23, 38, 47] 与 NLP 中的 MLM 任务并行发展,但长期处于非主流位置。上下文编码器方法[38] 是这个方向的先驱工作,它掩盖了原始图像的矩形区域,并预测丢失的像素。 CPC [23,47] 用 对比预测编码损失 ,在每个batch中,通过 验证任务 预测patches。最近,iGPT [7]、ViT [15] 和 BEiT [1] 回顾了现代 vision Transformers 上的这种学习方法,并通过在某些组件上 引入特殊设计,在表示学习方面显示出强大的潜力,例如 像素聚类 [7]、平均颜色预测 [15],以及通过 具有 块级的掩码策略 的附加 dVAE 网络 进行tokenization [1]。与这些复杂的设计相反,本文提出了一个极其简单的框架 SimMIM,它显示出相似甚至略胜一筹的效果。
基于重构的方法也与本文的方法有关,特别是 自动编码器方法 [24、30、37、41、49、50]。与本文的方法类似,他们采用 重建任务 来恢复原始信号。然而,它们基于 不同的 可见信号重建理念,不是像本文的方法那样 创建 或 预测 不可见的信号。因此,他们通过研究如何通过 适当的正则化 或 架构瓶颈 来有效地规范任务学习,从而在非常不同的道路上取得进展。
除了表示学习之外,掩码图像建模是一个经典的计算机视觉问题,称为图像修复。这个问题在计算机视觉中已经被广泛研究了很长时间[39,55,56],旨在 提高修复质量,并且没有连接到自监督表示学习。虽然本文提倡 将 图像修复 作为一个强大的自监督的前置任务,但本文也发现 更强的修复能力 并不一定会 在下游任务中 带来更强的微调性能。
本文中的方法也与 压缩感知 有关[14],它肯定了我们获得的大部分数据,包括 图像信号,都可以在几乎没有 感知损失 perceptual loss 的情况下被丢弃。最近的稀疏推理工作也部分支持了这种说法[20],即在丢掉 大部分的图像特征后,识别准确率几乎没有下降[25,43,54]。本文对 输入信号的观察更进一步,即以 极小部分的 随机选择的 输入图像块 作为输入,即 10%,仍然可以学习修复任务以产生良好的视觉表示。
在过去的二十年里,有许多前置任务以自监督的方式学习视觉表示:灰度图像着色 [60]、拼图求解 [36]、split-brain自动编码 [61]、旋转预测 [ 18],学习聚类[4]。虽然与 掩码图像建模 非常不同,但有趣的是,其中一些还遵循预测信号不可见部分的理念,例如,[60,61] 使用一个或两个颜色通道作为输入来预测其他通道的值。另一大部分工作在于对比学习方法 [3, 8, 16, 19, 21, 51, 53],它们是以前的主流。本文希望本文的工作可以鼓励 将 掩码语言建模 作为自监督视觉表示学习的前置任务 的研究。
本文的方法 SimMIM 通过 掩码图像建模 来学习表示,该方法 掩码输入图像信号的一部分 并预测掩码区域的原始信号。该框架由 4 个主要组件组成:
给定一个输入图像,该组件设计如何选择 要掩码的区域,以及如何实现所选区域的掩码。掩码后的变换图像将用作输入。
它为掩码图像 提取 隐特征表示,然后将其用于 预测 掩码区域的原始信号。学习到的编码器有望迁移到各种视觉任务。在本文中,主要考虑两种典型的视觉 Transformer 架构:普通的 ViT [15] 和 Swin Transformer [34]。
预测头将应用于隐特征表示,以在掩码区域 产生一种形式的原始信号。
该组件定义 要预测的原始信号的形式。它可以是 原始像素值 或 原始像素的转换。该组件还定义了损失类型,典型选项包括 交叉熵分类损失 和 ℓ1或ℓ2回归损失。
在以下小节中,将介绍每个组件的典型选项。然后系统地研究这些选项。通过结合每个组件的简单设计,本文已经能够实现强大的表示学习性能。
对于掩码区域的输入变换,本文 遵循 NLP 社区 [12, 32] 和 BEiT [1] 使用可学习的掩码 token向量 来 替换每个掩码patch。 token向量的维度设置为 与patch 嵌入后其他可见patch表示的 相同。对于掩码区域选择,本文研究了以下掩蔽策略(如图 2 所示):
本文首先提出了一种 patch对齐的随机掩码策略。Image patches 图像块 是vision Transformer 的基本处理单元,块级patch-level的掩码操作很方便,一个块要么完全可见,要么完全被掩码。对于Swin Transformer,本文考虑 不同分辨率阶段的 相等的patch size,4×4∼32×32,默认采用32×32,即最后阶段的patch size。对于 ViT,本文采用 32×32 作为默认的掩码patch大小。
本文还在之前的作品中尝试了其他掩码策略:
1)[38] 引入了中心区域掩码策略。本文 放宽它可以在图像上随机移动。
2) [1] 引入了一种复杂的 block-wise逐块掩码策略。本文在 16 × 16 和 32 × 32 的两个掩码块上尝试这种掩码策略。
预测头可以是任意的形式和容量,只要 其输入与编码器输出一致 并且 其输出完成预测目标 即可。一些早期的工作遵循 自动编码器 来使用 重型预测头(解码器)[38]。在本文中,展示了预测头可以做得非常轻,像线性层一样轻。本文还尝试了更重的头部,例如 2 层 MLP、逆 Swin-T 和 逆 Swin-B。
像素值 在颜色空间中 是连续的。一个直接的选择是 通过回归 来预测掩码区域的原始像素。一般来说,视觉架构 通常会产生 下采样分辨率的 特征图,例如,ViT 中的 16 倍 和 大多数其他架构的 32 倍。为了在输入图像的全分辨率下 预测所有像素值,本文 将特征图中的 每个特征向量 映射回 原始分辨率,并让该向量 负责 相应原始像素的预测。
例如,在 Swin Transformer 编码器产生的 32×下采样特征图上,本文应用一个 1×1 卷积(线性)层,输出维度为 3072 = 32×32×3 代表 32×32 像素的 RGB 值。本文还通过 分别 将原始图像下采样 {32×、16×、8×、4×、2×} 来考虑较低分辨率的目标。
对 掩码像素 采用 ℓ1-loss:
其中 分别是输入的 RGB 值和预测值; M 表示掩码像素的集合; Ω(·) 是元素的数量。本文还在实验中考虑了 ℓ2 和 smooth-ℓ1损失,它们表现相似,默认采用ℓ1损失。
以前的方法大多将 掩码信号 转换为 簇 或 类,然后执行 掩码图像预测 的分类任务。
• 颜色聚类:
在 iGPT [7] 中,使用大量自然图像 通过 k-means 将 RGB 值分组为 512 个簇。然后 将每个像素 分配给 最近的聚类中心。这种方法需要一个额外的聚类步骤 来生成 9-bit 的调色板。在本文的实验中,使用在 iGPT 中学习到的 512 个聚类中心。
• 视觉标记化 tokenization:
在 BEiT [1] 中,采用离散 VAE (dVAE) 网络 [40] 将 图像块 转换为 dVAE tokens。token身份用作 分类目标。在这种方法中,需要预先训练一个额外的 dVAE 网络。
• Channel-wise bin color discretization:
R、G、B 通道被单独分类,每个通道 被离散化为 相等的 bin,例如,实验中使用 8 和 256 个 bin。
本文遵循 [1] 主要通过 微调 ImageNet-1K 图像分类 来评估学习表示的质量,这是实践中更有用的场景。本文将在消融中主要考虑这个指标。在系统级比较中,本文还遵循之前的工作 [1, 3, 7, 8, 19, 21] 来报告之前线性探测的主要指标的性能。尽管如此,本文不会考虑这个线性探测指标,因为 本文的主要目标是 学习 可以很好地补充 以下 下游任务的表示。
本文在消融研究中 采用 Swin-B [34] 作为默认主干,这有助于我们在 目标检测 和 语义分割 等下游任务上评估学习的表示(见附录)。为了减少实验开销,本文使用 192*192 的默认输入图像大小 并 将窗口大小 调整为 6 以适应更改的输入图像大小。 ImageNet-1K 图像分类数据集用于预训练和微调。
在自监督的预训练中,本文使用了 带有余弦学习率调度器的 AdamW 优化器 [29],并训练了 100 个 epoch。训练超参数是:批量大小为 2048,基础学习率为 8e-4,权重衰减为 0.05,β1 = 0.9,β2 = 0.999,预热 10 个 epoch。使用 轻量级 数据增强策略:随机调整大小裁剪,比例范围为 [0.67, 1],纵横比范围为 [3/4, 4/3],然后是 随机翻转 和 颜色归一化步骤。
SimMIM 组件的默认选项是:随机掩码策略,patch size 为 32×32,mask ratio 为 0.6;目标图像大小 为192*192 的 线性预测头;掩码像素预测的 ℓ1 损失。本文的消融是通过改变一个选项并保持其他设置与默认设置相同来进行的。
在微调中,本文也使用了 AdamW 优化器、100 epoch 训练 和 带有 10 epoch 预热的余弦学习率调度器。微调超参数是:批量大小为 2048,基础学习率为 5e-3,权重衰减为 0.05,β1 = 0.9,β2 = 0.999,随机深度 [26] 比率为 0.1,以及 逐层学习率衰减 0.9。本文遵循 [1] 中使用的相同数据增强,包括 RandAug [10]、Mixup [59]、Cutmix [57]、标签平滑 [45] 和随机擦除 [62]。
本文首先研究 不同的掩码策略 如何影响表示学习的有效性。表1总结了 多种掩码率下 不同方法的微调精度。
首先注意到,本文的 简单随机掩码策略 的最佳准确度达到 83.0%,比其他更专门设计的策略(如 [1] 中的逐块级掩码)的最佳准确率高 +0.3%。
此外,当采用 32 的 大掩码块大小 时,这种简单的策略 在很宽的掩码率范围(10%-70%)上表现稳定。本文假设 一个大的掩码patch的中心像素 可能 与可见像素足够远。因此,它 强制网络学习 相对长距离的连接,即使 使用低掩码率(例如,10%)或 周围的所有patches都没有被掩码。增加 预测距离 的另一种方法是 使用更大的掩码率,这有利于 相对较小的patch 大小 的微调性能。通过在patch 大小为 4、8 和 16 时将掩码率从 0.4 增加到 0.8,准确度平滑地提高了 +0.2%(从 81.9% 到 82.1%)、+0.4%(从 82.0% 到 82.4%),和 +0.4%(从 82.4% 到 82.8%)。然而,这些较小块的整体精度不如较大的块大小 32 高。观察到 将块大小进一步增加到 64 会降低准确性,这可能是由于预测距离过大。
上述观察和分析也可以通过 新提出的 AvgDist 度量 得到很好的反映,该度量 测量 掩码像素 到 最近的可见像素的 平均欧几里得距离。不同掩码策略的 AvgDist在不同的掩蔽率下,如图 3(a) 所示。从这个图中,观察到所有掩码策略的 AvgDist 随着掩码率的增加而平滑增加。对于随机掩码策略,当掩码的块大小较小时,例如 4 或 8,AvgDist 相对较低,并且随着掩码率的增加而缓慢增长。另一方面,当块大小很大时,例如 64,非常小的掩码率(例如 10%)仍然会使 AvgDist 相对较大。 square 和 block-wise 方法 产生与块大小 64 相似的 高 AvgDist 值。
图 3(b) 绘制了 微调精度与 AvgDist 度量 之间的关系,该曲线为脊形。微调精度高 的条目大致分布在 AvgDist 的 [10, 20] 范围内,而具有更小或更高 AvgDist 的条目表现更差。这表明 掩码图像建模中的预测距离 被鼓励适度,既不太大也不太小。可能,掩码预测中的小距离可能会让网络学习太多短连接,而 大距离可能太难学习。这些结果还表明,AvgDist 可能是掩码图像建模 有效性的一个很好的指标。
在本文的实验中,由于其性能稳定,默认采用 0.6 的掩码率 和 32 的patch size 块大小。另请注意,语言领域的掩码策略和比率 与 本文工作中探索的非常不同,通常采用 15% 的小掩码比率。本文假设 两种模式的 不同程度的信息冗余 可能导致不同的行为。
表 2 消融了不同预测头的影响,包括线性层、2 层 MLP、逆 Swin-T 和逆 Swin-B。虽然通常较重的head会产生略低的损失,例如,0.3722(逆 Swin-B)与 0.3743(线性层),但下游 ImageNet-1K 任务的迁移性能较低。这表明 更强的修复能力 并不一定会 带来更好的下游性能。可能是因为 容量大部分浪费在预测头上,不会用于下游任务。还有一个实际的缺点,就是 更重的预测头会带来 更高的训练成本,例如,使用逆 Swin-B 的训练成本是线性层的 2.3 倍。
另请注意,在之前的对比学习方法 [8, 19, 21] 中,在前置任务中使用多层 MLP 头而不是线性层是一种常见的做法,这使得编码器产生的隐特征 适度远离 前置任务的目标,并显示 有利于 线性探测的评估指标。在本文的工作中,展示了本文的方法中的单个线性层头,在微调度量下,显示出具有竞争力甚至最佳的传输性能。这表明,如果我们的目标是学习用于微调的良好特征,那么对于掩码图像建模而言,对比学习方法中头部设计的重要探索可能不是必需的。
表 3 消融了不同的目标分辨率的影响。它表明大范围的分辨率(例如,12*12-192*192)表现同样出色。迁移性能仅在 6*6 的低分辨率下下降,可能是因为此选项丢弃了太多信息。这些结果意味着 下游的图像分类任务 所需的信息粒度。本文未来的研究将探讨对 其他 更细粒度的下游任务(如目标检测或语义分割)的影响。
请注意,由于同样 最佳的迁移精度 和 可忽略的计算开销,本文在实验中采用了 192*192 的默认目标分辨率。
表 5 比较了不同预测目标的效果。可以得出以下几个观察结果:
• ℓ1、smooth-ℓ1 和 ℓ2 的三个损失 表现相似;
• 通过 颜色聚类 [7] 或 tokenization [1] 仔细定义的类的性能 比本文的稍差;
• 通过 channel-wise equal-sized 通道级的等大小的 bin(作为替代选项提出)的 简单颜色离散化方法与 ℓ1 损失具有竞争力,但它需要仔细调整 bin 数量(例如,8-bin)。
它表明,没有必要 将 掩码图像建模的目标 对齐为 与掩码语言建模相同的 分类。将 方法 与视觉信号的自身性质 保持一致是很好的。
预测还是重建?
虽然 自动编码器 和 掩码图像建模方法 都通过 恢复原始信号 来学习网络,但它们建立在 可见信号的重建 和 不可见信号的预测 的不同理念之上。在本文的框架中,还可以通过 回归 输入中可见patches的原始像素值 来实例化重建任务。
表 4 比较了 在本文的默认设置中 仅预测掩码区域的方法 和 恢复掩码和未掩码区域的替代方法。预测掩码区域的方法 的性能 明显优于 恢复所有图像像素的方法,分别为 82.8% 和 81.7%。这意味着这两个任务的内部机制 根本不同,预测的任务 可能是一种 更有前途的表示学习方法。
正如之前的工作 [1, 5] 对 ViT 架构进行了实验,为了公平比较,本文还使用 ViT-B 架构进行了实验。
在预训练中,使用了 800 个带有余弦学习率调度器的 epoch 和 20 个 epoch 的线性预热程序。所有其他超参数都严格遵循与消融研究相同的设置,除了本文使用 224*224 的输入分辨率 与之前的方法相同。在微调中,遵循 [1] 采用 0.65 的逐层学习率衰减,并保持所有其他设置与本文的消融研究严格相同。在线性探测中,按照 [1] 选择 产生最佳线性探测精度的 ViT-B 中间层。采用了 100 个 epoch 训练和 5 个 epoch 线性预热步骤。
表 6 在使用 ViT-B 的 微调和线性探测两个指标上 将本文的方法与之前的方法进行了比较。本文的方法 通过微调 实现了 83.8% 的 top-1 准确率,比之前的最佳方法 [1] 高 +0.6%。另请注意,由于其简单性,本文的方法 比其他方法 保留了最高的训练效率,它比 DINO [5]、MoCo v3 [9]、ViT [15] 和 BEiT [1]的效率 高 2.0 倍、1.8 倍、~4.0 倍和 1.5 倍(不计算 dVAE 预训练的时间)。
尽管本文的主要重点是 学习更适合微调的表示,但本文还报告了不同方法的线性探测精度以供参考。
本文采用不同模型大小的 Swin Transformer 进行实验,包括 Swin-B、Swin-L、SwinV2-H 和 SwinV2-G [33]。为了减少实验开销,本文在预训练中 采用了 192*192 的较小图像大小,以及 步长学习率调度器,不同训练长度的实验 可以重用 第一步的模型训练。第一个学习率step 的基础学习率设置为 4e-4,持续总训练 epoch 的 7/8。剩余时期的学习率除以 10。对于 H 和 G 的模型大小,本文使用了 [33] 中引入的变体,它们比原始版本具有更强的稳定性。所有模型都使用 ImageNet-1K 数据集进行训练,除了 SwinV2-G 使用更大且私人收集的 ImageNet-22K-ext 数据集,详见 [33]。
当使用 ImageNet-1K 进行预训练时,所有模型都经过 800 个 epoch 的训练,大多数其他超参数都在消融中。在微调中,使用更大的图像尺寸 2242。对于 SwinV2-H,我们还考虑了更大的分辨率 5122。微调的训练长度设置为 100-epoch,除了 SwinV2-H 使用 50-epoch。 Swin-B、Swin-L 和 SwinV2H 的逐层学习率衰减分别设置为 0.8、0.75 和 0.7。其他微调超参数在消融中遵循。
表 7 列出了本文的方法 在不同模型大小下的 结果,与有监督的方法相比。通过 SimMIM 预训练,所有 Swin-B、Swin-L 和 SwinV2H 的准确度 都明显高于 有监督的同类方法。此外,分辨率为 512*512 的 SwinV2-H 模型在 ImageNet-1K 上实现了 87.1% 的 top-1 准确率,这是仅使用 ImageNet-1K 数据的方法中最高的。
虽然之前 所有的 十亿级视觉模型 都依赖 谷歌的 JFT-3B 数据集 进行模型训练 [11,44,58],但所提出的 SimMIM 方法 用于通过 使用比 JFT-3B 小 40 倍的数据 来帮助训练 3B SwinV2-G 模型 [33]。它在四个 具有代表性的 视觉基准上 实现了强大的性能:ImageNet-V2 分类 [42] 上的 84.0% top-1 准确率、COCO 目标检测上的 63.1/54.4 box/mask mAP [6, 31]、ADE20K 语义分割上的 59.9 mIoU [52] , 63] 和 86.8% 在 Kinetics-400 动作识别上的top-1 准确率 [28, 35]。更多细节在[33]中描述。
在本节中,试图通过 可视化 来理解所提出的方法 以及一些关键设计。所有示例图像均来自 ImageNet-1K 验证集。
图 4 显示了几个 人工设计的掩码 的恢复图像,以了解 通过掩码图像建模 学习了哪些能力。人工设计的掩码(从左到右)分别由一个随机掩码、一个用于移除主要对象大部分部分的掩码 和一个用于移除所有主要对象的掩码 组成。可以得出以下观察结果:
1)通过对主要对象的中等部分进行随机掩码,可以很好地恢复 被掩码部分的形状和纹理,如企鹅、山、帆船和人。在未掩码的区域上,由于训练时 未学习 未掩码的区域的恢复,存在严重的棋盘伪影;
2)通过掩盖主要物体的大部分(大于90%),模型仍然可以通过 可忽略的线索 预测物体的存在;
3) 当对象被完全掩码时,被掩码的区域 将被背景纹理修复。
这些观察表明,该方法已经学习了强大的物体推理能力,而这种能力 不是由于 图像实体的记忆 或 附近像素的简单复制。
本文在表 4 中展示了掩码预测任务(本文的方法)与 联合 掩码预测 和 可见信号重建 任务 学习的表示的比较,这表明 纯掩码预测任务的性能明显更好。图 5 比较了两种方法的恢复效果。它表明后一种方法看起来更好,但是,模型容量 可能 被浪费在 恢复未掩码区域上,这可能对微调没有多大用处。
图 6 显示了在固定掩码率 0.6 下具有不同掩码块大小的图像的恢复。可以看出,当掩码块尺寸较小时,可以更好地恢复细节,但是,学习的表示迁移得更差。可能,使用较小的块大小,预测任务可以通过 附近的像素 或 纹理 轻松完成。
本文提出了一个简单而有效的自监督学习框架 SimMIM,以利用 掩码图像建模 进行表示学习。该框架尽可能简单:
本文希望本文强大的成果以及简单的框架能够促进该线的未来研究,并鼓励人工智能领域之间的深入互动。