MAE阅读笔记

MAE使得transformer在CV上的应用变广,思路参考了BERT

如果做的东西比较快就叫efficient,比较大就是scalable

autoencoder中的自是指标号和样本是同一个东西

摘要

随机的盖住图片里的一些快,再去重构里面所有的像素

编码器0解码器结构

训练的效率比较高,编码器只计算被遮住的部分,所以整体计算量小一些

挑战只是用小的训练集,然后效果达到和大模型一样的

引入

denoising decoder:加噪音,学习去噪
三个观点:

  1. 卷积窗口使得不好将mask放进去,如果将图片的一块盖住,窗口扫过来时候无法区分这个边界
  2. 图片信息比较冗余,如果简单地去除某个块那么可能通过将邻居的像素值进行差值还原出来。制造难度,让模型学习全局的信息。
  3. 因为单词的语义信息比较丰富,所以不需要通过解码器获取低层特征,可以直接由高层特征确定单词;

非对称是指编码器和解码器看到的块不同。因为编码器只看到了没被遮住的,解码器还能看到被遮住的patch

相关工作

MAE也是形式上大带噪音的autoencoding
比较火的有对比学习,使用数据增强

方法

将观察到的信号映射到潜在表示里面,再通过解码器来重建原来的信号形式

Masking

将图片割成一块一块。随机采样

MAE encoder

编码器使用了VIT,嵌入patch使用线性投影(通过增加位置编码)

MAE decoder

看到有,已经编码了可见的patch,和遮住的token块。每一个被盖住的块都表示为同样一个向量,值可以通过学习得到。注意这要加上位置信息。

编码器只有在预训练时候用得上, 使用简单的transformer来输出

像素重构

使用MLP作为解码器,如果目标patch是16*16的,那输出就是256的然后再reshape
损失函数使用MSE,只在被盖住的patch上计算

模型只是为了训练编码器用于下游任务,训练好之后,解码器可以直接扔掉

简单的执行

首先我们为每个输入patch产生一个token。
然后我们随机打乱token列表,保留前25%。在解码的时候,我们要保留和以前长度一样的这些掩码的一些词源mask tokens(可学习)
然后还原成原来的顺序,加上位置编码

实验

ImageNet1k先自监督的预训练,然后一个是端对端的微调,另一个是只修改最后一个线性层
如果加入合适的正则项,VIT在小型数据集上也能表现的很好。

微调效果更好一些

盖掉60%-80%,那都已经不是完形填空,简直就是命题作文了。

底部的层表示的特征还是少,让更多的层参与进来才是关键

总结

CV领域内大部分数据集都使用有监督学习,MAE开创了自监督学习的先例
图片和语言的不同。在图片的一个patch里面,不一定含有语义信息。transformer是能学到图片中隐含的丰富语义信息的。
社会影响:可以生成不存在的内容,还有就是有个偏差,因为用的自监督,某一类图片较多的话可能会太过倾向

启示

为什么这么做,一问一答写
标题可以取xx是xx这样的句型
毕竟你说你的是世界第一可能没啥人信
对于CV来说放图片是加分的

需要盖住更多的块,使得块跟块之间冗余度没那么高,让整个任务变得复杂一点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值