百科问答小站 logo
百科问答小站 font logo



如何看待Meta(恺明)最新论文ViTDet:只用ViT做backbone(不使用FPN)的检测模型? 第1页

  

user avatar   xiaohuzc 网友的相关建议: 
      

ViTDet看起来是恺明团队MAEViT Mask R-CNN两个工作的延续。MAE提出了ViT的无监督训练方法,而ViT-Mask R-CNN给出了用ViT作为Backbone的Mask R-CNN的训练技巧,并证明了MAE预训练对下游检测任务的重要性。而ViTDet进一步改进了一些设计,证明了ViT作为Backbone的检测模型可以匹敌基于金字塔Backbone(如Swin和MViT)的检测模型。

ViT作为检测模型的Backbone要解决两个问题,ViT-Mask R-CNN给出了初步解决方案,而ViTDet进一步改进了其中的设计:

如何得到多尺度特征

ViT模型是同质结构,如果采用的patch size是16x16,那么最终就得到一种尺度的特征:1/16特征。但是常用的检测模型往往需要多尺度特征,大多数CNN和金字塔ViT都可以适应这种输出,比如ResNet从不同stage提取1/4,1/8,1/16和1/32特征,并送入FPN进一步融合得到多尺度特征。ViT-Mask R-CNN采用的是XCiT给出的解决方案:将ViT的transformer blocks均分成4个部分,然后从d/4,2d/4,2d/4和d的输出分别提取1/4,1/8,1/16和1/32特征(分别采用2个stride=2的反卷积,一个stride=2的反卷积,identity,stride=2的max pooling),然后送入FPN:

而ViTDet进一步简化了这种策略,直接用最后的1/16特征通过上采样(stride=2的反卷积)或者下采样(stride=2的卷积)得到4个尺度的特征,而且也不再用FPN来进一步融合特征,如下图c所示:

从对比实验来看,这种设计不仅简单,而且效果是最好的:

如何提升计算效率

ViT采用的全局attention和图像输入大小(HW)的平方成正比,对于检测模型,其输入分辨率往往较大,此时用ViT作为Backbone在计算量和内存消耗上都不容小觑,比如输入为1024 × 1024时,采用ViT-B训练Mask R-CNN单batch就需要消耗∼20–30GB显存。为了解决这个问题,ViT-Mask R-CNN采用window attention,然后特征输出的那个位置采用global attention,这样就显著降低了显存消耗和训练时间,而且效果只有微弱下降:

注意这里和Swin不同的是没有采用shifted window,所以各个window之间无信息交互,那么就限制了感受野,而4个global attention起到连接不同window的作用。

ViTDet也采用了window attention,并进一步研究了window信息传递模块,除了采用4个global attention还可以采用4个residual conv blocks,对比如下。从表a可以看出,采用4个conv blocks效果是最好的,比采用复杂的shifted window要好;而表b对比了不同conv block设计,naıve (1个3×3),basic(2个3x3),bottleneck (1×1→3×3→1×1)。

而且采用conv blocks,在显存消耗和推理时间上都要有优势。正如论文所说,虽然conv只是局部操作,只连接两个相邻的windows,但是却足以建立两个windows的所有pixels的联系。另外值得注意的一点是,就算不采用window信息传递模块,模型依然能得到较好的结果:52.9,这大概是因为从单特征生成多尺度以及RPN和RoI heads也能建立windows间的信息传递。


当然,ViTDet也对比了基于MAE预训练和有监督的模型效果,可以看到MAE可以大幅度提升AP,甚至超过IN-21K有监督训练效果:

和金字塔Backbone对比,ViT-Det也相当给力:

但是最后不得不说,虽然ViTDet能得到不错的效果,但是还需要较heavy的训练策略:采用large-scale jittering数据增强,较长的训练epochs(100),采用MAE来无监督预训练。所以论文看起来简单,但是也只有大厂能烧的起实验。


user avatar   zhao-ytc 网友的相关建议: 
      

刚看到摘要,一看就不是kaiming的风格,点进去一看,果然不是kaiming的一作。

Kaiming的招牌在于他的一作,包括某些共一的作品,都是非常厉害的大作。

至于的尾作,特别好的文章和一般的文章都有。

Kaiming无疑是一流的学者,但是他现在还没有培养过一流的学生。

当然这也可能是他的个性,做一个安静的研究者。




  

相关话题

  DL/ML 模型如何部署到生产环境中? 
  CPU和GPU跑深度学习差别有多大? 
  如何评价沐神他们写的《动手学深度学习》这本书? 
  为什么有些学数学的看不惯甚至鄙视 Deep Learning? 
  如何用一句话证明自然语言处理很难? 
  如何看待timm作者发布ResNet新基准:ResNet50提至80.4,这对后续研究会带来哪些影响? 
  2022 年初,你认为哪项成果代表了现在人工智能的最高水平? 
  石头和塑料袋对于计算机传感器的差别在于什么?为什么无人驾驶系统会依然存在对周围环境的误判? 
  AlphaGo「理解」围棋吗? 
  在文本分类任务中,有哪些论文中很少提及却对性能有重要影响的tricks? 

前一个讨论
如何看待浙江大学ACL 2021论文实验数据存在问题?
下一个讨论
CTC和Encoder-Decoder有什么关系?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利