Masked Autoencoders Are Scalable Vision Learners(MAE)
VIT论文解读:Vision Transformer(ViT)_NLP_wendi的博客-CSDN博客
论文链接:Masked Autoencoders Are Scalable Vision Learners
摘要
MAE是CV中易扩展的自监督学习器。方法比较简单:随机遮盖住一部分patches,然后重构这些部分。基于两个设计:1、我们开发了一个非对称的编码-解码结构,编码器只编码那些可见的patch(未被遮盖),用一个解码器从隐表征和被遮住的patch中重构原始图片。2、用一个较高比例的mask rate,如75%,可以创建一个不那么明显且有有意义的自监督任务。合并这两个设计,我们可以训练一个高效的大模型,3倍以上的加速和更高的精度。这个易扩展的方法可以学习更高潜力的模型,且泛化性还不错,仅使用ImageNet-1k的数据集,基于ViT-Huge的模型可以取得最好的精度87.8%。在下游任务上的迁移学习也超过了有监督的预训练模型,且有不错的扩展性。
引言
masked autoencoders,更一般的如去噪autoencoder,在CV中已经有应用,且在联系紧密程度上高于bert,然后,在CV中的发展却落后于bert,NLP和CV之间的masked autoencoding的区别在哪里?
- 结构不同。CV中,主要应用CNN结构,CNN在一个固定大小的格子中做运算,没有将masked token或位置embeddings嵌入到网络中,这种结构的差异,在ViT中已经被解决,不再是一个应用瓶颈。
- 信息密度不同。语言是人为的数据,包含高密度的语义信息;图片是自然的数据,包含冗余的信息。为了克服这类问题,我们使用了一个简单而有效的策略:随机遮住大部分patches。这种策略可以极大降低冗余,且能创建一个基于低层次图片特征的、需要整体理解的自监督任务。
- 解码器不同。在CV中,解码器需要重构像素,对比一般的识别任务,它的输出只是一个低层次的信息,这和NLP中明显的不同,NLP中的解码器需要预测被遮住的单词,它包含丰富的语义信息。在NLP中,解码器不是太重要【一个MLP】,然后我们发现,在CV中,解码器的结构在对隐表示的语义层次上起到重要的作用。
相关工作
MLM:对应的自回归模型有GPT、Bert。
Autoencoding:PCA和k-means均为自编码。DAE(Denoising autoencoders):对输入信号进行腐蚀,然后重构原始信号。
Masked image encoding:iGPT:给定连续的像素序列,预测未知的像素;BEiT:预测被mask的像素tokens。
Self-supervised learning:对比学习,建模相似和不相似的图片,这种强依赖于数据增强处理。
方法
Masking。我们将图片分割成不重复的片。然后随机采样一些片,无放回地采样,服从均匀分布。称之为随机采样。
MAE encoder。按照标准的ViT结构,编码器仅对看得见的patches做一个线性变换,然后加上位置embeddings。然后通过一系列的Transformer block块处理。编码器只对25%的区域做运算,大大节省了计算和内存。
MAE decoder。输入有两部分构成:i)可见patches的编码 ii)遮住的tokens。所有的被遮住的tokens共享一个可学习的向量,表示这个待预测的patches。我们又在输入中添加了位置embeddings,decoder由另外的一组Transformer block块组成。
MAE decoder只在预训练阶段使用,用来图片重构任务。在识别任务中,encoder用来生成图片表征。因此,可以灵活设计decoder结构,它是独立于encoder的。
Reconstruction target。decoder的输出是关于patch像素值的一个向量。decoder的最后一层是一个线性映射,输出通道的个数等于像素的通道数。损失函数是计算重构image和原始image之间的均方误差(MSE)。只在被masked的patches上计算损失,类似于bert。
另外我们还尝试了对patch做的重构做正则化处理。计算每一个patch的均值和标准差,然后用其进行归一化。在我们的实验里,这个可以提升表征性能。
Simple implementation。实现上也很简单,不需要额外的处理。先对所有的patch做一个线性变换,加上位置embedding,然后将这个列表打散,根据mask 比例,移除掉最后的部分。剩下的部分就是需要编码的,这等价于无放回地随机采样。编码后,我们将被masked的token追加到已编码的列表后面,然后对列表进行还原,将其和目标对齐。解码器作用在这个列表上。
ImageNet实验
在ImageNet-1k训练集上预训练,然后采用了两种监督学习的方式,来评估表征性能。i)end-to-end fine-tuning ii)linear probing.
下表是baseline MEA方法的实验结果,可以看到经过MEA预训练后finetune的效果要超过直接从头训练(84.9 vs 82.5):
Main Properties
我们实验下来,发现最好的mask ratio是75%,这和bert非常不同,bert通常的mask ratio是15%。其他的类似的研究的mask ratio在20%-50%之间。
Decoder design.
Mask token.
Reconstruction target.
Data augmentation.
Mask sampling strategy.
Training schedule.
Comparisons with Previous Results
Partial Fine-tuning
Transfer Learning Experiments
结论和讨论
图片和语言是不同属性的信号,这种不同需要区分处理。图片只是被轻量记录的数据,缺乏和语言类似的语义信息。和移除具体目标不同的是,如果只是遮住随机的图像块,那很有可能不构成语义块。我们的MAE重构像素,也不是语义实体。尽管如此,MAE仍然能推断复杂的、全面的重构任务,说明 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
(七十六):Masked Autoencoders Are Scalable Vision Learners Abstract 1. Introduction 2. Related Work 3. M ...
- 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 论文导读
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紧随其后的是代码复 ...
- Vision Transformer(ViT)PyTorch代码全解析(附图解)
Vision Transformer(ViT)PyTorch代码全解析 最近CV领域的Vision Transformer将在NLP领域的Transormer结果借鉴过来,屠杀了各大CV榜单.本文将根 ...
- 【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解
1. L1 Loss(Mean Absolute Error,MAE) 平均绝对误差(MAE)是一种用于回归模型的损失函数.MAE 是目标变量和预测变量之间绝对差值之和,因此它衡量的是一组预测值中的平 ...
最新文章
- Spark环境搭建(一)-----------HDFS分布式文件系统搭建
- Refuses to install for WTP10
- (LeetCode 92)Reverse Linked List II
- 频谱分析:基于python画出时域频域波形
- caffe 框架梳理(待续)
- jQuery1.3.2 源码学习 -2 两个重要的正则表达式
- matlab两张图片合成一张_两张图片合成一幅画意作品的简单方法
- iPhone11 全线降价;哈啰出行否认大量裁员;LineageOS 17.1 发布| 极客头条
- javamail 解码 base64 html格式邮件_Spring整合javaMail
- python装饰器详解-如何更通俗地讲解Python的装饰器?
- python金融风控评分卡模型和数据分析(加强版)
- CCNA 网络安全答案汇总
- 工作流:如何将Word尾注转换为普通文本格式
- 新锐领袖之力——中国时尚达人李磊受邀参加balmain 2022秋冬大秀
- VUE Echarts世界地图 中文名称显示国家
- ICC2(一)import design —— NDM
- RC延时电路简要分析
- 人民日报关于996的这段【内容引起极度舒适】!
- PNI12927磁场强度传感器--金属检测实现方案
- channel error:reply-code=404, reply-text=NOT_FOUND - no exchange ‘console‘ in vhost ‘/‘, class-id=40
热门文章
- 专科段《质量管理》课程复习资料(3)——简答、计算题
- 进制的转换规则简单口诀
- iOS12 验证码无法填充的问题 苹果坑爹匹配算法
- 电脑模拟器安卓9激活edxposed框架教程
- java基础-ascii编码
- python 同花顺thstrader_GitHub - python8642/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...
- DNS系统解析基本流程
- rabbitmq重启
- 控制器的功能和工作原理
- 加快推进我国电子商务应用的思考