赞
踩
目录
Masked Autoencoders Are Scalable Vision Learners
Facebook Al的kaiming大神等人于2021年十一月提出了一种带自编码器(MAE),它基于(ViT)架构。他们的方法在imageNet上的表现要好于从零开始训练的VIT。
灵感来源:
监督学习是训练机器学习模型的传统方法,它在训练时每一个观察到的数据都需要有标注好的标签,如果我们有一种训练机器学习模型的方法不需要收集标签,会怎么样?如果我们从收集的相同数据中提取标签呢?这种类型的学习算法被称为自监督学习。这种方法在自然语言处理中工作得很好。一个例子是BERT,谷歌自2019年以来一直在其搜索引警中使用BERT。不幸的是,对于计算机视觉来说,情况并非如此。
MAE总体想法:
随机遮住大量的块,然后去重构这些被遮住的像素信息,让它使用一个非对称的编码器和解码器的机制。
非对称:编码器和解码器看到的东西不一样
非对称的原因:
大量 masked 块,
编码器只看可见块,极大降低计算开销、减少内存消耗 。
关于MAE:
预训练流程:input --> patches --> masked --> unmasked patches in encoder --> unmasked + masked 按位置排列进 decoder --> decoder 重构 masked patches 的像素。
图片还原:
虽然细节有一点模糊,钟的指针、车的形状、狗、灯都还原的很好。图片尺寸只有那么高,分辨率有限。图三是Coco数据集,表明在不同的数据集上效果也不错。
主要结果:
a:解码器的深度,多少个 Transformer 块; end to end fine-tuning 贵一点,但效果好
b: 解码器的宽度,每一个 token 表示成一个多长的向量
c: 编码器要不要加入被盖住的 masked 块:
d: 重构的目标
e :怎么样做数据增强
MAE 对数据增强不敏感
f :怎么采样 被盖住的块
训练时间:
绝对时间
128个 TPU v3的 core, tensorflow 实现
训练时间是10个小时 和 大概是一天多,可以忍受
图 6 表示的是不同的掩码采样策略的区别
图 7 :预训练的轮数和微调的精度的对比
ImageNet-1K 上训练个 1,000 个数据轮,精度有提升,在一直训练一直学习,过拟合也没那么多严重,因为1,000轮是非常非常多的
表3:跟前面结果比 MAE 效果是最好的
图8:跟 ViT 里面的结果比
把验证集换到一个 不那么跟 ImageNet 相像的数据集上,可能这个差距会大一点。
调编码器所有层的参数和最后一层的参数效果差距大
到底调多少层:
调 4 - 5 层比较好
MAE预训练,只使用 ImageNet-1K 100w 无标号数据,ViT-Large/-Huge 达到 ViT 需要 100倍于 ImageNet-1K 的数据 的效果。
迁移学习效果也很好,预训练的模型在 目标检测、实例分割、语义分割 的效果都很好。
和 NLP 类似的效果:
simple:作者的简单是在 ViT 基础上,MAE 提出来的东西相对简单。
scale well:能跑大数据集。
CV 里 有标号的预训练数据是主流。MAE 在 ImageNet 数据集上,通过自编码器学习到 可以媲美 有标号的 结果。
论文: 原文链接
代码:代码链接
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。