读论文——MAE(CV小白带读2021何恺明新作)

第一遍

标题

Masked Autoencoders Are Scalable Vision Learners (带掩码的自动编码器是可拓展的视觉学习器)

论文地址: https://arxiv.org/abs/2111.06377

作者

Kaiming He ,Xinlei Chen (Facebook AI Research, FAIR)

摘要

  • MAE是可拓展自监督视觉学习器
  • 思想:随机掩盖一些图像块,然后重建丢失的像素
  • 方法:
    1. 使用一个非对称的解码编码器对可见的图形块进行处理,同时使用一个轻量级的解码器从潜在表示和掩码块重建原始图像;
    2. 如果遮挡输入图像的大部分(例如75%),就是变成了一个自监督任务。
  • 这两种方法可以有效地训练大规模模型:可以加速训练和提高精度。
  • 本文的方法可用于ViT下游识别任务的fine-tune,还可以用于目标检测、实例分割以及语义分割等任务的迁移学习。

结论

  1. 简单的算法能够很好地伸缩,是深度学习的核心,符合目前深度学习的趋势,从residual block、attention block、transformer block等,大家开始使用一些相对简单、固定的结构,一方面它们有不错的性能表现,另一方面它们也不需要调很多超参数,便于训练。
  2. 本文提出在CV中自监督学习也是具有很大意义的,可以提高模型的拓展性,而且也和NLP走上了同样道路,某种程度上来说打通了CV和NLP之间的屏障。
  3. 图像和语言是两种不同的信号,图像仅仅是记录下来的光,没有把语义分解成文字的视觉模拟。因此,我们没有尝试移除对象,而是移除了随机的块(这些块最没有可能形成一个语义块)。我们的MAE重建像素而不是语义实体,但是实验过程中发现,MAE也推断出了复杂的整体的结构,表明它学习了很多视觉概念甚至语义,这一点还有待于后继者继续挖掘。
  4. 更广法的影响,由于所提出的方法是基于训练数据集的学习统计数据预测内容,那么就会反应训练集中的偏差。因此模型可能会产生一些不存在的内容,这一点还有待进一步的研究。

1. 介绍

  1. 在CV和NLP中带掩码的自编码有什么不同?

    1. 模型不同,CV中主要以卷积神经网络为主,但是ViT成功跨界。

    2. 图像和文字信息密度不同。文字具有更高的信息密度,图像则具有更多的冗余信息。因此,相较于文字,在图片中随机掩盖更大的区域。 如图2-4

      读论文——MAE(CV小白带读2021何恺明新作)_第1张图片

      ImageNet验证集图片,图片三元组中,左图是遮挡后的图片,中间为MAE重建的图片,右图为原图。

      读论文——MAE(CV小白带读2021何恺明新作)_第2张图片

      COCO验证集数据,MAE是训练在ImageNet上的。

      观察两个最右边的例子的重构,虽然不同于基本真理,但在语义上是合理的。

      读论文——MAE(CV小白带读2021何恺明新作)_第3张图片

      用一个遮挡率为75%的预训练MAE在更大程度被遮挡的ImageNet验证集上重建图片。

    3. 在解码器中,MAE需要重建一个更低维的语义信息(像素);而在NLP中,需要预测缺失词,包含比较丰富的语义信息。解码器决定将学习到的潜在表示输出为何种层次的语义信息

  2. MAE整体结构

    读论文——MAE(CV小白带读2021何恺明新作)_第4张图片

    随机掩盖大部分的像素块(大约75%),编码器编码可见的图像块,然后将Masked token加入到编码器输出结果,接着使用一个小的解码器,将它们重建为图片像素。经过预训练后,丢弃解码器,将编码器用于未损坏的图像,生成用于识别任务的表示

    由于每次只需要对图片中25%的区域进行编码,因此降低了预训练速度,也降低了内存使用。

第二遍

2. 相关工作

编码语言建模

在BERT和GPT中被验证,具有良好的泛化能力

Autoencoding

这是一种经典的表示学习,将输入映射到潜在表示,然后解码重建出输出。(例如:PCA和K-means)

MAE是一种Denoising autoencoders (DAE) 模型,将input破坏(掩盖像素、去除颜色通道),然后重建出来。

掩盖图片编码

iGPT、ViT、BEiT

自监督学习

3. 方法

Masking

  1. 按照均匀分布,非重叠随机采样一些图像块送入编码器,其他的掩盖掉。
  2. 这样掩盖的优点在于:
    1. 大面积的掩盖,消除了冗余性,让这个任务也没法简单地外推解决
    2. 均匀分布采样,避免了一个潜在的中心偏差,防止仅仅掩盖图片中间部分
    3. 大面积掩盖也提高了编码效率

MAE encoder

  1. 本文编码器采用ViT,但是输入是可见的图片块。

MAE decoder

  1. 解码器输入由可见图片块的编码结果+mask token组成,每个mask token是一个可共享的、可学习的向量,用来表示预测的图像块
  2. 本文对所有的tokens都添加了位置编码
  3. 编码器也是由一系列的transformer块组成

重建目标

  1. 直接用像素值
    1. decoder最后接一个线性层,输出维度是对应patch中像素个数,然后reshape成原始图片维度。
    2. 损失函数是MSE,仅仅对masked patches在像素空间计算损失
  2. 用patch像素值的均值和方差

4. ImageNet实验

消融实验

Masking ratio

读论文——MAE(CV小白带读2021何恺明新作)_第5张图片

Decoder design

读论文——MAE(CV小白带读2021何恺明新作)_第6张图片

  • depth和width并不起决定性作用

Mask token

跳过掩码([M])

  • encoder使用mask token会导致encoder的特征提取能力减弱

Reconstruction target

  • 带norm的基于pixel的target同时在fine-tuning和linear-tuning达到最优

Data augmentation

通过data augmentation的消融实验,表明MAE对于数据增强的需求并不强烈,在较弱的数据增强下,反而能够取得最好的精度,推测是因为重建任务本身就不需要强烈的数据增强,过于强烈的数据增强会导致信息失真。

Mask sampling strategy

随机采样效果是最好的

Training schedule

通过增加训练的epoch,MAE在fine-tuning和linear probing上可以持续提升精度,并且直到1600epoch还未见到衰退现象,说明了MAE抽象语义信息的能力之强。

第三遍

本文创新点小结:

  1. 图片构建成patches,相较于整个图片可以学习更加细粒度的语义信息;相较于像素级别,降低了像素级别的噪声。
  2. image token和mask token解耦,一方面让编码器学习到的特征更加纯粹,另一方面也降低了编码器的计算量
  3. 特征提取和图像重建解耦
  4. pixel重建目标,能够尽可能地使用图片信息。

问题:

  1. fine-tuning、linear probing以及partial fine-tuning具体指什么?

    人们常用的 Linear Probing (只训练最后一层线性分类器的参数)Fine-tuning (训练所有层的参数),Partial Fine-tuning 是指 只训练最后模型的若干层的参数

参考文献:

[1] 参考博客1

[2] 参考博客2

你可能感兴趣的:(#,计算机视觉,计算机视觉,深度学习,人工智能)