MAE 论文《Masked Autoencoders Are Scalable Vision Learners》

《Masked Autoencoders Are Scalable Vision Learners》带掩码的自编码器是一个可拓展的视觉学习器,听名字就明白一二,应该是在编码器部分加上了 mask 的一些操作。那这样有啥好处,又能实现什么,下面就一起来看看吧

论文地址:https://arxiv.org/pdf/2111.06377.pdf

官方源码:https://github.com/facebookresearch/mae

目录

Abstract

1 Intorduction 

2. Related Work 

3 Approach

4 ImageNet Experiments

6 Discussion and Conclusion


Abstract

简洁明了:1. 随机屏蔽输入图像的 patch;2. 非对称的编码器-解码器架构;3. 自监督模型且可扩展性好 

        本文表明,掩码自编码器 (MAE) 是用于计算机视觉的可扩展自监督学习器。我们的 MAE 方法很简单:我们屏蔽输入图像的随机 patch 并重建丢失的像素。它基于两个核心设计。首先,我们开发了一个非对称的编码器-解码器架构,其中一个编码器只对可见的 patch 子集(没有掩码 token )进行操作,以及一个轻量级解码器,它从潜在表示和掩码 token 重建原始图像。其次,我们发现遮盖输入图像的高比例,例如 75%,会产生一个重要且有意义的自我监督任务。结合这两种设计使我们能够有效地训练大型模型:我们加速训练(3倍或更多)并提高准确性。我们的可扩展方法允许学习泛化良好的大容量模型:例如,在仅使用 ImageNet1K 数据的方法中,vanilla ViT-Huge 模型实现最佳精读 (87.8%)。转移下游任务的性能优于有监督的预训练,并显示出有希望的扩展行为。 

1 Intorduction 

        深度学习经过了爆炸式增长。借助硬件的快速增长,今天的模型很容易超过一百万张图像,并开始需要数亿张(通常是公众无法访问的)标记图像。

        通过自监督的预训练,自然语言处理 (NLP) 已成功解决了这种对数据的需求。基于 GPT 中的自回归语言建模和 BERT 中的掩码自动编码的解决方案在概念上很简单:它们删除一部分数据并学习预测删除的内容。这些方法现在可以训练包含超过一千亿个参数的可泛化 NLP 模型 。

        掩蔽自动编码器的想法,一种更通用的去噪自动编码器的形式,在计算机视觉中也很自然且适用。事实上,与视觉密切相关的研究早于 BERT。然而,尽管随着 BERT 的成功对这一想法产生了浓厚的兴趣,但视觉自动编码方法的进展仍落后于 NLP。我们问:是什么让掩码自动编码器在视觉和语言之间有所不同?我们试图从以下几个方面来回答这个问题:

        (i) 直到最近,架构还是不同的。在视觉方面,卷积网络在过去十年中占据主导地位。卷积通常在规则网格上运行,将诸如掩码标记或位置嵌入之类的“指标”集成到卷积网络中并不简单。然而,这一架构差距已通过引入视觉转换器 (ViT) 得到解决,不应再成为障碍。

(ii) 语言和视觉的信息密度不同。语言是高度语义和信息密集的人类生成的信号。当训练一个模型来预测每个句子中只有几个缺失的单词时,这个任务似乎会引发复杂的语言理解。相反,图像是具有大量空间冗余的自然信号——例如,可以从具有少量高级 un 的相邻块中恢复缺失的块。

        (iii) 自编码器的解码器将潜在表示映射回输入,在重建文本和图像之间扮演不同的角色。在视觉中,解码器重建像素,因此其输出的语义级别低于常见的识别任务。这与语言形成对比,在语言中,解码器预测包含丰富语义信息的缺失词。虽然在 BERT 中,解码器可能很简单(一个 MLP),但我们发现对于图像,解码器设计在确定学习的潜在表示的语义级别方面起着关键作用。

        在此分析的推动下,我们提出了一种简单、有效且可扩展的掩码自动编码器 (MAE) ,用于视觉表示学习。我们的 MAE 从输入图像中屏蔽随机 patch,并在像素空间中重建缺失的 patch。它具有不对称的编码器解码器设计。我们的编码器只对可见的 patch 子集进行操作(没有掩码标记),我们的解码器是轻量级并从潜在表示中重构输入以及掩码标记(图 1)。在我们的非对称编码器-解码器中将掩码 token 转移到小型解码器会导致计算量大大减少。在这种设计下,非常高的掩蔽率(例如,75%)可以实现双赢:它优化了准确性,同时允许编码器只处理一小部分(例如,25%)的 patch。这可以将整体预训练时间减少 3 倍或更多,同时减少内存消耗,使我们能够轻松地将 MAE 扩展到大型模型。

        我们的 MAE 学习了泛化能力非常高的模型。通过 MAE 预训练,我们可以在 ImageNet-1K 上训练数据密集型模型,如 ViT-Large/-Huge ,并提高泛化性能。使用 vanilla ViT-Huge 模型,我们在 ImageNet-1K 上进行微调时达到 87.8% 的准确率。这优于之前仅使用 ImageNet-1K 数据的所有结果。我们还评估了对象检测、实例分割和语义分割的迁移学习。在这些任务中,我们的预训练比有监督的预训练取得了更好的结果,更重要的是,我们通过扩大模型观察到显着的收益。这些观察结果与 NLP 中自监督预训练中的观察结果一致,我们希望它们能让我们的领域探索类似的轨迹。

