精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)

关注并星标

从此不迷路

计算机视觉研究院

108430373ffdb2d9dbf83ace5e6ba72f.gif

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第1张图片

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第2张图片

论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Yin_A-ViT_Adaptive_Tokens_for_Efficient_Vision_Transformer_CVPR_2022_paper.pdf

代码地址:https://github.com/NVlabs/A-ViT

计算机视觉研究院专栏

作者:Edison_G

YOLOv7相同体量下比YOLOv5精度更高,速度快120%(FPS),比YOLOX快180%(FPS),比Dual-Swin-T快1200%(FPS),比ConvNext快550%(FPS),比SWIN-L快500%(FPS)。

01

概述

今天介绍的,是研究者新提出了A-ViT,一种针对不同复杂度的图像自适应调整vision transformers (ViT) 的推理成本的方法。A-ViT通过在推理进行时自动减少在网络中处理的视觉转换器中的tokens数量来实现这一点。

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第3张图片

研究者为这项任务重新制定了自适应计算时间(ACT[Adaptive computation time for recurrent neural networks]),扩展了停止以丢弃冗余空间标记。vision transformers吸引人的架构特性使我们的自适应tokens减少机制能够在不修改网络架构或推理硬件的情况下加速推理

A-ViT不需要额外的参数或子网络来停止,因为将自适应停止的学习建立在原始网络参数的基础上。与之前的ACT方法相比,进一步引入了分布式先验正则化,可以稳定训练。在图像分类任务(ImageNet1K)中,展示了提出的A-ViT在过滤信息空间特征和减少整体计算方面的高效性。所提出的方法将DeiT-Tiny的吞吐量提高了62%,将DeiT-Small的吞吐量提高了38%,准确率仅下降了0.3%,大大优于现有技术。

02

背景

Transformers已经成为一类流行的神经网络架构,它使用高度表达的注意力机制来计算网络输出。它们起源于自然语言处理(NLP)社区,已被证明可有效解决NLP中的广泛问题,例如机器翻译、表示学习和问答。

最近,vision transformers在视觉社区中越来越受欢迎,它们已成功应用于广泛的视觉应用,例如图像分类、目标检测、图像生成和语义分割。最流行的范式仍然是vision transformers通过将图像拆分为一系列有序的补丁来形成tokens并在tokens之间执行inter-/intra-calculations以解决基础任务。使用vision transformers处理图像在计算上仍然很昂贵,这主要是由于tokens之间的交互次数的平方数。因此,在大量计算和内存资源的情况下,在数据处理集群或边缘设备上部署vision transformers具有挑战性

03

新框架分析

首先看下图:

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第4张图片

上图是一种为vision transformers启用自适应tokens计算的方法。使用自适应停止模块来增加vision transformers块,该模块计算每个tokens的停止概率。该模块重用现有块的参数,并从每个块的最后一个密集层借用单个神经元来计算停止概率,不施加额外的参数或计算。一旦达到停止条件,tokens就会被丢弃。通过自适应停止tokens,我们仅对被认为对任务有用的活动tokens执行密集计算。结果,vision transformers中的连续块逐渐接收到更少的tokens,从而导致更快的推理。学习到的tokens停止因图像而异,但与图像语义非常吻合(参见上面的示例)。这会在现成的计算平台上立即实现开箱即用的推理加速。

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第5张图片

A-ViT的一个例子:在可视化中,为了简单起见,省略了(i)其他补丁标记,(ii)类和补丁标记之间的注意力以及(iii)残差连接。 

每个标记的第一个元素保留用于停止分数计算,不增加计算开销。我们用下标c表示类标记,因为它有特殊处理。由k索引的每个token都有一个单独的Nk累加器,并停在不同的深度。与标准ACT不同,平均场公式仅适用于分类标记,而其他标记通过注意力对类别标记做出贡献。这允许在不聚合图像/补丁token的情况下进行自适应tokens计算。

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第6张图片

04

实验分析及可视化

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第7张图片

Original image (left) and the dynamic token depth (right) of A-ViT-T on the ImageNet-1K validation set. Distribution of token computation highly aligns with visual features. Tokens associated with informative regions are adaptively processed deeper, robust to repeating objects with complex backgrounds. Best viewed in color.

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第8张图片

(a) ImageNet-1K验证集上A-ViT-T的每个图像补丁位置的平均tokens深度。(b)通过变压器块的停止分数分布。每个点与一个随机采样的图像相关联,表示该层的平均tokens分数。

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第9张图片

由平均tokens深度确定的ImageNet-1K验证集中的难易样本的视觉比较。请注意,上面的所有图像都被正确分类——唯一的区别是难样本需要更多的深度来处理它们的语义信息。与右侧图像相比,左侧图像中的标记退出大约5层。

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第10张图片

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第11张图片

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第12张图片

© THE END 

转载请联系本公众号获得授权

9f30727c8ceead829ffe9b9a8ce5df55.gif

计算机视觉研究院学习群等你加入!

ABOUT

计算机视觉研究院

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

VX:2311123606

精度提升方法:自适应Tokens的高效视觉Transformer框架(已开源)_第13张图片

往期推荐 

  • AI助力社会安全,最新视频异常行为检测方法框架

  • ONNX 浅析:如何加速深度学习算法工程化?

  • Yolov7:最新最快的实时检测框架,最详细分析解释(附源代码)

  • 劲爆!YOLOv6又快又准的目标检测框架开源啦(附源代码下载)

  • FastestDet:比yolov5更快!更强!全新设计的超实时Anchor-free目标检测算法(附源代码下载)

  • 目前精度最高效率最快存储最小的目标检测模型(附源码下载)

  • CVPR小目标检测:上下文和注意力机制提升小目标检测(附论文下载)

  • Double-Head:检测头上再创新,提升精度(附原论文下载)

  • 海康研究院出品:具有场景自适应概念学习的无监督目标检测(附论文下载)

  • 新技术:高效的自监督视觉预训练,局部遮挡再也不用担心!

  • VS Code支持配置远程同步了

  • 改进的阴影抑制用于光照鲁棒的人脸识别

  • 基于文本驱动用于创建和编辑图像(附源代码)

  • 基于分层自监督学习将视觉Transformer扩展到千兆像素图像

  • 霸榜第一框架:工业检测,基于差异和共性的半监督方法用于图像表面缺陷检测

  • CLCNet:用分类置信网络重新思考集成建模(附源代码下载)

你可能感兴趣的:(算法,python,计算机视觉,机器学习,人工智能)