文章目录
论文: 《Masked Autoencoders Are Scalable Vision Learners》
代码: https://github.com/facebookresearch/mae
创新点
本文说明掩码自编码器(MAE)在无监督视觉领域应用可行性;
MAE有两个重要设计:
1、非对称编、解码器;编码器仅处理可见patch,解码器通过潜在特征及mask位置重构原始图片;
2、mask遮挡大部分效果更佳,比如75%;
作者使用MAE预训练模型,在ImageNet-1K数据集上finetune后,acc达到87.8%,超越之前仅使用ImageNet-1K数据集结果。
算法原理
MAE整体流程如图1所示,
MAE主要包括以下部分:
Masking
1、跟随ViT(可以参考之前的文章ViT论文解读),将图片分为几个不重叠patch;
2、采样patch的一部分,剩余mask填充;
MAE encoder
将未遮挡patch及位置编码送入ViT编码器(Multi-Head Attention及MLP);
MAE decoder
1、MAE decoder的输入为:
可见patch经过编码器结果以及mask token;每一个mask token可学习,指示是否有缺失patch需要预测;
2、MAE decoder仅在预训练阶段使用,用于执行图像重构任务,编码器仅用于生成图片特征,进而用于识别;
重构目标
decoder最后一层为线性映射层,使得输出channel与每个patch像素数量相等;
重构图片与原始图片在像素空间使用MSE损失函数;
实验
Baseline: ViT-Large.
作者使用过ViT-Large进行消融实验,原论文ViT性能76.5%,作者复现结果82.5%,MAE结果84.9%。此处MAE仅finetune50epoch,ViT训练200epoch,MAE性能可能更高;
消融实验
结果如表1,
表1a说明:解码器深度对于提升finetuning性能几乎无影响;
表1b说明:解码器宽度使用512维,因为其在微调和线性映射上表现最佳;
表1c说明:编码器不使用mask token,在微调及linear probing上性能最优,计算量降低3.3倍;
表1d说明:作者比较不同重构目标,比如:像素值是否做归一化,是否进行PCA降维;发现使用归一化像素值效果最佳;
表1e说明:作者比较不同数据增强方案影响: MAE使用仅裁剪的增强效果很好,无论是固定大小还是随机大小(都具有随机水平翻转)。 添加颜色抖动会降低结果,因此我们不会在其他实验中使用它。
表1d说明:比较mask不同采样方案(random、block、grid)影响,如图6,结果证明随机采样效果最佳;
Mask token
如果编码器使用mask-token,性能更加糟糕,见表1c,由于训练和部署存在差异,训练过程中输入一大部分mask token,部署时输入完好无损图片,不存在mask token
移除编码器中mask token,大幅减少计算量;
自监督方法比较
结果如表3,
迁移至目标检测任务及语义分割任务
目标检测实验结果如表4,语义分割实验结果如表5
ViT生成单尺度特征图(16倍降采样),在迁移任务上,通过卷积上采样或降采样当前特征图,得到4个不同尺度(4倍、8倍、16倍、32倍降采样),从而引入FPN。
结论
1、在 ImageNet 和迁移学习中观察到自动编码器(一种类似于 NLP 技术的简单自监督方法)提供了可扩展的优势。
2、图片记录光,虽然不像文字通过word记录语义信息;但是实验证明MAE可以通过丰富浅层特征学习到视觉语义信息。
3、MAE可能会生成一些不存在的内容,是否可用于图像生成;