MAE:Masked Autoencoders Are Scalable Vision Learners

在深度学习模型中,通常会通过 BackBone 提取特征,这些 BackBone 通常使用大量的人工标注数据训练得到,但是人工标注成本很高,能不能在没有标注数据的情况下,训练得到一个预训练模型呢?MAE 通过自监督方法训练得到 BackBone 模型,MAE 开发了一种非对称编码器-解码器结构,其中的编码器仅对可见的 patch 子集进行操作,而轻量级解码器则从潜在表示和 mask token 重建原始图像。对输入图像的高比例(例如 75%)进行 mask 会产生一项困难且有意义的自监督任务

什么是掩码自编码器 (MAE) ?

  • 在深度学习模型中,通常会通过 BackBone 提取特征,这些 BackBone 通常使用大量的人工标注数据训练得到,但是人工标注成本很高,能不能在没有标注数据的情况下,训练得到一个预训练模型呢?
  • MAE 通过自监督方法训练得到 BackBone 模型,MAE 开发了一种非对称编码器-解码器结构,其中的编码器仅对可见的 patch 子集进行操作,而轻量级解码器则从潜在表示和 mask token 重建原始图像。对输入图像的高比例(例如 75%)进行 mask 会产生一项困难且有意义的自监督任务

MAE 的网络结构?

  • 首先将input image切分为patches,执行mask操作,然后只把可见的patches送入encoder中,再将encoder的输出(latent representations)以及mask tokens作为轻量级decoder的输入,decoder重构整张image
  • encoder:一个标准的 ViT 结构,只把可见的 patches 送入 encoder 中,编码器输出 token 后,结合 mask tokens 组成完整的全套 token (encoder 和 decoder 处理的 token 数量一致)
  • decoder:也是一个 vit 结构,目的是执行图像重建任务,将 mask tokens 和 encoder 的输出作为输入,加上位置编码。decoder 的最后一层是 linear projection,输出通道数量和一个 patch 内的 pixel 数量相同(方便重构),然后再 reshape,重构 image
  • MAE 中 decoder 的设计并不重要,因为预训练结束之后,只保留 encoder,decoder 只需要完成预训练时的图像重构任务,encoder 用于下游任务

MAE 的不同 Mask ratio 大小对预训练、微调的影响?

MAE 使用 Mask token 对预训练、微调的影响?

  • 实验表明,encoder 如果接收 mask tokens,performance 甚至会降低14%,因此 encoder 只接收 visible tokens,既能提升性能,又能降低计算量加速训练

MAE 不同深度、宽度的decoder 对 encoder 输出泛化性的影响?

  • 深度:MAE decoder 的深度对 linear probing 影响非常大,可以从65.5提升到73.5,这是由于 MAE 预训练使用像素级重构任务,而 linear probing classifier 执行的是分类任务,两者之间有一个明显的 gap,表明 encoder 输出特征不够抽象。实验显示 8 blocks 的 decoder 使得 encoder 的 latent representation 的语义信息最抽象,更适合分类任务
  • 宽度:MAE decoder 的宽度也有类似结论,实验结果显示 512 的宽度性能最佳

MAE 使用不同重建策略对预训练、微调的影响?

MAE 使用不同的目标重建策略?

  • MAE 最终目标构建策略使用的是像素级别的重建(pixel),作者还和 BEiT 那种预测 token 的方式以及 PCA 的方式
  • 可以发现,预测归一化像素值的方式最强,其次,BEiT 那种预测 token 的玩法也不差

参考:

  1. ​一文看尽MAE最新进展!恺明的MAE已经提出大半年,目前发展如何? - 知乎
  2. MAE(Masked Autoencoders) - 知乎
  3. 别再无聊地吹捧了,一起来动手实现 MAE(Masked Autoencoders Are Scalable Vision Learners) 玩玩吧! - 知乎