【Transformer】下一代Vision Transformer的工业级部署(文章精读)

文章名:《Next-ViT: Next Generation Vision Transformer for Efficient Deployment in Realistic Industrial Scenarios》

组织机构:字节跳动

论文地址:Next-ViT: Next Generation Vision Transformer for Efficient Deployment in Realistic Industrial Scenarios

1)Abstract

图1.传统CNN-Transformer网络的混合策略与本文提出的NHS混合策略。

现有ViTs模型存在的问题:复杂注意力机制和模型设计让其无法在工业场景下如卷积网络那样高效部署。一些CNN-Transformer混合网络试图在保留CNN速度快(低延迟性)特点的同时,是网络具有Transformer相似的强悍性能(高精确性),但总体来说还未发展到令人满意的地步。具体表现在图1(b)、(c)类混合方式都是在最后一两个阶段才接入Transformer模块,之前使用的都是CNN模块,这些网络在分类任务上表现不错,但是迁移到目标识别或语义分割任务中,往往效果就不尽如人意(作者解释是因为分类任务在最后阶段输出预测结果,而其他任务往往更依赖每个阶段产出的特征层,如果前期没有学习到全局依赖信息,可能会影响网络最后的输出结果)。

2)Introduction

图2.Next-ViT与其他网络结构部署在TensorRT和CoreML上,性能与延迟性的权衡性比较。

图2中,红色的点与连线是本文提出的Next-ViT网络部署在TensorRT(英特尔)和CoreML(苹果)上的性能表现,横轴代表预测需要的时间(延迟度),纵轴代表相关数据集上的指标(精确性)。直观上看,Next-ViT确实忧郁现有的其他方案,从延迟度与精确性的权衡角度来看,达到较为优秀的水平。

本文的创新点主要在三个方面:(1)易于部署的NCB和NTB模块,两者共同构建Next-ViT;(2)独特的CNN-Transformer融合策略(图1.(e));(3)在TensorRT和CoreML上表现性能较为优异。

3)Related Work

图3.网络结构比较

图3中包含传统CNN网络结构与Transformer的网络结构:(a)是ResNet的结构;(b)是ConvNeXt参考Transformer特性构建的网络结构,其中7*7的depth-wise卷积与LayerNorm、GELU的应用,拖慢了网络的推理速度;(c)是Transformer传统结构中的框架,MetaFormer文章中证明了这种结构对于Transformer的必要性,所以本文在构建NCB和NTB时也采用相似的网络结构设计(f)、(g)。

4)Methods

图4.整体的网络结构

Next Convolution Block (NCB):包含MHCA和MLP两个模块,整体的结构参考Transformer的模型设计。

Multi-Head Convolutional Attention (MHCA):Transformer的结构通过多头注意力机制来获取空间维度上的相关性,而作者采用的分组卷积在通道维度上采用多头的方式处理,然后使用point-wise卷积(1*1卷积)来实现各分组间信息的融合。

Next Transformer Block (NTB):《How do Vision Transformer works?》这篇文章探究了Transformer块捕获的是低频信息(全局形状和结构)忽视了高频信息的学习(比如局部纹理信息),而这两种信息对于计算机视觉任务来说都是不可或缺的。因此作者提出轻量级的NTB块,来捕获和融合多频信号。对上级NCB输出的特征层乘Wk、Wq和Wv之后,经过步长为s的均值池化减少计算量(作者观察到影响E-MHSA模块所消耗时间受通道数的影响,所以特征层在输入E-MHSA模块之前还经历1*1卷积进行降维)。NTB其余部分与NCB操作类似,与之相区别的是有一个Concat层,分别堆叠了(经历E-MHSA的特征层与未经的特征层加和、经历了MHSA的特征曾与未经的特征层的加和——这体现多频信息的捕获),然后经历MLP进行信息的融合。

Next Hybrid Strategy (NHS):简单来说作者的融合策略就是发现了{(NCB*N + NTB*1)*L}的模块堆叠模式,即图3中(e)的组合方式。不同于传统的CNN-Transformer混合网络只是将Transformer块置于最后的阶段,使其特征层能在全局都保持长期依赖关系,通过高频信息补足信息细节。

整体的网络结构如下图所示:

表1.设置细节与Next-ViT变体

5)Experimental Results

表2.现有方法在ADE20K的语义分割结果比较

表3.现有方法在基于Mask R-CNN目标检测和实例分割任务上的比较

表4.现有方法在ImageNet-1K分类任务上的比较

6)个人总结

总体来看这篇文章实验较为扎实,即使在小的参数模型上也具有较好的表现。参数配置也较为详尽,感兴趣的同学可以尝试复现(目前官方代码没有放出来),因为利用的都是现有技术,所以复现的难度并不大。本文将现有技术进行很好的融合,模型结构确实完成了问题设计的初衷。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值