2021-mae

论文链接

链接: https://pan.baidu.com/s/1jFRfhhf450lqSsSJ3HUf6w 提取码: lftk

问题/目的

  • 迁移nlp中的masked-autoencoding思路至cv

结论

  • 设计了mae方法,一种自监督方法,可以使用小数据集训练出泛化性很好的cv模型,在下游任务中超过很多监督模型。核心思想是随机擦除图片然后训练模型进行图片重建。

创新点

  • masking:将图片分成多个不重叠块,大比例擦除图片块,留下的图片块保持均匀分布,防止中心位置偏向。
  • mae encoder:只将留下的图片块按照vit前处理方式送入vit。
  • mae decoder:将encoded的保留图片块和被擦出的图片块(一种learned vector,用来代表次块被擦出)及各自位置embeding(包括擦除块)都送入decoder。decoder与encoder不共享参数,也是transfomer结构。decoder只在预训练时使用,且实验中设计的层数很少。
  • 重建任务:预测每个擦除块的所有像素。decoder的最后一层输出的一个vector对应一个擦除块的像素,一个vector的每个通道值对应一个擦除块的一个像素值。预训练的loss是恢复的擦除块与输入图片擦除块的mse(只计算擦除块的loss)。实验中发现,如果恢复的时候,使用每个擦除块的normalized像素值(在各自擦除块内部normalize,而不是全图)而不是像素绝对值,效果更好。
  • 操作简单:将输入数据切块,根据设定比例做随机擦除,将保留的图片块和位置embedding打乱后送入encoder。encode完成后,将输出的token、人为补充擦除块替代token顺序弄正,然后连同各自的位置embedding送入decoder。整个操作速度快,且不需要数据稀疏操作。

ImageNet实验

  • 使用ViT-Large (ViT-L/16)作为骨干,ImageNet-1K作为数据集,top-1准确率为评价指标;
  • 从头训练200个epoch,指标76.5,出现过拟合;
  • 增加regularization训练200个epoch,指标达到82.5;
  • 使用mae进行fine-tuning共50个epoch,指标达到84.9;
  • mae有效果。
性质
  • Masking ratio:
    (1)与bert的15%不同,mae的masking-ratio可以设的很大,75%时在linear probing和fine-tuning上效果都很好。对linear probing来说,随着masking-ratio逐渐增大,准确率也稳步增大,直到达到极值点;而对fine-tuning来说并没有这种趋势,只是纯粹的在较大的masking-ratio时效果好,小的时候效果差。(linear-probing是固定预训练参数,只训练最后一层线性层;fine-tuning则是所有参数参与训练)。
    (2)fine-tuning的效果普遍好于linear-probing。
  • decoder设计:
    (1)对linear-probing来说,decoder越深,分类准确率越高;对fine-tuning来说,没有这种影响。原因在于,在预训练进行重建任务时,decoder越深,越能够承担更多针对重建任务的解码,那么encoder提出的特征就可以更加泛化,更利于下游的分类任务;如果decoder很浅,那么encoder出的特征就需要更加针对重建任务,这样的特征对于下游进行分类任务时是不利的,尤其linear-probing只训练最后的线性层,这种影响就会很大;而fine-tuning则会训练全部特征,在训练分类时会直接将encoder的特征学成适合分类的方式,所以没什么影响。对fine-tuning来说,decoder只用一层block,就可以达到84.8%的效果,用一层效果就很好。
    (2)decoder的通道数设置成512对fine-tuning和linear-probing效果最佳。整个decoder相对vit-L来说,计算量很小。
  • mask token:如果在encode时将擦除图块一起送入训练,在linear-probing时效果很差;而在encode时不送入擦除图块,就不会这样。原因在于我们在下游分类时,送入的图片都是没有擦除的,如果训练时送入的都是带擦除的图片,与分类任务时输入的图片差别太大,所以会造成准确率变差。
  • 重建方式:
    (1)重建像素:效果不错;
    (2)重建像素相对所在块归一值,效果最佳;
    (3)PCA(系数设到最大96):效果不佳;
    Both experiments suggest that the high-frequency components are useful in our method.(不懂)
    (4)DALLE pre-trained dVAE :一种需要额外训练的处理方式,在fine-tuning时效果不错,但在linear-probing时效果很差,且效果均不如归一化,而且还需要额外使用其他数据集进行预训练。
  • 数据增强:只使用随机裁切和随机反转,效果很好;使用color-jit会使效果变差;不实用数据增强,效果也不错。原因大概在于随机mask已经足够作为数据增强了。
  • 擦除策略:
    (1)block-wise masking:直接擦除一大块,这一大块在50%时,效果不错;75时,效果开始变差。这种擦除方式,loss更大,生成图片更模糊。
    (2)grid-wise sampling:每4小块(田字格)保留1小块。相比上一个,loss底,生成图片更清晰,但representation的质量差。(怎么评估的这个representation质量?)
    (3)Simple random sampling :效果最好,大比例下速度也快。
  • 训练长度:在1600个epoch内,epoch越多,准确率越高;且一直未见饱和。
指标对比
  • 自监督:与DINO、Moco、BEiT这几个自监督方法相比,在imagenet1k上fine-tuning,mae准确率更高,训练速度更快;且模型越大,指标越高。
  • 监督:直接对比vit在imagenet1k上训练和mae在imagenet1k上的指标来看,mae获得的准确率跟高;当换成更大的JFT300时,mae可以获得更高指标。
部分fine-tuning
  • linear-probing:只训练最后一层线性层,固定其他参数,准确率较低;
  • partial-fine-tuning:训练最后半个transformer块,固定其他参数,准确率提高;训练最后一个transformer块,固定其他参数,准确率进一步提高;训练最后几个transformer块,则可以几乎接近完全fine-tuning的效果。
  • 这个反映出,使用这种linear-probing的方式来评估模型的特征表示能力,并不是很完善。

其他实验

检测
  • 与监督算法相比,mae指标更好
  • 与token-based的BEiT相比,指标接近,但pixel-based的mae更简单,速度更快
分割
  • mae优于监督算法、BEiT
分类
  • mae远超之前的算法;且模型越大,mae效果越好
pixel与token对比
  • normalized-pixel效果 == dVAE-token效果 > unnormalized-pixel效果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值