基于VIT上的BERT
带掩码的自编码器是一个可拓展的视觉学习器
Autoencoder:y和x来自于同一个东西
摘要
随机图片里的一些块,然后去重构被盖住的像素
encoder-decoder
使用小的数据集,用自监督的方式,表现很好,在迁移学习的任务上表现也很好
图片进来,先切成小块,把盖住的东西涂成灰色
把没有被盖住的变成一个序列放进encoder里去
然后把灰色的和编码的弄成一条,放进解码器里面,然后解码器重构
encoder的计算量比较高
如果不需要掩码,就直接用它的编码器就可以得到当前图片的特征表示
图片内容的重构效果非常惊人
结论
简单的可拓展的算法是深度学习的核心
这个工作在imagenet数据集可以学习到有标号的数据集的效果
在图片里 一个patch里不是一个语义的segment
即使是这样的情况下,mae也能做出效果很好的任务
导言
卷积神经网络中不好把mask的信息放进去,transformer可以很好的运用到了计算机视觉里了
cv和nlp的信息的密度有点不一样,cv中图片的像素是有点冗余的,可以通过局部的块得到全局的重构
decoder是一个比较大的解码器
MAE:随机遮住大量的块,去重构图片的信息
编码器只看到被遮住的块,解码器去重构被遮住的块
不仅要讲清楚是怎么做的,还要讲清楚为什么要这么做
相关工作
- 带掩码的语言模型
- 自编码器
- 带掩码的编码器
- 自监督学习
方法
MAE是一个简单的自编码器,看到了部分的数据来重构简单的原始信号
signal -> latent representation
Reconstruct the original signal from the latent representation
- Masking
随机采样,采样少量的块,其他全部盖住
-
MAE encoding
和vit差不多,分成patch
-
MAE decoding
没有被盖住的块,变成浅表示
被盖住的块
需要加入位置信息在里面
做其他的任务的时候不需要解码器,只需要一个编码器
linear projection, MSE
实验
在imageNet这个数据集上先做自监督训练
然后做监督学习去评估
有两种训练方法:
- End to end
- 只调最后一层线性层
不同的掩码率的效果
不同的掩码采样策略的区别
在不同epoch上的效果
不同超参数下的结果
和前面的结果比(比如VIT)
微调的时候,调多少层是有讲究的