大数跨境
0
0

FasterViT|英伟达提出分层注意力,达成SOTA性能-吞吐量均衡

FasterViT|英伟达提出分层注意力,达成SOTA性能-吞吐量均衡 极市平台
2023-06-16
1
↑ 点击蓝字 关注极市平台
作者丨Skyer
来源丨AIWalker
编辑丨极市平台

极市导读

 

本文提出了一种新型的混合架构FasterViT,它取得了更优的性能-吞吐量均衡,达成了新的Pareto前沿。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

论文地址:https://arxiv.org/abs/2306.06189

代码地址:https://github.com/NVlabs/FasterViT

出发点

本文旨在面向主流硬件设备(如GPU)研发具有高吞吐量的骨干架构。当前主流硬件设备包含多个CUDA与Tensor核计算单元,它需要进行频繁的数据迁移进行计算,可能会受到数据移动带宽影响。因此,以下两种类型算子需要进行精心平衡以最大化吞吐量:

  • 受计算量约束的算子称之为math-limited,笔者将其称之为计算约束算子;
  • 受访存迁移约束的算子称之为memory-limited,笔者将其称之为访存约束算子

在分层架构中, 特征分辨率会随推理进行而逐渐缩小, 如从输入的 到最后 一个stage的

  • 网络的起始阶段特征分辨率比较大(如 ),而通道数较少,此时会受访存迁移约束。在这个阶段,计算密集型的算子更为适合,如稠密卷积,而非depth-wise卷积;类似的,非矩阵操作形式的算子(如非线性、池化、BN)属于访存约束算子,应当尽可能少的使用。
  • 在网络的后半部分更倾向于计算约束算子。以网络第三阶段为例,特征分辨率为 ,这为更强表达能力的算子(如LN、SE、自注意力等对吞吐量影响较小)提供了操作空间。

基于上述考量,本文提出了一种新型的混合架构FasterViT,它取得了更优的性能-吞吐量均衡,达成了新的Pareto前沿,可参考下图。

本文方案

上图给出了本文所提FasterViT架构示意图,从中可以看到:

  • 在网络的前半部分,特征分辨率比较大,推理效率主要受访存约束,故它仅采用了卷积类操作以充分利用稠密卷积;
  • 在网络的后半部分,特征分辨率比较小,推理效率会受计算约束,故它采用了attention等操作提升表达能力。

Stem 该部分通过两个连续 卷积(stride为 2 )将输入图像 转换为重叠 块, 输出维度为 的嵌入向量( embedding )。此外, 每个卷积后接BN与ReLU激活 函数。

DownBlock FasterViT延续了分层结构,相邻stage之间通过下采样模块进行空域分辨 率收缩。下采样模块由LN与 stride 卷积构成。

ConvBlock Stage1与Stage2由残差模块构成,定义如下:

HierarchicalAttention 上图给出了本文所提新型窗口注意力示意图,通过如下操作,本文构建了分层注意力(Hierarchical Attention)的概念。

  • 它以SwinT所引入的局部窗口为出发点,
  • 引入了一种CT(Carrier Tokens)进行完整局部窗口信息聚合,第一个注意力模块作用于CTs以进行全局信息建模;
  • 将局部窗口Token与CTs进行拼接并执行自注意力处理以促进局部与全局信息交互。

假设给定输入特征 (为简单起见, 这里假设 ), 我们首先将输入特 征拆分为 局部窗口, 表示如下:

本文方案的关键在于Carrier Tokens(CTs)的构建, 它有助于以更低的消耗保持注意力机 制。首先, 我们通过池化操作初始化CTs, 描述如下:

注1 : 这里的 表示高效位置编码。

注2: 上述CT初始化步骤仅在每个stage执行一次, 每个Stage有自己独一的CTs。

在每个HAT模块内部, CTs执行如下注意力处理:

接下来,为进行长短程空域信息建模,我们在之间进行信息交互,处理流程如下:

最后,上述所得Tokens将被拆分为拆分以用于后续分层注意力模块中:

在每个stage,上述步骤将迭代执行多次。为促进长短程交互,在每个stage的尾部参考EdgeViT进行了全局信息传播。每个stage的输出计算如下:

Merge

此外,对于窗口Tokens与CTs,参考SwinV2注入了绝对位置偏置,而位置编码方式的灵活性促使其可以用于任务输入分辨率。

上图对比了不同全局-局部自注意力模块之间的区别,所提HAT将自注意力拆分为局部与亚全局形式且可压缩为2个稠密注意力。

本文实验

ImageNet分类

上表对比了不同Backbone在ImageNet分类任务上的性能,可以看到:

  • 相比卷积架构,在同等吞吐量下,FasterViT具有更高的精度;
  • 相比Transformer架构,FasterViT具有更快的推理速度;
  • 相比其他混合架构,FasterViT具有更高的吞吐量,同时具有更优的Top1性能。

COCO检测与实例分割

上表给出了COCO检测与实例分割任务上不同方案性能对比,从中可以看到:

  • 相比其他方案,FasterViT具有更优的精度-吞吐量均衡
  • 相比ConvNeXt-B,FasterViT指标高出0.2boxAP、0.3MaskAP,同时吞吐量高出15%;
  • 相比Swin-B,FasterViT指标高1.0boxAP、1.0maskAP,同时吞吐量高出30%。

ADE20K分割

上表给出了ADE20K语义分割任务上不同方案性能对比,可以看到:

  • FasterViT具有更优的性能-吞吐量均衡;
  • 相比Swin-B,FasterViT指标高出1.0mIoU@ss, 0.7mIoU@ms,同时吞吐量高出16.94%;
  • 相比ConvNeXt-B,FasterViT指标高出0.4mIoU@ms,同时吞吐量高出7.01%。

全文到此结束,更多消融实验与分析请移步原文。

公众号后台回复“极市直播”获取100+期极市技术直播回放+PPT

极市干货

极视角动态极视角亮相BEYOND Expo,澳门特别行政区经济财政司司长李伟农一行莅临交流极视角助力构建城市大脑中枢,芜湖市湾沚区智慧城市运行管理中心上线!
数据集:60+开源数据集资源大合集(医学图像、卫星图像、语义分割、自动驾驶、图像分类等)
多模态学习CLIP:大规模语言-图像对比预训练实现不俗 Zero-Shot 性能ALBEF:图文对齐后再融合,借助动量蒸馏高效学习多模态表征

点击阅读原文进入CV社区

收获更多技术干货

【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读7.6k
粉丝0
内容8.2k