当前位置:   article > 正文

CVPR 2022 | FAIR提出MaskFeat:自监督视觉预训练新方法!灵感之一来自16年前CVPR论文...

masked feature prediction for self-supervised visual pre-training

ea9c3ff230eb41b13f8f77fb0af7473c.png

编 | 小咸鱼 好困
源 | 新智元

【导读】近日,北大校友、约翰·霍普金斯大学博士生提出了一种新的方法:MaskFeat,摘下12个SOTA!这是一个能用于视频模型的自监督预训练方法:掩码特征预测(MaskFeat)。

0bd3683583dd70385ab76c18ca22c4f0.png

论文标题:
Masked Feature Prediction for Self-Supervised Visual Pre-Training

Masked Feature Prediction for Vision Self-Supervised Pre-Training

论文链接:
https://arxiv.org/abs/2112.09133

简而言之,MaskFeat的ViT-B在ImageNet 1K上的准确率达到了84.0%,MViT-L在Kinetics-400上的准确率达到了86.7%,成功地超越了BEiT等方法。

d2ffa8dc556255bfca0c25814775d10a.png

一作Chen Wei是约翰·霍普金斯大学的计算机科学博士生,此前在北京大学获得了计算机科学学士学位。

并曾在FAIR、谷歌和华为诺亚方舟实验室实习,主要研究方向是视觉自监督学习。

062e67eadeaa1307db1afbc4cd0ce2f3.pngHOG VS Pixel Colors65d371f903319d683db1cf6ae111189b.png

「Mask-and-Predict」总要有个可以「Predict」的特征来让模型学习到东西。

MaskFeat最核心的改变就是将MAE对图像像素(pixel)的直接预测,替换成对图像的方向梯度直方图(HOG)的预测。

f5629caebc7a41f482ccbaf4c8207c91.png
▲图像HOG特征向量

说到HOG,这可不是什么新鲜玩意儿。

HOG是一种经典的图像特征提取算法,发表于2005年的CVPR,到现在已经收获了37000+的引用。

e9a05c0d7c26c16f7bdb48a5fc0d39ab.png
▲https://hal.inria.fr/file/index/docid/548512/filename/hog_cvpr2005.pdf

那为什么预测图像的HOG比直接预测像素更好呢?

像素作为预测目标,有一个潜在的缺点,那就是会让模型过度拟合局部统计数据(例如光照和对比度变化)和高频细节,而这些对于视觉内容的解释来说很可能并不是特别重要。

相反,方向梯度直方图(HOG)是描述局部子区域内梯度方向或边缘方向分布的特征描述符,通过简单的梯度滤波(即减去相邻像素)来计算每个像素的梯度大小和方向来实现的。

4ff43a938d52c04aa171663211ae95be.png
▲通过将局部梯度组织化和归一化,HOG对模糊问题更加稳健

HOG的特点是善于捕捉局部形状和外观,同时对几何变化不敏感,对光的变化也有不变性,计算引入的开销还很小,可以忽略不计。

563a5dc9d0ce30e528422de7b9aab93e.png

这次,MaskFeat引入HOG,其实正是将手工特征与深度学习模型结合起来的一次尝试。

MaskFeat首先随机地mask输入序列的一部分,然后预测被mask区域的特征。

34ccebd8a47301388f188acc3bc979bb.png
▲对未见过的验证图像的HOG预测

只不过,模型是通过预测给定masked input(左)的HOG特征(中间)来学习的,原始图像(右)并不用于预测。

方向梯度直方图(HOG)这个点子的加入使得MaskFeat模型更加简化,在性能和效率方面都有非常出色的表现。

53db9d1ea80915bd29ab81eaa08677c6.png

在不使用额外的模型权重、监督和数据的情况下,MaskFeat预训练的MViT-L在Kinetics-400数据集上获得了86.7%的Top-1准确率。

这个成绩以5.2%的幅度领先此前的SOTA,也超过了使用如IN-21K和JFT-300M这些大规模图像数据集的方法。

此外,MaskFeat的准确率在Kinetics-600数据集上为88.3%,在Kinetics-700数据集上为80.4%,在AVA数据集上为38.8 mAP,而在SSv2数据集上为75.0%。

25d90961bf23b6b24f9db6b314588053.png结果分析4a637069eb4ee43f5ac1345ad1685672.png

Kinetics-400数据集

