Masked Autoencoders Are Scalable Vision Learners(MAE)

VIT论文解读:Vision Transformer(ViT)_NLP_wendi的博客-CSDN博客

论文链接:Masked Autoencoders Are Scalable Vision Learners

摘要

MAE是CV中易扩展的自监督学习器。方法比较简单:随机遮盖住一部分patches,然后重构这些部分。基于两个设计:1、我们开发了一个非对称的编码-解码结构,编码器只编码那些可见的patch(未被遮盖),用一个解码器从隐表征和被遮住的patch中重构原始图片。2、用一个较高比例的mask rate,如75%,可以创建一个不那么明显且有有意义的自监督任务。合并这两个设计,我们可以训练一个高效的大模型,3倍以上的加速和更高的精度。这个易扩展的方法可以学习更高潜力的模型,且泛化性还不错,仅使用ImageNet-1k的数据集,基于ViT-Huge的模型可以取得最好的精度87.8%。在下游任务上的迁移学习也超过了有监督的预训练模型,且有不错的扩展性。

引言

masked autoencoders,更一般的如去噪autoencoder,在CV中已经有应用,且在联系紧密程度上高于bert,然后,在CV中的发展却落后于bert,NLP和CV之间的masked autoencoding的区别在哪里?

  1. 结构不同。CV中,主要应用CNN结构,CNN在一个固定大小的格子中做运算,没有将masked token或位置embeddings嵌入到网络中,这种结构的差异,在ViT中已经被解决,不再是一个应用瓶颈。
  2. 信息密度不同。语言是人为的数据,包含高密度的语义信息;图片是自然的数据,包含冗余的信息。为了克服这类问题,我们使用了一个简单而有效的策略:随机遮住大部分patches。这种策略可以极大降低冗余,且能创建一个基于低层次图片特征的、需要整体理解的自监督任务。
  3. 解码器不同。在CV中,解码器需要重构像素,对比一般的识别任务,它的输出只是一个低层次的信息,这和NLP中明显的不同,NLP中的解码器需要预测被遮住的单词,它包含丰富的语义信息。在NLP中,解码器不是太重要【一个MLP】,然后我们发现,在CV中,解码器的结构在对隐表示的语义层次上起到重要的作用。

相关工作

MLM:对应的自回归模型有GPT、Bert。

Autoencoding:PCA和k-means均为自编码。DAE(Denoising autoencoders):对输入信号进行腐蚀,然后重构原始信号。

Masked image encoding:iGPT:给定连续的像素序列,预测未知的像素;BEiT:预测被mask的像素tokens。

Self-supervised learning:对比学习,建模相似和不相似的图片,这种强依赖于数据增强处理。

方法

Masking。我们将图片分割成不重复的片。然后随机采样一些片,无放回地采样,服从均匀分布。称之为随机采样。

MAE encoder。按照标准的ViT结构,编码器仅对看得见的patches做一个线性变换,然后加上位置embeddings。然后通过一系列的Transformer block块处理。编码器只对25%的区域做运算,大大节省了计算和内存。

MAE decoder。输入有两部分构成:i)可见patches的编码 ii)遮住的tokens。所有的被遮住的tokens共享一个可学习的向量,表示这个待预测的patches。我们又在输入中添加了位置embeddings,decoder由另外的一组Transformer block块组成。

MAE decoder只在预训练阶段使用,用来图片重构任务。在识别任务中,encoder用来生成图片表征。因此,可以灵活设计decoder结构,它是独立于encoder的。

Reconstruction target。decoder的输出是关于patch像素值的一个向量。decoder的最后一层是一个线性映射,输出通道的个数等于像素的通道数。损失函数是计算重构image和原始image之间的均方误差(MSE)。只在被masked的patches上计算损失,类似于bert。

另外我们还尝试了对patch做的重构做正则化处理。计算每一个patch的均值和标准差,然后用其进行归一化。在我们的实验里,这个可以提升表征性能。

Simple implementation。实现上也很简单,不需要额外的处理。先对所有的patch做一个线性变换,加上位置embedding,然后将这个列表打散,根据mask 比例,移除掉最后的部分。剩下的部分就是需要编码的,这等价于无放回地随机采样。编码后,我们将被masked的token追加到已编码的列表后面,然后对列表进行还原,将其和目标对齐。解码器作用在这个列表上。

ImageNet实验

在ImageNet-1k训练集上预训练,然后采用了两种监督学习的方式,来评估表征性能。i)end-to-end fine-tuning ii)linear probing.

下表是baseline MEA方法的实验结果,可以看到经过MEA预训练后finetune的效果要超过直接从头训练(84.9 vs 82.5):

Main Properties

我们实验下来,发现最好的mask ratio是75%,这和bert非常不同,bert通常的mask ratio是15%。其他的类似的研究的mask ratio在20%-50%之间。

 

Decoder design.

Mask token.

Reconstruction target.

Data augmentation.

Mask sampling strategy.

Training schedule.

Comparisons with Previous Results

 

Partial Fine-tuning

Transfer Learning Experiments

结论和讨论

图片和语言是不同属性的信号,这种不同需要区分处理。图片只是被轻量记录的数据,缺乏和语言类似的语义信息。和移除具体目标不同的是,如果只是遮住随机的图像块,那很有可能不构成语义块。我们的MAE重构像素,也不是语义实体。尽管如此,MAE仍然能推断复杂的、全面的重构任务,说明 MAE已经学习到丰富的视觉特征。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP_wendi

谢谢您的支持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值