看图,玄学?思考三秒钟,这玩意真的能做到? 

2. Related Work 

MAE是一种去噪形式的自编吗,因为在传入transformer之前,加了很多掩码,这些掩码就相当于噪音。有一说一故事讲的确实好。

        掩码语言和自回归模型,例如 BERT 和 GPT ,是 NLP 预训练的非常成功的方法。这些方法保留了输入序列的一部分并训练模型来预测丢失的内容。这些方法已被证明可以很好地扩展,并且大量证据表明这些预训练的表示可以很好地推广到各种下游任务。

        自编码是学习表征的经典方法。它有一个将输入映射到潜在表示的编码器和一个重构输入​​的解码器。例如,PCA 和 k-means 是自动编码器。去噪自动编码器 (DAE) 是一类自动编码器,它破坏输入信号并学习重建原始的、未破坏的信号。一系列方法可以被认为是不同损坏下的广义 DAE,例如,屏蔽像素或移除颜色通道。我们的 MAE 是一种去噪形式自编码,但在许多方面与经典 DAE 不同。

        掩码图像编码方法从被屏蔽破坏的图像中学习表征。 最初的工作将掩码作为 DAE 中的一种噪声类型。上下文编码器使用卷积网络修复大的缺失区域。受 NLP 成功的推动,最近的相关方法基于 Transformers 。 iGPT 对像素序列进行操作并预测未知像素。 ViT 论文研究了用于自监督学习的掩码 patch 预测。最近,BEiT 提出预测离散 token。 

        自监督学习方法已经对计算机视觉产生了浓厚的兴趣,通常专注于预训练的不同任务。最近,对比学习很流行,它模拟两个或多个视图之间的图像相似性和不相似性。对比和相关方法强烈依赖于数据增强。自编码追求一个概念上不同的方向,它表现出我们将要呈现的不同行为。

3 Approach

        我们的掩码自编码器 (MAE) 是一种简单的自编码方法,可根据部分观察重建原始信号。像所有自编码器一样,我们的方法有一个将观察到的信号映射到潜在表示的编码器,以及一个从潜在表示重建原始信号的解码器。与经典的自编码器不同,我们采用非对称设计,允许编码器仅对部分观察到的信号进行操作,并采用轻量级解码器从潜在表示和掩码 token 重建完整信号。图 1 说明了这个想法,接下来介绍。

        Masking. 在 ViT 之后,我们将图像划分为规则的非重叠块。然后我们对一个 patch 子集进行采样并屏蔽(即删除)剩余的 patch。我们的抽样策略很简单:我们按照均匀分布对随机 patch 进行抽样而不进行替换。我们简单地将其称为“随机抽样”。

        具有高掩码率(即移除 patch 的比率)的随机采样在很大程度上消除了冗余,因此创建了一项无法通过从可见的相邻 patch 外推来轻松解决的任务。均匀分布可防止潜在的中心偏差(即图像中心附近有更多的被屏蔽的 patch )。最后,高度稀疏的输入为设计高效编码器创造了机会。

        MAE encoder. 我们的编码器是 ViT ,但仅应用于可见的、未屏蔽的 patch。就像在标准 ViT 中一样,我们的编码器通过线性投影嵌入补丁并添加位置嵌入,然后通过一系列 Transformer 块处理结果集。然而,我们的编码器只对整个集合的一小部分(例如 25%)进行操作。被屏蔽的 patch 被移除;不使用掩码标记。这使我们能够只用一小部分计算和内存来训练非常大的编码器。

        MAE decoder.  解码器的输入是由 (i) 编码可见 patch 和 (ii) 掩码 token 组成的完整 token 集。参见图 1。每个掩码 token 是一个共享的、学习的向量,表示存在未命中的待预测的 patch 。我们将位置嵌入添加到这个完整集合中的所有标记;没有这个,掩码 token 将没有关于它们在图像中的位置的信息。解码器其实就是另一个 Transformer 块。

        MAE 解码器仅在预训练期间用于执行图像重建任务(仅编码器用于生成用于识别的图像表示)。因此,解码器架构可以以独立于编码器设计的方式灵活设计。我们尝试了非常小的解码器,比编码器更窄更浅。例如,我们的默认解码器与编码器相比,每个 token 的计算量 <10%。采用这种不对称设计,整个 token 集仅由轻量级解码器处理,这显着减少了预训练时间。

        Reconstruction target. 我们的 MAE 通过预测每个掩码 patch 的像素值来重建输入。解码器输出中的每个元素都是代表 patch 的像素值向量。解码器的最后一层是线性投影,其输出通道数等于 patch 中像素值的数量。解码器的输出被重新整形以形成重建图像。我们的损失函数计算像素空间中重建图像和原始图像之间的均方误差 (MSE)。我们只计算掩码 patch 上的损失,类似于 BERT 。

        我们还研究了一种变体,其重建目标是每个掩码 patch 的归一化像素值。具体来说,我们计算一个 patch 中所有像素的平均值和标准偏差,并使用它们来规范化这个 patch 。在我们的实验中,使用归一化像素作为重建目标可以提高表示质量。

       Simple implementation. 我们的 MAE 预训练可以有效地实施,重要的是,不需要任何专门的稀疏操作。首先,我们为每个输入 patch 生成一个标记(通过添加位置嵌入的线性投影)。接下来,我们根据掩码率随机打乱 token 列表并删除列表的最后一部分。此过程为编码器生成一小部分 token,相当于在不替换的情况下对 patch 进行采样。编码后,我们将一个掩码 token 列表附加到编码 patch 列表中,并取消打乱这个完整列表(反转随机打乱操作)以将所有标记与其目标对齐。解码器应用于这个完整列表(添加了位置嵌入)。如前所述,不需要稀疏操作。这个简单的实现引入了可忽略的开销,因为混洗和非混洗操作很快。

