Transformers在计算机视觉领域中的应用【第2篇:MAE——BERT的CV版本】

目录

  • [1 介绍](#1 介绍)
  • [2 模型示意图](#2 模型示意图)
  • [3 MAE算法](#3 MAE算法)
  • [4 总结](#4 总结)

论文:Masked Autoencoders Are Scalable Vision Learners

代码:https://github.com/facebookresearch/mae

1 介绍

MAE是基于ViT的,将整个训练拓展到没有标号的数据上面,和BERT一样,通过完形填空来获取对图片的理解。MAE不是第一个将BERT拓展到CV上的工作,但是它很有可能是这一系列工作之中未来影响最大的一篇。因为BERT极大地加速了Transformer这个架构在NLP领域中的应用,所以MAE也会使得Transformer在CV上的应用更加普及一些。

文章标题是:带掩码的自编码器是一个可拓展的视觉学习器。标题里的Masked来自于BERT,可以理解成完形填空,每一次挖掉一些东西,然后去预测挖掉的东西。Autoencoder里的auto是"自"的意思,机器学习里有一类模型叫auto 自模型,例如自回归模型,这类模型的特点就是标号和图片,即y和x,是来自于同一个东西,比如说在语言模型里,我们每次用前面的词去预测下一个词,在另一个样本里面,这个预测的词也是标号,也会成为另一个样本的x本身,x和y都是来自于同样的句子里的词,所以叫做auto。

2 模型示意图

模型示意图如下图所示,一张图片输入进来,先把它切成一个个的小块,其中要被盖住的这些块涂成灰色,75%的图片都被盖住了。那些没有被盖住的块被直接拿出来,放到encoder里面,也就是ViT里面,得到每一个块对应的特征,然后拉长,把被盖住的块重新放回原来的位置,所有块输入到一个解码器中,解码器会去尝试把里面的像素信息全部重构回来,使得最后的target训练出来就是原始的没有被掩码盖住的图片。

示意图中编码器比解码器稍微高一点,意思是指主要的计算量都来自编码器,因为最重要的是对图片的像素进行编码,编码器只要去处理没有被盖住的图片,也就是说,一张图片只需要看到四分之一的像素即可,这样计算量稍微低一点。

这个示意图是做预训练时候做的事情,如果你想用这个模型来做计算机任务的话,只需要用它的编码器即可,不需要使用解码器,图片输入进来,不需要对它做掩码,直接切成这些patch,输入到编码器中,就能得到所有块的特征表示,就可以当成这张图片的特征表示,就可以用来做自己的任务了。

下图展示的是在ImageNet的验证集上,通过MAE构造出来的图片。左边一列是把图片80%的块都遮住,中间一列是MAE构造出来的图片,右边一列是原始图片。

3 MAE算法

整体流程和第2章节里提到的一样,这里介绍一下如何重构出原始的像素。

解码器的最后一层是一个线性层,如果一块图片是16×16的像素的话,那么这个线性层就会投影到维度是256的向量,然后再将它reshape成所想要的16×16的维度,就能还原出原始的像素信息了。

损失函数用的是MSE,和BERT一样,只在被盖住的块上面使用MSE,没有被盖住的不计算损失,因为输入已经看到了这些块的像素信息了。

简单实现:将所有的块shuffle后,保留前面25%的块,其他块丢掉;然后重新unshuffle还原回原来的顺序,这样在计算MSE的时候就能对应回原图来计算了。通过shuffle和unshuffle的操作,能使得我们不需要任何的稀疏的操作,在实现起来非常的快。

4 总结

这篇文章利用ViT来做跟BERT一样的自监督学习,在ViT的基础上提出了三点:

  1. 需要盖住更多的块,使得剩下的那些块,块与块之间的冗余度没那么高,这样整个任务就变得复杂一点。
  2. 使用Transformer架构的解码器,直接还原原始的像素信息,使得整个流程更加简单一点。
  3. 加上在ViT工作之后的各种技术,使得它的训练更加鲁棒一点。
相关推荐
牧歌悠悠1 小时前
【深度学习】Unet的基础介绍
人工智能·深度学习·u-net
坚毅不拔的柠檬柠檬2 小时前
AI革命下的多元生态:DeepSeek、ChatGPT、XAI、文心一言与通义千问的行业渗透与场景重构
人工智能·chatgpt·文心一言
坚毅不拔的柠檬柠檬2 小时前
2025:人工智能重构人类文明的新纪元
人工智能·重构
jixunwulian2 小时前
DeepSeek赋能AI边缘计算网关,开启智能新时代!
人工智能·边缘计算
Archie_IT2 小时前
DeepSeek R1/V3满血版——在线体验与API调用
人工智能·深度学习·ai·自然语言处理
大数据追光猿2 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
灵感素材坊3 小时前
解锁音乐创作新技能:AI音乐网站的正确使用方式
人工智能·经验分享·音视频
xinxiyinhe4 小时前
如何设置Cursor中.cursorrules文件
人工智能·python
AI服务老曹4 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
alphaAIstack4 小时前
大语言模型推理能力从何而来?
人工智能·语言模型·自然语言处理