文章目录
Masked Autoencoders Are Scalable Vision Learners
具有位置区块的图片通过自编码模型进行还原
摘要
- 屏蔽图片中的个别像素点作为模型输入,模型能够修复确实部分
- 不对等的encoder-decoder模型,输入部分,获取整体
- 通过图片的遮挡覆盖,能够是的模型有效地完成自监督任务
论文
1. 模型结构
1.1 模型大致结构 input encoder decoder target
image --> masked out 主要针对图片进行部分随机点的选取 --> encoder 输入端为图片的部分小区块子集 --> decoder则是将encoder的输出,尽力复原回原来图片
在后续的模型中,运用到MAE模型时,只需要将训练好的模型的decoder部分丢弃,encoder能够运用在具有一定缺失的图片中。
1.2 图像缺失
1.3 视觉与自然语言的编码不同之处
1)architectures 结构
视觉项目通常用卷积,NLP主要用循环神经网络,卷积是无法考虑positional,而循环神经网络主要是历史值对现在的影响,Vision Transformers(VIT)就是此方向的运用
2)Information density 信息密度
文字的自编码模型的目的主要是对语言的学习;图片的自编码主要是将缺失的部分根据周围进行填补,需要自编码对整体页面进行全面理解
3)decoder 解码
图片自编码主要输出丢失的图片;NLP主要填补缺失文字,含有丰富的语义信息
1.4 重要部分说明
1)masking 遮挡掩码部分
将图片分割为规则的非重叠的小块,接着进行random sampling进行删除掩盖,将稀疏向量作为encoder的输入
2)MAE encoder
由于我们的输入是稀疏的,所以我们只需要运算整个图片的其中一部分,从而用很少的时间和内存来运行大型的encoder模块
3)MAE decoder
针对输出的部分我们进行空缺填补,对于长向量,我们采用小deocder进行运算
4)reconstruction target 重建目标
deocder的最后一层输出层,全连接计算,最终得到的个数为原图大小的像素块数量,最终deocder输出的便是原图,我们loss function主要通过MSE计算原图与生成的图的差值,在整个计算中,也会计算像素点分布,对每一个patch进行normalize
5)simple implementation 实现流程简单
生成patch --> randomly shuffle 之后,对选取的进行remove --> encoder --> unshuffle后根据原位置进行矫正 --> decoder
掩码比重与准确率的相关关系如下图所示:
可以发现,在75%覆盖时,准确率最高