相比于不使用预训练的CNN,严重依赖大规模图像数据集和监督性预训练的基于Transformer的方法,MaskFeat表现出极佳的性能。

c7b2cf5193fbed84273348a775187e27.png
▲在Kinetics-400数据集上的比较

经过300个epoch预训练的MaskFeat将MViT-S,16×4的81.1%的top-1准确率提高了1.1%。其中,16×4表示该模型在训练过程中采用16个时间跨度为4的帧作为输入。

而在K400上用MaskFeat预训练了800个epoch的MViT-L 16×4达到了84.3%的top-1准确率,比其基线高出了3.8%,比使用IN-21K训练的监督模型高出了0.8%。

MaskFeat也以一己之力将K400上没有外部数据的最佳准确率(MoViNet-A6的81.5%)提高了5.2%。

此外,MaskFeat仅用K400的结果(86.7%)就能和86.5%的Florence和86.8%的SwinV2-G不相上下。其中,Florence使用了9亿个文本-图像对,SwinV2-G使用了一个具有30亿个参数的巨型模型,并首先在IN-21K和7千万张内部图像的大型数据集上进行自监督和监督预训练。

可以说,MaskFeat在参数量、计算成本、数据和注释方面的高效性再次证明了直接在未标记的视频上进行预训练的优势,也为一种全新的视频预训练方式打开了大门。

Kinetics-600 & Kinetics-700数据集

fd06f3dac9a8a6898f9c327ce83748f9.png
▲在Kinetics-600数据集上的比较
872cecf9ce0424000169385d86203fb4.png
▲在Kinetics-700数据集上的比较

MaskFeat在K600和K700上分别达到了86.4%和77.5%的top-1准确率,与之前基于Transformer的方法相比,既没有使用外部的图像数据,而且FLOPs还减少了10倍以上。

而在更大的输入分辨率312和更长的持续时间40×3下,MaskFeat在K600上实现了88.3%的top-1准确率,在K700上实现了80.4%的top-1准确率。

于是,MaskFeat在没有任何外部监督(如IN-21K和JFT-300M)的情况下,为每个数据集都创造了新的SOTA。

ImageNet-1K数据集

0c54194ec924b9a3ff0f3f4ce96a6596.png

对MaskFeat进行1600个epoch的预训练,在ViT-B上微调100个epoch,在ViT-L上微调50个epoch。

当图像大小为224x224时,MaskFeat与在IN-21K上进行的有监督的预训练相比,在ViT-B上打成了平手,而在ViT-L上直接实现了超越。

当图像大小为384x384时,利用IN-21K的有监督预训练需要用到比MaskFeat多10倍的图像和标注。

通常来说,由于缺乏典型的CNN归纳偏置,ViT模型对数据要求很高,并且需要大规模的监督预训练。而MaskFeat可以在没有外部标记数据的情况下通过解决特征图像修复任务来克服这个问题。

此外,与BEiT相比,MaskFeat只需要计算HOG特征,摆脱了dVAE的tokenizer。而后者在250M DALL-E数据集上引入了额外的预训练阶段,并在mask预测期间引入了不可忽视的推理开销。与MoCo v3和DINO相比,MaskFeat也更准确、更简单。

76d548c3f6749cd17f5c077f29fb717f.png
▲此处MaskFeat的预训练为300个epoch

随着MAE、MaskFeat等模型的出现,NLP界的制胜武器「Mask-and-Predict」会是CV自监督预训练的下一个标准范式吗?

对此,来自清华大学的知友「谢凌曦」表示:

视觉自监督领域做了这么些年,从最早的生成式学习出发,绕了一圈,又回到生成式学习。到头来,我们发现像素级特征跟各种手工特征、tokenizer、甚至离线预训练网络得到的特征,在作为判断生成图像质量方面,没有本质区别。
也就是说,自监督也许只是把模型和参数调得更适合下游任务,但在「新知识从哪里来」这个问题上,并没有任何实质进展。

1c7b36f1ee849fc8965dd44b9600e3b3.png后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

b3f2a562a54e316010cff17e73274ee1.gif 16fbbaf87363d1025e47fb5f8e17179c.png

[1]https://arxiv.org/pdf/2112.09133.pdf
[2]https://www.zhihu.com/question/506657286/answer/2275700206
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/352049
推荐阅读
相关标签
  

闽ICP备14008679号