【论文阅读】Masked Autoencoders Are Scalable Vision Learners

Masked Autoencoders Are Scalable Vision Learners

引用: He K, Chen X, Xie S, et al. Masked autoencoders are scalable vision learners[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022: 16000-16009.

论文链接: [2111.06377] Masked Autoencoders Are Scalable Vision Learners

代码链接: GitHub - facebookresearch/mae: PyTorch implementation of MAE

简介

在硬件快速发展的帮助下,今天的模型可以很容易地过度拟合100万张图像,并开始需要数亿张(通常无法公开访问)标记的图像。这种对数据的需求已经在自然语言处理(NLP)中通过自我监督的预训练成功解决。这些解决方案基于GPT 中的自回归语言建模和BERT中的掩码自编码,在概念上很简单:它们删除了一部分数据并学习预测删除的内容。这些方法现在可以训练包含超过一千亿个参数的可泛化 NLP 模型。因此,掩码自动编码器的想法是自然的,也适用于计算机视觉。

掩码自动编码器(Masked Autoencoder,MAE)是用于计算机视觉的可扩展自监督学习器。MAE 的思路很简单:随机屏蔽输入图像的某些块并重建缺失的像素 。与自然语言相反,图像是具有高度空间冗余的自然信号------例如,缺失的补丁可以从相邻的补丁中重新覆盖,而对零件、对象和场景的高级理解很少 。因此,屏蔽很高比例的随机补丁在很大程度上减少了冗余,并创造了一项具有挑战性的自我监督任务。首先,MAE提出了一种非对称编码器-解码器架构,该架构的编码器仅在patches的可见子集(没有掩码的tokens)上运行,以及一个轻量级解码器,该解码器从潜在表示和掩码tokens重建原始图像。其次,屏蔽输入图像的很大一部分,例如75%,会产生一个不平凡且有意义的自我监督任务。在仅使用 ImageNet-1K 数据的方法中,普通的 ViT-Huge 模型实现了最佳的准确率 (87.8%)。下游任务中的传输性能优于监督预训练,并显示出有希望的扩展行为。

Approach

MAE是一种简单的自动编码方法,在给定其部分观测的情况下重建原始信号。MAE包括一个编码器,将观察到的信号映射到潜在表示,一个解码器,从潜在表示重建原始信号。与经典的自动编码器不同,MAE采用了非对称设计,允许编码器仅对部分观察到的信号进行操作(无掩码标记),并采用了轻量级解码器,该解码器根据潜在表示和掩码标记重新构建完整信号。

  • Masking :参考ViT,将图像划分为规则的非重叠补丁。然后,对补丁的子集进行采样,并屏蔽(即移除)剩余的补丁。采样策略很简单:按照均匀分布对随机补丁进行采样,而不进行替换,称之为"随机抽样"。具有高掩蔽比的随机采样(即去除的补丁的数量)在很大程度上消除了冗余,因此产生了一个无法通过从可见的相邻补丁进行外推来轻松解决的任务。均匀分布防止了潜在的中心偏移(即,在图像中心附近有更多的掩模斑块)。最后,高度稀疏的输入为设计高效编码器创造了机会。

  • MAE encoder编码器使用ViT,但仅适用于可见的、未掩码的补丁。就像在标准ViT中一样,编码器通过添加位置嵌入的线性投影嵌入补丁,然后通过一系列Transformer块处理结果集。然而,编码器只对全集的一小部分(例如,25%)进行操作。掩码的补丁被移除;不使用掩码tokens。

  • MAE decoder解码器的输入是由(i)编码的可见补丁和(ii)掩码tokens组成的全部tokens的集合 。每个掩码token是一个共享的、学习的向量,指示要预测的掩码补丁的存在。将位置嵌入添加到这个完整集合中的所有标记;如果没有这一点,掩码tokens将没有关于它们在图像中的位置的信息。解码器仅在预训练期间用于执行图像重建任务(仅使用编码器生成图像表示以供识别)。因此,解码器架构可以独立于编码器设计的方式灵活设计。

  • Reconstruction targetMAE 通过预测每个掩码补丁的像素值来重建输入 。解码器输出中的每个元素都是表示补丁的像素值向量。解码器的最后一层是线性投影,其输出通道数等于补丁中的像素值数。解码器的输出被重塑以形成重建的图像。损失函数计算像素空间中重建图像和原始图像之间的均方误差 (MSE)使用归一化像素作为重建目标可以提高实验中的表示质量。具体来说就是计算一个补丁中所有像素的平均值和标准差,并使用它们来规范化这个补丁。

实验

MAE 在 ImageNet-1K (IN1K) 训练集上进行自我监督预训练。然后,进行监督训练,通过(i)端到端微调或(ii)线性探测来评估表示。


75%的比率适用于线性探测和微调。这种行为与BERT形成鲜明对比,BERT的典型掩码率为15%。在计算机视觉方面,掩码率也远高于相关著作(20%至50%)。该模型推断缺失的补丁,以产生不同但合理的输出(图 4)。它使物体和场景的格式塔变得有意义,这不能简单地通过延伸线条或纹理来完成。假设这种类似推理的行为与学习有用的表征有关。

更长的训练计划会带来明显的改善。

相关推荐
Elastic 中国社区官方博客3 分钟前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白1 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼2 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司5 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董5 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦5 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw6 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐6 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1237 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr7 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络