Masked Autoencoders Are Scalable Vision Learners (2021 何凯明老师组)

怎么说呢,何老师出品,必属精品!遵循的一个原则就是:非常好理解,容易阅读,可谓大道至简!
就是对硬件设备的要求太高了,普通科研狗,想复现都难(crying.jpg)

1. 出处

2021 何凯明老师组(CVPR 2022 )

2. 核心思想

MAE mask输入图像的随机patches,重建缺失的pixels。

两个主要设计:

  • 一个不对称的encoder-decoder架构

    encoder只对可见的patches子集(不包括mask tokens)进行操作

    轻量级的decoder在隐含表示和mask tokens上重构原始图像

  • mask输入图像的大部分(75%)能够产生重要的自监督任务

结合这两种设计,能够高效地训练大模型,加速训练过程(3X甚至更多)并提高准确率。

3. 整体结构

3.1 结构

在这里插入图片描述流程:

  1. 在预训练阶段,图像大量的随机子块被遮住
  2. encoder被用于剩余小部分可见的patches上
  3. encoder后,引入mask tokens,全部encoded patches和mask tokens通过decoder被处理,重构原始的图像。
  4. 预训练后,丢弃decoder,保留encoder,用于检测任务中原始图像特征提取。

3.2 Masking

采样图像中一部分patches,遮住剩下的。

采样策略:无放回随机采样,依照均匀分布。均匀分布能够防止潜在的中心偏差(例如,很多masked patchea靠近图像中心的情况)

3.3 MAE Encoder

本文使用的encoder是ViT,但只用于可见的,未被遮住的patches。

正如标准的ViT中的操作,encoder通过附加位置编码的线性映射来embed patches,然后通过一系列Transformer块处理结果。

3.4 MAE Decoder

MAE decoder的输入是全部的tokens,包括:编码的可视patches和mask tokens。每个mask token是一个共享的,学习的向量,表示一个缺失的待预测的patch.

对集合中的所有tokens添加位置编码。

结构:decoder是另外的一系列Transformer块

MAE decoder只在预训练阶段用来完成图像重构任务,只有decoder用于产生图像特征用于识别任务。因此,decoder可以灵活设计,独立于encoder的设计。

3.5 重构目标

MAE通过预测每个masked patch的像素值来重构输入,decoder输出中的每个元素,是像素值向量,代表一个patch.

decoder的最后一层是线性映射,输出通道的数量等于每个patch像素值的数量。

decoder的输出重组,形成一个重构图像。

损失函数:计算重构图像和原始图像在像素空间上的MSE,只计算masked patches的损失。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值