【ARXIV2207】Next-ViT: Next Generation Vision Transformer for Efficient Deployment in Realistic Industrial Scenarios
论文链接:https://arxiv.org/abs/2207.05501
代码链接:https://github.com/bytedance/Next-ViT
这是一个轻量化 Transformer 的工作,作者提出了可高效部署的 Next generation vision transformer,主要包括三个重要组件:next convolution block (NCB), next transformer block (NTB), next hybrid strategy。名字都的都非常有趣哈 ~~~
Next-VIT 的整体框架如下图所示,是典型的四阶段网络。第一阶段只有 NCB, 后面三个阶段,多个NCB里添加了一个NTB。
NCB 和 NTB
**1、next convolution block (NCB):**NCB 由 注意力 和 MLP 组成。NCB的注意力非常简单,就是3X3的组卷积,如下图所示。分组卷积也类似于Transformer的多头机制。
![](https://i-blog.csdnimg.cn/blog_migrate/e872cb601e5e2673360421297b3494c8.png)
2、Next Transformer Block (NTB): 卷积主要获取局部信息,还需要使用获取全局信息。作者指出,最近的一些工作表明,Transformer block会在一定程度上影响局部纹理等高频信息,因此,作者开发了NTB来提取多频信息。具体步骤如下图所示:(1)首先使用1X1卷积对通道降维(压缩比为r),然后进行注意力计算;(2)注意力计算使用的是PVT的做法,对K和V进行下采样降低计算量;(3)加入一个NCB中的分组卷积,压缩比为1-r,结果和注意力的结果拼接。
![](https://i-blog.csdnimg.cn/blog_migrate/c69fdd9ac61c469ad38189004117f683.png)
NCB和NTB模块最后都有一个MLP,都是由两层1X1卷积的结构,如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/c80a6ce01ec46cbf841c4d920be585da.png)
NCB 和 NTB 混合策略
此外,作者还特别强调了当前很多方法发现,浅层使用CNN,深层使用 Transformer 可以提升分类性能,因为分类只用最后一层的结果。但是作者发现,这些策略在分割和检测上性能有限,因为分割和检测需要同时使用各个阶段的特征,但是浅层特征缺少全局信息,这会影响性能。
为了解决这一问题,作者提出一种新的混合策略(该策略与传统混策略的对比如下图所示)。每个阶段依次堆叠N个NCB和1个NTB。NTB放在每个阶段的末尾,可以更好的学习浅层中的全局表示。作者进行了一系列实验来证明该策略的有效性。
因为网络是一个四阶段结构,作者做了大量实验来寻找最优的网络结构。CCCC表示四个阶段都使用卷积。结合来看,CHHH能够取得最优的性能。此外,HHHH的性能不佳,也说明把Transformer Block 放置在第1阶段会影响网络性能。
此外,作者来做实验,验证了N的大小对于性能的影响。如下表所示,在第3阶段构建了具有不同 N 配置的模型。为了建立具有相似延迟的模型以进行公平比较,在 N 的值较小时堆叠 L 组 (NCB × N + NTB × 1) 模式。有趣的是,作者发现 (NCB × N + NTB × 1) × L 模式中的堆栈 NCB 和 NTB 与 (NCB × N + NTB × 1) 模式相比获得了更好的模型性能。
作者还做了大量其他实验,具体可以参考论文,这里不过多介绍了。