百科问答小站 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无疑是一流的学者,但是他现在还没有培养过一流的学生。

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




  

相关话题

  请问DeepMind和OpenAI身后的两大RL流派有什么具体的区别? 
  有监督和无监督学习都各有哪些有名的算法和深度学习? 
  2017年1月18日Facebook发行的PyTorch相比TensorFlow、MXNet有何优势? 
  如何看UCBerkeley RISELab即将问世的Ray,replacement of Spark? 
  如何理解 Swin Transformer 和 Vision Transformer不同任务上的差异? 
  为什么CV能做到让一幅人脸图动了笑了,而NLP的text-style-transfer进展貌似一般? 
  为什么计算注意力机制的时候不加偏置项? 
  有监督和无监督学习都各有哪些有名的算法和深度学习? 
  能否使用神经网络来判断奇偶数? 
  图片上训的模型,怎么迁移视频上呢? 

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





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