论文笔记-Masked Autoencoders Are Scalable Vision Learners

论文地址:https://arxiv.org/pdf/2111.06377.pdf
代码:https://github.com/lucidrains/vit-pytorch#masked-autoencoder

一句话简介:随机mask掉高比例image patch,输入一个非对称的autoencoder,encoder是ViT,decoder是Transformer,效果好。

1. 介绍

现在的深度学习模型已经发展到了需要数亿标记过的图像训练的程度。这种对于数据的需求已经在NLP中通过自监督预训练解决了,思想就是去掉对一部分数据,然后学习预测被去掉的内容,这种方法现在可以训练包含超过一千亿个参数的通用 NLP 模型。

CV中也有类似的思想,但是却没有像NLP取得很大的进展,那么是什么让autoencoder在CV和NLP上有所不同?

  • 结构不同。直到ViT出现之前,卷积一直在CV占主导地位,将 mask token 或者 positional embedding 加入卷积并不容易
  • 信息密度不同。语言是人类生成的具有高度语义和信息密集度的信号。当训练一个模型来预测每个句子的几个遗漏单词时,这个任务似乎会引起复杂的语言理解。相反,图像是具有严重空间冗余的自然信号,可以从相邻的 patch 中重新覆盖丢失的 patch。因此,作者选择了随机 mask 掉非常高比例的 image patch,减少了冗余,并创建了一个需要对图像整体有所了解的自监督任务。
  • 解码器作用不同。在视觉中,解码器重构像素,因此其输出的语义水平低于普通的识别任务。 在语言中,解码器预测的是包含丰富语义信息的缺失单词。作者发现,对于图像来说,解码器的设计在决定学习到的潜在表征的语义水平方面起着关键作用。

综上,作者提出了一个简单、有效、可扩展的视觉表征学习的 masked autoencoder(MAE)。 MAE从输入图像中掩盖了随机部分,并在像素空间中重建了丢失的部分。 它有一个不对称的编码器-解码器设计。 MAE 的编码器只对可见的 patches进行操作(没有 mask token),而解码器是轻量级的,并从hidden representation 以及 mask token 中重建输入。


MAE的结构

将 mask token 放在较小的解码器部分可以减少计算,在这种设计下,一个非常高的掩码率(75%)也可以得到很好的准确性,让编码器只需要处理很小一部分的数据,因而可以减小预训练的时间和内存消耗,从而扩展到大的模型。

MAE可以学习到非常高容量的模型,并能很好地泛化。 通过MAE的预训练,可以在 ImageNet-1K 上训练像 ViT-Large/-Huge 这样对数据要求很高的模型,并提高泛化性能。 通过 vanilla ViT-Huge模型,在ImageNet-1K 上进行微调时,达到了87.8%的准确性。这超过了以前所有只使用ImageNet-1K 数据的结果。

在目标检测、实例分割和语义分割的转移学习任务中,MAE的预训练取得了比其监督预训练更好的结果,更重要的是,作者观察到通过扩展模型获得了显著的收益。这些观察结果与那些在 NLP 的自我监督预训练中的观察结果是一致的。

以75%的mask ratio预训练,但是输入有更高的 mask ratio

2. 相关工作

自编码器(autoencoder)是学习表示的经典方法。它有一个将输入映射到潜在表示的编码器和一个重构输入的解码器。PCA 和 k-means 是都可以看作是自编码器。 Denoising autoencoders (DAE) 破坏输入信号并学习重建原始的、未破坏的信号,比如去掉像素或去除颜色通道。作者的 MAE 也可以看作是一种DAE,但在许多方面与经典 DAE 不同。

3. 方法

MAE 的作用是从一部分信号重建出原始信号,编码器将观察到的信号转为潜在表征,解码器从潜在表征以及 mask token 中将原始信号重建出来。采用不对称的结构。

Masking
将图像分成不重叠的 patches,随机均匀采样得到一个子集,mask ratio 指的是没有被采样到,被扔掉的部分。
具有高mask ratio的随机采样在很大程度上消除了冗余,从而创造了一个不能轻易通过从可见的相邻 patch 中推断出的任务。 均匀分布防止了潜在的中心偏向(即在图像中心附近有更多的遮蔽斑块)。 最后,高度稀疏的输入为设计一个高效的编码器创造了机会。

MAE 编码器
一个 ViT,只用在被采样出来的 patches 上,编码器通过带有附加位置嵌入的线性投影做 patch embedding ,然后通过一系列 Transformer 块处理结果。没有用到 mask token。

MAE 解码器
解码器的输入包括编码器编码过的 patch 和 mask token。每个 mask token 是一个共享的、学习过的向量,表示存在一个需要预测的缺失了的 patch。
作者在这个完整的集合中为所有的标记添加位置嵌入;如果没有这个,mask token就没有关于它们在图像中的位置的信息。 解码器有另一系列的 Transformer 模块。

MAE解码器只在预训练期间用于执行图像重建任务(只有编码器用于产生用于识别的图像表示)。因此,解码器结构可以以独立于编码器设计的方式灵活设计。 例如,设计一个非常轻量级的解码器,会大大减少了预训练时间。

重建目标
MAE通过预测每个被 masked(扔掉的,没有被采样的)patch 的像素值来重构输入。解码器输出中的每一个元素都是代表一个 patch 的像素值的向量。 解码器的最后一层是一个线性投影。
损失函数计算重建图像和原始图像之间在像素空间的均方误差(MSE)。只在被mask 的 patch 上计算损失,与BERT类似。
作者还研究了一个变体,其重建目标是每个被遮蔽 patch 的归一化像素值。 具体来说,计算一个patch中所有像素的平均值和标准差,并使用它们来做归一化。 在实验中,使用归一化的像素作为重建目标,可以提高表示的质量。

简单实现
首先通过线性偷听加上位置嵌入对每一个 patch 生成 token,然后随机打乱顺序并按比例去掉后面的一部分。
编码后,mask token 列表里加上 encoded patches,还原到打乱顺序之前的顺序,使位置对齐,这个完整的列表加上位置嵌入,一起进入解码器。

4. 实验

经过实验作者使用了8个 transformer blocks,512的宽度,作为默认的MAE decoder。与其他的自监督预训练,有监督预训练的方法对比,MAE的效果最好。用迁移学习在其他任务,例如目标检测和分割上,也取得了很好的效果提升。

5. 讨论

自监督学习在视觉中可能会有像在NLP中一样的发展。
MAE重建像素,而不是语义实体,尽管如此MAE还是能推断出整体的重建,说明它的确学到了视觉概念。


强行补头操作

抛开MAE本身到底有没有用,这篇文章中实验思路其实非常值得学习,比如实验效果不好的时候要如何去思考。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容