本文证明了masked自编码器(MAE)是一种可扩展的用于计算机视觉任务的自监督学习器。作者的masked自编码器的方法很简单,作者随机mask掉输入图像patches,然后去重构丢失的像素(丢失的像素是被随机mask掉的图像patch)。
主要基于两个核心的设计,首先,作者开发了一个非对称编码器-解码器体系结构,其中编码器仅在可见的patch上运行(没有被mask的patch),同时还有一个轻量级解码器,用于从潜在表征和mask标记重建原始图像,到这里,我的理解,就是输入的是不完整的信息,然后通过编解码结构去重构原始信息,让编解码结构真正理解图像内容,毕竟有能力重构,那肯定是在理解的基础上的做到的。其次,作者发现mask高比例的输入图像(例如75%的patch都被mask)效果较佳。这样的设计,使作者能够高效地训练大型模型:加快训练速度(3倍或更多)并提高精度。
作者的可扩展方法允许学习具有良好通用性的高容量模型:例如,在仅使用ImageNet-1K数据的方法中,vanilla ViT大模型的精确度最高(87.8%)。下游任务中的迁移性能优于有监督的预训练。说白了,迁移性能比较好,对其他任务的帮助很大。
介绍
1. 深度学习见证了能力(简单理解为模型的性能)和容量(模型的复杂度和参数量等)不断增长的体系结构的爆炸式增长。在硬件快速增长的帮助下,如今的模型可以轻易过拟合超过一百万张图像。
2. 自然语言处理(NLP)通过自监督预训练成功地解决了这种对数据的偏好。基于GPT中的自回归语言建模和BERT中的masked自编码的解决方案在概念上很简单:它们删除部分数据并学习删除的内容。这些方法现在可以训练包含超过1000亿个参数的可推广NLP模型。Masked自编码已经有人在做了,并且这种方法比较好使。
3. mask自编码器是一种更通用的去噪自编码器,它的思想是自然的,也适用于计算机视觉(mask掉,然后让模型学习丢失的信息,常规理解,也就是能让模型理解我们的数据,所以说思想是非常自然的)。NLP中已经很早就在使用了,为什么计算机视觉中迟迟没有使用上呢,CV和NLP到底是因为哪些差异,导致在mask自编码的应用情况完全不同?作者从以下几个角度回答了问题:
(1)NLP和CV架构还是不同的。在CV上,卷积网络在过去十年中占主导地位。卷积通常在规则网格上运行(比如图像这种规则的结构化数据),将“指示符”(如掩码或位置)集成到卷积网络中并不容易。然而,随着transformer的引入,这一架构差距已经得到解决,不应再构成障碍。
(2)语言和视觉的信息密度是不同的。语言是人类产生的信号,具有高度的语义和信息密度。当训练一个模型来预测仅仅遗漏少量单词的句子时,因为语义和信息密度的原因,可能会完全曲解句子原有的意思。相反地,对于图像来说,具有高度空间冗余的自然信号,例如,如果图像缺少了一个patch。可以从该patch的邻居patch所富有的信息中恢复该patch的信息。为了克服NLP和CV的这种差异,作者展示了一种简单的策略,这种策略在