李沐精读论文:MAE 《Masked Autoencoders Are Scalable Vision Learners》

本文详细介绍了论文《Masked Autoencoders Are Scalable Vision Learners》,该研究将BERT的掩码自编码器概念应用于计算机视觉,通过在Vision Transformer上进行自监督学习,仅使用少量数据即可达到与有标签训练相当的效果。通过高掩码率和非对称的编码-解码架构,MAE展示了在图像重构和多种下游任务上的优秀性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文:Masked Autoencoders Are Scalable Vision Learners

别再无聊地吹捧了,一起来动手实现 MAE(Masked Autoencoders Are Scalable Vision Learners) 玩玩吧! - 知乎

参考博文:MAE 论文逐段精读【论文精读】 - 哔哩哔哩

神洛华的博客

        本文是2021.11.11发布在Arxiv上的文章,主要工作是在Vision Transformer基础上,引入自监督训练,跟BERT一样通过完形填空来获取对于图片的理解,相当于将BERT应用到CV领域,把整个训练拓展到没有标号的数据上面。最终MAE只需要Vision Transformer百分之一规模的数据集上预训练,就能达到同样的效果。而且在目标检测、实例分割、语义分割等任务上,效果都很好。

1 标题

 masked autoencoder are scalable vision learners:带掩码的自编码器是一个可拓展的视觉学习器

  • scalable:可拓展的
  • vision learner:这里没有写成classifier或者其他的东西,因为它能够用到的地方相对广一些,他是一个backbone模型
  • masked:masked来源于BERT,每次挖掉一些东西然后去预测被挖掉的东西
  • autoencoder:这里的auto不是自动的意思,而是“自”的意思,标号和样本(y和x)来自于同一个东西。在NLP中,大家都是可以理解的,但是在计算机视觉中,图片的标号很少来自图片本身,所以作者在这里加上了auto,意在指出和计算机视觉中其他的encoder相比,这里的标号也就是图片本身,这样能跟之前的很多工作区分开来 

2 摘要

        MAE的实现路径非常简单,随机地盖住图片中地一些块(patches),然后再去重构这些被盖住的像素(the missing pixels),这个思想来自于BERT中的带掩码的语言模型。 

2.1 两个核心的设计

通过一下两个设计,MAE可以更高效地训练大的模型

        1 非对称的encoder-decoder架构

        实际上任何模型都有一个编码器和一个解码器,比如说在BERT中的解码器就是最后一个全连接输出层,因为BERT预测的东西相对来讲比较简单,所以它的解码器就是一个简单的全连接层就可以了,但是本文中可能相对复杂一点,因为需要预测一个块中所有的像素。

  • 编码器只作用在可见的patch中,对于丢掉的patch,编码器不会对它进行编码,这样能够节省一定的计算时间
  • 解码器是一个比较轻量的解码器,拿到编码器的输出之后,重构被遮挡住的块

        2、遮住了大量的块(比如说把75%的块全部遮住),迫使模型去学习一些更好的特征,从而得到一个较好的自监督训练效果。如果只是遮住几块的话,只需要进行插值就可以出来了,模型可能学不到特别的东西。编码器只需要编码1/4大小的图片,可以降低计算量,训练加速3倍或者以上

        结果:最终作者只使用一个最简单的ViT-Huge模型(模型来自ViT这篇文章),在ImageNet-1K(100万张图片)上预训练,精度也能达到87.8%

        在ViT这篇文章的最后一段有提到过怎样做自监督学习,作者说效果并不是很好,结论是:用有标号的模型和更大的训练集可以得到很好的效果。本文亮点是,只使用小的数据集(ImageNet-1k,100万张图片),而且是通过自监督,就能够做到跟之前可能效果一样好的模型了

        这个模型主要是用来做迁移学习,它证明了在迁移学习的其他任务上表现也非常好

2.2 MAE模型的架构

### 关于 rPPG-MAE 的复现方法与代码实现 rPPG-MAE 是一种基于掩码自编码器(Masked Autoencoder, MAE)框架的远程生理信号测量技术。它通过学习视频数据中的时空特征来估计心率和其他生理参数。为了帮助理解其复现方法以及获取相关代码资源,以下是详细的说明: #### 1. **理论基础** rPPG-MAE 基于掩码自编码器的思想,在训练过程中随机遮蔽部分输入帧并尝试重建这些被遮蔽的部分。这种方法能够有效提取视频序列中的时间依赖性和空间结构特性[^2]。 #### 2. **代码实现环境准备** 要成功运行 rPPG-MAE 或类似的模型,通常需要安装以下软件包和工具: - Python >= 3.7 - PyTorch >= 1.9 (推荐使用最新稳定版本) - NumPy 和其他常用科学计算库 可以创建虚拟环境并通过 `requirements.txt` 文件安装所需依赖项。例如: ```bash conda create -n rppg-mae python=3.8 pip install torch torchvision numpy matplotlib scikit-image opencv-python ``` #### 3. **官方或第三方 GitHub 资源** 虽然当前未找到直接针对 rPPG-MAE 的开源项目,但可以从类似研究领域中借鉴已有的公开代码作为起点。比如 SLF-RPM 提供了一个用于远程生理测量的自我监督表示学习框架[^1]。尽管两者侧重点不同,它们都涉及到了时空增强损失函数的设计,因此具有一定的共通之处。 对于更接近目标的方法论探索,可参考如下链接地址之一下载相关资料进行深入分析: - [Meng et al., Masked Autoencoders Are Scalable Vision Learners](https://github.com/facebookresearch/mae)[^3] 上述仓库包含了标准图像处理任务上的 MAE 实现细节,稍作修改即可适配到视频流场景下完成脉搏波形预测等工作流程改造过程之中去。 #### 4. **具体操作指南** 假设已经克隆了某个候选存储库,则按照常规步骤执行初始化配置、加载预训练权重文件夹路径设置等基本动作之后再着手调整网络架构定义部分使之满足特定需求即成为可能解决方案方向所在位置处应该特别注意保持一致性原则同时兼顾灵活性特点从而达到最佳效果表现形式呈现出来供大家交流分享经验教训共同进步成长起来吧! ####
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值