这种对数据的需求已经通过自监督预训练在自然语言处理 (NLP) 中成功解决。 基于 GPT [40, 41, 4] 中的自回归语言建模和 BERT [14] 中的掩码自动编码的解决方案在概念上很简单:它们移除了一部分数据并学习预测移除的内容。 这些方法现在可以训练包含超过一千亿个参数的可泛化 NLP 模型 [4]。
掩码自动编码器的思想,一种更通用的去噪自动编码器 [48] 的形式,很自然,也适用于计算机视觉。 事实上,在 BERT 之前,与视觉密切相关的研究 [49, 39]。 然而,尽管随着 BERT 的成功,人们对这个想法产生了浓厚的兴趣,但视觉中自动编码方法的进展落后于 NLP。 我们问:是什么使视觉和语言之间的掩码自动编码不同? 我们尝试从以下几个角度来回答这个问题:
(i) 直到最近,架构还是不同的。 在视觉方面,卷积网络 [29] 在过去十年中占主导地位 [28]。 卷积通常在规则网格上运行,将诸如掩码标记 [14] 或位置嵌入 [47] 之类的“指标”集成到卷积网络中并非易事。 然而,随着 Vision Transformers (ViT) [16] 的引入,这种架构差距已经得到解决,不应再成为障碍。
(ii) 语言和视觉的信息密度不同。 语言是人类生成的具有高度语义和信息密集度的信号。 当训练一个模型来预测每个句子的几个遗漏单词时,这个任务似乎会导致复杂的语言理解。 相反,图像是具有大量空间冗余的自然信号——例如,可以从相邻的补丁中恢复丢失的补丁,而对零件、对象和场景的高级理解很少。 为了克服这种差异并鼓励学习有用的特征,我们展示了一个简单的策略在计算机视觉中效果很好:屏蔽了很大一部分的随机补丁。 这种策略在很大程度上减少了冗余并创建了一项具有挑战性的自我监督任务,需要超越低级图像统计的整体理解。 要对我们的重建任务有一个定性的认识,请参见图 2-4。
(iii) 自动编码器的解码器将潜在表示映射回输入,在重建文本和图像之间扮演不同的角色。 在视觉中,解码器重建像素,因此其输出的语义级别低于普通识别任务。 这与语言相反,在语言中,解码器预测包含丰富语义信息的缺失词。 虽然在 BERT 中,解码器可能很简单(MLP)[14],但我们发现对于图像,解码器设计在确定学习到的潜在表示的语义级别方面起着关键作用。
在此分析的推动下,我们提出了一种简单、有效且可扩展的掩码自编码器 (MAE) 形式,用于视觉表示学习。我们的 MAE 从输入图像中屏蔽了随机补丁,并在像素空间中重建丢失的补丁。它具有非对称编码器解码器设计。我们的编码器只对可见的补丁子集(没有掩码标记)进行操作,我们的解码器是轻量级的,可以从潜在表示和掩码标记中重建输入(图 1)。在我们的非对称编码器-解码器中将掩码标记转移到小型解码器会导致计算量大幅减少。在这种设计下,非常高的掩蔽率(例如 75%)可以实现双赢:它优化了准确性,同时允许编码器仅处理一小部分(例如 25%)的补丁。这可以将整体预训练时间减少 3 倍或更多,同样减少内存消耗,使我们能够轻松地将 MAE 扩展到大型模型。
我们的 MAE 学习了非常高容量的模型,可以很好地泛化。通过 MAE 预训练,我们可以在 ImageNet-1K 上训练 ViT-Large/Huge [16] 等数据饥渴模型,并提高泛化性能。使用普通的 ViT-Huge 模型,我们在 ImageNet-1K 上微调时达到了 87.8% 的准确率。这优于之前仅使用 ImageNet-1K 数据的所有结果。我们还评估了对象检测、实例分割和语义分割的迁移学习。在这些任务中,我们的预训练比其监督预训练获得了更好的结果,更重要的是,我们通过扩大模型观察到了显着的收益。这些观察结果与 NLP [14、40、41、4] 中自监督预训练中所见证的观察结果一致,我们希望它们将使我们的领域能够探索类似的轨迹。
==============================