【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners

Kaiming He
Link: [2111.06377] Masked Autoencoders Are Scalable Vision Learners (arxiv.org)
Code: https://github.com/facebookresearch/mae

1 Intro


【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第1张图片

盖住75%的patch,取剩余的patch输入encoder,没有mask的patch放在ViT输出相应的位置(蓝色),mask掉的部分只包含位置信息,然后输入decoder,还原出原图

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第2张图片

跟BERT相比,在CV领域masked Autoencoding工作还很落后,为什么?

1、网络架构不同。之前CV中更多使用CNN,无法将mask或者位置编码很好地带入其中,不过现在ViT的提出解决了这个问题。

2、信息密度不同。在图像中冗余信息较多,mask掉一些像素并不会影响什么,或者通过简单地插值就可以还原。所以论文提出mask掉很高比例的区域的方法。

3、Decoder结构的区别。在BERT中,decoder的输出是高语义信心的,使用简单地MLP就能达到效果。而在CV中,重构出的像素是低语义信息的,通常需要更复杂的Decoder。

通过非对称的Encoder-Decoder架构,使用ViT-Large/Huge在Imagenet-1k上进行自监督学习就能达到很好地效果(87.8% acc on ImageNet-1k),且迁移学习效果也很好。

2 Method


使用的非对称的结构,在encoder部分只计算于没有被mask的部分。

2.1 Masking

与ViT一样,将原图分割成一个个小patch,服从均匀分布地随机采样出一些patch,使用一个高比例的mask,以此来消除冗余信息。

2.2 Encoder

是个ViT,输入只有没被mask的patch。patch经过线性投影并加上位置信息得到patch Embedding送入VIT blocks。

由于只有没有mask的patch会被送入encoder,所以大大降低了计算量

2.3 Decoder

Decoder使用一个小的ViT架构(计算量不到Encoder的10%),输入包含两部分:

(1)、Encoder的输出(没有mask的patch)

(2)、masked token(用一个共享的、可学习的向量表示)

给所有token加入位置信息。

Decoder只用于预训练阶段,图像表征提取还是使用Encoder

2.4 Reconstruction Target

Decoder结果是每个patch的像素值拉直(256d),再reshape回原始尺寸(16*16)。

损失函数在像素级别上使用MSE,只在被mask的token上计算损失(与BERT类似)

还探究了使用normalized target进行训练,结果有所提升

2.5 Simple implementation.

首先,将每个patch映射为patch Embedding(with Position Embedding),组成一个list;然后randomly shuffle 整个list,去掉后75%的部分,输入encoder。

得到encoder的输出后,将整个list进行unshuffle处理,还原原始的list顺序,再送入Decoder进行像素重构。

这样不需要有叙述操作,实现起来很快。

3 Experiment


3.1 ImageNet Experiments

在ImageNet-1K上进行自监督预训练,然后再进行finetune(end2end和linear probing)。

给ViT加上强正则后提升了效果

在这里插入图片描述

3.1.1 不同超参数

mask比例

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第3张图片

网络架构超参

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第4张图片

耗时

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第5张图片

mask策略

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第6张图片

epoch数量

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第7张图片

3.1.2 与之前结果比

与有监督比

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第8张图片

与无监督比

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第9张图片

3.2 迁移学习

3.2.1 COCO 目标检测

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第10张图片

3.2.2 ADE20K 语义分割

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第11张图片

3.2.3 其他分类数据集

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第12张图片

3.2.4 Pixels vs. tokens

【论文笔记】 【MAE】 Masked Autoencoders Are Scalable Vision Learners_第13张图片

你可能感兴趣的:(计算机视觉,深度学习,无监督学习,深度学习,计算机视觉,机器学习)