前言
现在几乎所有大厂、高校都有团队在研究视觉Transformer的工作,这里Amusi 建议大家不管你有没有想到应用的方向和场景,但都要学习一下Transformer相关知识点。
强烈推荐小白看一下这两篇视觉Transformer综述:
- 华为和北大等提出视觉Transformer:全面调研
- 又一篇视觉Transformer综述来了!
先回顾一下用于视觉识别的自注意力方法,比如SANet、ViT、DETR等:
本文将介绍的是视觉Transformer的新backbone,之前有代表性的Transformer主干网络有:
- ViT:用Transformer完全替代CNN
- 媲美CNN!Facebook提出DeiT:高效图像Transformer,在ImageNet上达84.4%准确率!
现在有非常多的工作就是基于ViT魔改,Amusi 觉得本文分享的BoTNet 应该能助燃视觉Transformer 这把火!
BoTNet
基于Transformer的新backbone来了!在ImageNet上高达84.7%的top-1精度,性能优于SENet、EfficientNet等,将其应用于目标检测、实例分割等下游任务,涨点显著!代码即将开源!实验做得相当充分!
Bottleneck Transformers for Visual Recognition
作者单位:UC Berkeley, 谷歌 论文:https://arxiv.org/abs/2101.11605
BoTNet:一种简单却功能强大的backbone,该架构将自注意力纳入了多种计算机视觉任务,包括图像分类,目标检测和实例分割。该方法在实例分割和目标检测方面显著改善了基线,同时还减少了参数,从而使延迟最小化。
通过仅在ResNet中,用Multi-Head Self-Attention (MHSA)来替换3 × 3 convolution,并且不进行其他任何更改(如图1所示)。
Multi-Head Self-Attention (MHSA) 究竟长啥样?如下图所示:
上述介绍了核心内容:Bottleneck Transformer (BoT) block,是不是非常大道至简?将ResNet-50与BoT结合,诞生了BoTNet-50,结构如下表所示:
BoT-50和ResNet-50的性能比较如下表所示:
上述比较实验,其实无法看出BoT的明显优势,但加入 multi-scale jitter之后,性能提升明显!如下表所示:
加入 relative position encodings ,还能进一步提升性能!
本文还对BoT block的位置进行详尽实验,发现不同位置/组合性能有所差异
实验结果
注:实验做的相当充分,建议去看原文,实验表格相当之多!
用于图像分类的BoTNet又进行了改版升级:BoTNet-S1 (S1 to depict stride 1 in the final blockgroup)
BoTNet-S1-128版本在ImageNet上高达84.7%的top-1精度!
在使用Mask R-CNN框架的情况下,BoTNet在COCO实例分割基准上实现了44.4%的Mask AP和49.7%的Box AP。超过了以前在COCO验证集上评估的ResNeSt的最佳单一模型和单一尺度结果。
BoTNet论文下载
后台回复:BoTNet,即可下载上述论文PDF!
CV资源下载
后台回复:Transformer综述,即可下载两个最新的视觉Transformer综述PDF,肝起来!