Masked Autoencoders Are Scalable Vision Learners (MAE)
目录
- Introduction
- Approach
- Experiments
- ImageNet Experiments
- Main Properties
- Comparisons with Previous Results
- Partial Fine-tuning
- Transfer Learning Experiments
- References
Introduction
- 在 ViT 的 paper 中,作者就挖下了自监督学习的坑,而 MAE (Masked AutoEncoders) 就属于填坑之作,它在 ImageNet 上通过自编码器甚至达到了媲美有监督学习的效果,这为 CV 领域后续的大规模模型训练打下了坚实的基础
Autoencoders (自编码器) 中的 Auto 是自监督学习的意思,代表模型学习的 label 来自于图片本身
Approach
Motivation
- MAE 类似于 BERT 中的 MLM,通过在 CV 领域引入 Masked autoencoding 来进行自监督学习。在进一步介绍 MAE 结构之前,我们可以先来看一看 NLP 和 CV 中 masked autoencoding 的区别:
- (1) Architectural gap: 在过去,CNN 一直是 CV 领域最流行的模型,而在卷积中整合 mask tokens 却并不那么直观。但幸运的是,这个问题已经被 Vision Transformers (ViT) 解决了
- (2) Information density: 语言和视觉的信息密度是不同的。语言是含有大量语义的高信息密度的人工信号,当我们训练一个模型去预测一个句子中被遮盖的单词时,模型就需要学得复杂的语言理解能力。但图像却是带有大量空间冗余信息的自然信号,例如一个被遮挡的像素可以简单得由邻近像素插值得到而不需要任何对图像的高层次理解。这个问题可以由一个非常简单的方法解决:随机遮盖图片中的大部分 patches,这有助于减少图像的信息冗余并促进模型对图片的整体理解 (下图中从左往右依次为 masked image、MAE reconstruction 和 ground-truth,遮盖比例为 80%)
- (3) The autoencoder’s decoder: 自编码器的解码器负责将编码器得到的隐式表示映射回输入空间。在语言任务中,解码器负责重构高语义层级的单词,因此 BERT 中的解码器仅为一个 MLP。但在视觉任务中,解码器负责重构低语义层级的像素,此时解码器的设计就非常重要了,它必须有足够的能力将编码器得到的信息还原为低语义层级的信息
MAE
- MAE 是一个简单的自编码器,类似于 BERT 中的 MLM,MAE 通过随机遮挡图像的若干 patches 并进行重构来进行自监督学习。通过上面的分析,我们可以设计如下的结构:
- (1) MAE 随机遮盖输入图像中的大部分 patches (e.g., 75%) 并在像素空间内对其进行重构。Mask token 是一个可以学习到的向量
- (2) 采用非对称的 encoder-decoder 架构,编码器仅对未被遮盖的 patches 进行编码,更轻量的解码器则对所有 patches 进行重构 (包括编码器得到的向量和 Mask token,并且它们都要加上 positional embeddings)。这种非对称的设计可以节省大量运算,进一步提高 MAE 的可扩展性 (“非对称” 指编码器仅看到部分 patches,而解码器则看到全部 patches,同时处理全部 patches 的解码器更加轻量)
- (3) 损失函数。解码器的最后一层为一个线性层,每一个输出都代表了一个 patch 的像素值。损失函数采用均方损失 (MSE),并且损失只在 masked patches 上计算 (This choice is purely result-driven: computing the loss on all pixels leads to a slight decrease in accuracy (e.g., ∼0.5%).)。除此之外,我们也研究了一个变种,就是让解码器预测 patches 的 normalized pixel values,这有助于提高 representation quality (当然,这个变种方法必须要事先知道被遮盖 patches 的均值和方差,因此在做图像重构预测时就不管用了)
After pre-training, the decoder is discarded and the encoder is applied to uncorrupted images (full sets of patches) for recognition tasks.
Simple implementation (no sparse operations are needed)
- (1) 通过线性投影层和 positional embedding 为每个输入 patch 都生成一个 token
- (2) 随机 shuffle 所有 token 序列并根据 masking ratio 移除末尾的一大部分 tokens,这样就生成了 visible patches 用于输入编码器。编码器完成编码后,再在 encoded patches 序列之后加上 mask tokens,并将整个序列还原为原始顺序,接着加上位置编码后送入解码器 (This simple implementation introduces negligible overhead as the shuffling and unshuf-fling operations are fast.)
Experiments
ImageNet Experiments
- 我们在 ImageNet-1K 训练集上进行了自监督的预训练,然后在同样的数据集上做有监督训练来检验自监督学习的效果。在做有监督学习时,用了两种方法:(1) end-to-end fine-tuning,有监督学习时允许改变模型全部参数;(2) linear probing,有监督学习时只允许改变模型最后线性层的参数
- Baseline: ViT-Large (ViT-L/16). 由于 ViT-L 模型很大,在 ImageNet 上容易过拟合,因此我们在实验时加上了强正则化 (scratch, our impl.) 并训练了 200 个 epoch,但结果仍然逊于只 fine-tune 了 50 个 epoch 的 MAE:
Main Properties
Comparisons with Previous Results
Comparisons with self-supervised methods
Comparisons with supervised pre-training
Partial Fine-tuning
Transfer Learning Experiments
References
- paper: Masked Autoencoders Are Scalable Vision Learners
- MAE 论文逐段精读【论文精读】
Masked Autoencoders Are Scalable Vision Learners (MAE)相关推荐
- 李沐精读论文:MAE 《Masked Autoencoders Are Scalable Vision Learners》
论文:Masked Autoencoders Are Scalable Vision Learners 别再无聊地吹捧了,一起来动手实现 MAE(Masked Autoencoders Are Sca ...
- Masked Autoencoders Are Scalable Vision Learners(MAE)
VIT论文解读:Vision Transformer(ViT)_NLP_wendi的博客-CSDN博客 论文链接:Masked Autoencoders Are Scalable Vision Lea ...
- MAE 论文《Masked Autoencoders Are Scalable Vision Learners》
<Masked Autoencoders Are Scalable Vision Learners>带掩码的自编码器是一个可拓展的视觉学习器,听名字就明白一二,应该是在编码器部分加上了 m ...
- Masked Autoencoders Are Scalable Vision Learners 论文研读
NLP CV Transformer ViT BERT MAE 文章目录 1. 标题 2. 摘要 3. 模型架构 4. 结论 1. 标题 Masked Autoencoders Are Scala ...
- 【读点论文】Masked Autoencoders Are Scalable Vision Learners 完型填空应用到视觉处理上
Masked Autoencoders Are Scalable Vision Learners 本文表明,掩蔽自动编码器(MAE)是计算机视觉的可扩展自监督学习器. 本文的MAE方法很简单:通过屏蔽 ...
- (七十六):Masked Autoencoders Are Scalable Vision Learners
(七十六):Masked Autoencoders Are Scalable Vision Learners Abstract 1. Introduction 2. Related Work 3. M ...
- Masked Autoencoders Are Scalable Vision Learners 论文导读
Facebook 人工智能研究 (FAIR) 团队发表的论文 Masked Autoencoders Are Scalable Vision Learners 已成为计算机视觉社区的热门话题.这也是K ...
- 【论文和代码阅读】Masked Autoencoders Are Scalable Learners (MAE)
写在最前面 先贴一下MAE的论文链接 https://arxiv.org/pdf/2111.06377.pdfhttps://arxiv.org/pdf/2111.06377.pdf紧随其后的是代码复 ...
- PyTorch笔记 - MAE(Masked Autoencoders) PyTorch源码
欢迎关注我的CSDN:https://blog.csdn.net/caroline_wendy 本文地址:https://blog.csdn.net/caroline_wendy/article/de ...
- 论文阅读VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training
VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training 文章目 ...
最新文章
- Maven向本地仓库导入官方仓库没有的jar包
- java file 如何关闭,java – 如何正确关闭从FileOutputStream获取的FileChannel
- g++ 4.4.7 template 没问题,前面应该程序问题!!
- spring cloud 配置中心
- 循环神经网络教程4-用Python和Theano实现GRU/LSTM RNN, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano
- mysql迁移之后读取速度变慢_如何解决数据库迁移之后变慢的问题
- QDoc分组事物Grouping Things
- ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI
- hdu 2871 Memory Control(线段树)
- 2013-11-5 深圳尚游网络公司 - 服务器开发工程师
- 和电商有关的词语_关于电商的一些词
- 大数据早报:极课大数据获得1亿元融资 美科学家利用机器学习挖出人们背后的自杀行为(11.1)
- 青果教务系统API(Java版)
- rviz点云渲染卡顿问题
- 游戏开发相关书籍推荐,简介
- 2020年最好的机器人学仿真工具软件汇总
- Citrix虚拟桌面部署
- 仅需一步,完美解决 0xc000007b 报错
- 格式化数字,逢千位数加逗号
- Java中的抽象类和接口
热门文章
- bitbucket配置_用Bitbucket搭建博客初探
- 国培计算机网络技术培训心得,2017国培学习心得体会及感受
- android 路由表命令,一个轻量简易的Android路由框架
- MA5671 上海联通配置指南
- webrtc与stunserver、turnserver建立连接花费时间十秒左右
- STL之vector中push_back的时间复杂度分析
- 运用c++编写一个计算三角形周长和面积的程序
- 校园英语杂志校园英语杂志社校园英语编辑部2022年第15期目录
- flask form表单
- 3、RDD-Single-Stage Rotation-Decoupled Detector for Oriented Object