赞
踩
MAE 2021.11.11提交 arxiv
知乎 百万 view; Reddit or Twitter 讨论不多
MAE 很新 --> 如何在读比较新的文章 获取一些新的研究思路?
和之前精读论文的关系?
Transformer
一个纯基于注意力机制的编码器和解码器
表现比 RNN 架构好,在机器翻译任务
BERT
使用 一个 Transformer 编码器
拓展到更一般的 NLP 的任务
使用了 完型填空 的自监督的训练机制
不需要使用标号
去预测一个句子里面 不见 masked 的词
从而获取对文本特征抽取的能力
BERT 极大的扩展了 Transformer 的应用
在一个大规模的、没有标号的数据上 训练出非常好的模型出来
ViT
将 Transformer 用到 CV 上面
把整个图片分割成很多 16 * 16 的小方块
每一个方块 patch 做成一个词 token,然后放进 Transformer 进行训练
证明:训练数据足够大 (1,000万 或者 一个亿的训练样本)的时候,Transformer 的架构 精度 优于 CNN 架构
MAE:
BERT 的一个 CV 的版本
基于 ViT ,BERT化
把整个训练 拓展到没有标号的数据上面
通过完型填空来获取图片的一个理解
不是第一个将 BERT 拓展到 CV 上
MAE 很有可能 未来影响最大
BERT 加速了 Transformer 架构 在 NLP 的应用
MAE 加速 Transformer 在 CV 上的应用
1.标题 + 作者
Masked Autoencoders 带掩码的自编码器 是可扩展的视觉学习器 scalable vision learners
scalable:可扩展的,模型比较大
efficient:算法特别快
vision learners:≠ classifier,一个 backbone 的模型
masked:来源于 BERT
BERT 是 masked language model,带掩码的语言模型;完形填空
每次挖掉一些东西,然后去预测挖掉的东西
Auto-encoder:
auto “自”,ML模型 auto 自模型;i.e., 自回归模型
标号 y 和 样本 x 来自 同一个东西
语言模型中,每一次用前面那些词,去预测接下来的一个词;在另外一个样本里面,我们这个预测的词也是标号,也是成为另外一个样本的 x 本身
样本 x 和 标号 y 来自于同样的句子里面的词 --> auto
NLP 里,语言模型是一大类,有没有 auto 大家都理解
Transformer、BERT 用的是 encoder,加不加 auto 大家都觉得没问题
CV 里 auto 自任务很少
图片(像素)的标号很少来自于图片本身,图片的标号更多是文本
encoder-decoder 在图片里用得很多
加 auto 在 encoder之前,MAE 的图片标号是图片本身,区分于其它工作
标题模板很不错!
强有力的句式:文章的结论总结成一句话,XX 是 好 XX
结论放在 title 里,句式相对客观
i.e., GPT 系列 3篇文章
GPT1: Improving Language Understanding by Generative Pre-Training (Generative Pre-Train Model 就是GPT模型的名字由来)
GPT2: Language Models are Unsupervised Multitask Learners
GPT3: Language Models are Few-Shot Learners
Example:
我的手写笔是世界上 最好用来做笔记的笔 ❌
手写笔是一个做笔记很好的工具 ✔
虽然手写笔是我第一个发明的
从读者角度讲述,手写笔为什么它是一个好东西?
作者
视频:06:03处
FAIR
一作:Kaiming 恺明 ResNet 一作 + Project lead (从公司拿资源做项目、管理者;不是一般最后的大老板)
*:equal technial contribution
最后两位作者:CV 物体检测的大佬
2摘要
视频处:07:10
第一句话扩展 title MAE
masked autoencoders are scalable vision learners --> Masked AutoEncoders are scalable self-supervised learners for computer vision.
第二句话 MAE 简单
随机盖住图片里的一些块(patch, image 的一个块),再重构 缺失的像素。
思想来自于 BERT 带掩码的语言模型
这里不是 masked 词,而是图片的一个块 image,重构这个缺失块里面的所有像素
第三句话 2个 core designs
asymmetric encoder-decoder architecture
虽然 MAE 说自己是 masked autoencoder
任何一个模型都有一个编码器解码器
BERT 预测相对简单, 解码器:最后的一个全连接输出层
MAE 预测一个块里面的所有像素
MAE 的编码器 只关注 可见的 patches,节省计算时间
如果 一个 patch 被丢掉了,编码器不会对它进行编码
MAE a lightweight decoder 重构原始的像素
遮住大量的块 (i.e., 75%) 重构像素是一个非显然 nontrivial and meaningful 有意义的 self-supervisory task 自监督任务
如果只遮住几块的话,插值法就可以得到缺失的像素,trivial
遮住一大半的块,迫使模型学习更好的表征
第四句话:asymmetric encoder-decoder + 75% masked --> train large models efficiently and effectively
更有效的训练模型
大:比较有挑战的任务,不是求显然的解 nontrivial
块:不看遮住的块,训练量是 1 / 4,加速 3 倍 or 以上
第五句话:结果好
最简单的 a vanilla ViT-Huge 模型 在 ImageNet-1K 87.8% 准确率
ViT 的自监督学习,效果不那么好,所以没怎么展开
ViT 的作者认为还是需要 有标号的模型、用更大的训练集,效果更好
MAE 使用小数据集 ImageNet-1K 100w 图片,self-supervise 效果很好
第六句话:迁移学习效果
MAE 主要用来做 迁移学习,在别的任务上表现好
shows promising scaling behavior
3关键图
视频处:10:49
CV 最重要的一张图就是放在第一页的右上角
图1:MAE 的模型架构
预训练流程:input --> patches --> masked --> unmasked patches in encoder --> unmasked + masked 按位置排列 进 decoder --> decoder 重构 masked patches 的像素
patches + masked:一张红色鸟图片进来,切成 patches,masked 块 (3/4) 是 灰色的。
unmasked patches,encoder:没有 masked (1 / 4) 的块 进入 encoder (ViT),得到每一块的特征(蓝色)。
encoder 的输出 和 masked tokens 按照在图片中的原始位置排列成一长条向量 (包含位置信息)。
长条向量 进入 decoder,解码器尝试重构缺失的像素信息,还原原始图片
encoder 比 decoder 高:计算量主要来自于 encoder,对图片的像素进行编码
优化 encoder by 编码器只用处理 unmasked patches,i.e., 一张图里 1/4 的像素,--> 计算量降低
Transformer 模型计算量特别大,几倍加速也很重要。
Q:什么情况不需要解码器?
用 MAE 做一个 CV 的任务,只需要用编码器。一张图片进来,不需要做掩码,直接切成 patches 格子块,然后得到所有 patches 的特征表示,当成是这张图片的特征表达,用来做 CV 的任务。
图2:ImageNet 测试集图片
三列分别是:80% masked tokens, MAE 重构的效果,ImageNet 真实图片
虽然细节有一点模糊,钟的指针、车的形状、狗、灯都还原的很好。
图片尺寸只有那么高,分辨率有限
Note: MAE 不一定对 所有图片的构造都那么好,图 2 是展示比较好的样例
图3:COCO
不同的数据集,效果也惊人。
图4 同一张图片、masked patches 的不同比例 的还原效果
95%效果惊人,蘑菇
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。