4 ImageNet Experiments

 不废话了,看图吧,其实看图也能大致了解

这个图很有价值,做为主干网络来说,到底要使用它多少层的预训练权重合适呢?从只训练最后一层到全训练,可以看出,当训练四五层的时候就达到了84.4! 

5. Transfer Learning Experiments

 

6 Discussion and Conclusion

        可扩展性良好的简单算法是深度学习的核心。在 NLP 中,简单的自监督学习方法可以从指数缩放模型中受益。在计算机视觉中,尽管自监督学习取得了进展,但实际的预训练范式主要受到监督。在这项研究中,我们在 ImageNet 和迁移学习中观察到自编码器(一种类似于 NLP 技术的简单自监督方法)提供了可扩展的优势。视觉中的自监督学习现在可能走上了与 NLP 类似的轨迹。

        另一方面,我们注意到图像和语言是不同性质的信号,必须仔细处理这种差异。图像只是记录下来的光,没有将语义分解为单词的视觉类似物。我们没有尝试删除对象,而是删除了最有可能不形成语义段的随机 patch 。同样,我们的 MAE 重建像素,这些像素不是 语义实体。尽管如此,我们观察到我们的 MAE 推断出复杂的整体重建,这表明它已经学习了许多视觉概念,即语义。我们假设这种行为是通过 MAE 内部丰富的隐藏表示发生的。我们希望这种观点能够激发未来的工作。 

        更广泛的影响。所提出的方法根据训练数据集的学习统计数据预测内容,因此将反映这些数据中的偏差,包括具有负面社会影响的偏差。该模型可能会生成不存在的内容。在此工作的基础上生成图像时,这些问题值得进一步研究和考虑。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vision Transformer(ViT)是一种用于计算机视觉任务的模型,可以被看作是Transformer在计算机视觉领域的等效物,就像Transformer在自然语言处理中的重要性一样。ViT的优势在于以下几个方面。 首先,ViT采用了与原始的Transformer结构尽可能一致的模型设计,这样做的好处是可以充分利用在自然语言处理中已有的Transformer实现过程,方便使用和扩展。 这种一致性设计使得ViT具有良好的扩展性,可以应用于各种计算机视觉任务,并且可以借鉴NLP领域中的许多成功的Transformer结构和技术。 其次,ViT利用了Masked Autoencoders Are Scalable Vision LearnersMAE)[3]的思想,可以实现对图像的无监督学习,从而减少对大量标注数据的依赖。通过无监督学习,ViT可以在没有标签的情况下,探索图像的内在结构和特征,从而提取更有效的视觉表示。这种无监督学习的方法在数据集较小或标注困难的情况下尤为有用。 此外,ViT还具备了Transformer模型的其他优势,例如可以并行计算、全局上下文建模和长距离依赖关系的建模能力。这些优势使得ViT在图像分类、目标检测、图像分割等计算机视觉任务中取得了令人瞩目的性能。 综上所述,Vision Transformer(ViT)在模型设计上与Transformer结构一致,并且借鉴了Masked Autoencoders Are Scalable Vision LearnersMAE)的思想,同时具备了Transformer模型的优势,使得ViT在计算机视觉任务中展现出强大的性能和扩展性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vision Transformer(ViT)](https://blog.csdn.net/qq_32275289/article/details/123973687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值