论文:arxiv.org/pdf/2306.06…
代码:github.com/NVlabs/Fast…
前语
随着数据集的规划和模型的复杂性不断增加,ViT在处理大规划图画数据时面临着一些挑战。为了处理这些问题,研究人员提出了Faster Vision Transformer(FasterVIT),这是一种经过改善的ViT网络架构。注于核算机视觉(CV)使用的高图画吞吐量。FasterViT交融 了CNN中快速部分表明学习和ViT中大局建模特性的优势。引入了层次留意(HAT) 办法。这受益于根据窗口的高效自我重视。
核心
【FasterVIT奉献摘要如下:】
- 咱们介绍了FasterViT,这是一种新颖的混合视频转换器架构,旨在完成功能和图画吞吐量之间的最佳权衡。关于不同的数据集和模型巨细,FasterViT可以有效地缩放到更高分辨率的输入图画。
- 咱们提出了分层留意力模块,该模块有效地捕捉部分区域的跨窗口交互,并对长时间空间依赖进行建模。
- FasterViT在图画吞吐量和准确性权衡方面完成了新的SOTA Pareto前沿,而且明显快于可比的根据ViT的架构,与最近的SOTA模型相比,产生了显著的加快。它还在MS COCO数据集上的检测和实例切割以及ADE20K数据集上语义切割的下游使命上完成了有竞争力的功能。
【关于网络的吞吐量:】
英伟达公司在人工智能范畴开发CUDA编程模型,为研究人员和开发者供给了强大的工具来使用GPU加快核算,推动了人工智能算法的发展和使用。由英伟达设计的FasterViT架构供给Pareto准确性和延迟的权衡。
在主流现成的硬件上完成核算机视觉使命的最高吞吐量,例如拿手并行核算的GPU。在这种情况下,核算涉及一组以CUDA和张量核为核算单元的流式多处理器(SM)。它需求频频的数据传输进行核算,而且或许遭到数据移动带宽的影响。因此,受核算约束的运算是数学约束的,而受内存搬运约束的运算则是内存约束的。这需求在两者之间细心平衡,以最大限度地进步吞吐量。
在网络的初始阶段往往具较大的空间维度和较少的通道(例如输入图画的巨细为:batch_size,3,640,640),这使得它们遭到内存的约束。这表明在网络初始阶段归于核算密布型使命,例如密布卷积层,而不是对传输本钱产生过多的开支的稀少卷积(Sparse Convolution) 和深度可分离卷积(Depthwise Separable Convolution)。此外,不能以矩阵操作形式表明的操作,例如非线性激活函数、池化层、批处理归一化,也是受限于内存,应尽量削减使用。相反,网络的深层往往因为核算原因需求,核算密布型的运算遭到了约束。例如,分层CNN具有具有高维核的巨细为14×14的特征图。这为更具表现力的操作留下了空间,如层规范化、留意力机制等,对吞吐量的影响相当小。
结构
网络全体框架结构:
FasterViT体系结构概述。在第1,2阶段中,咱们使用了带有cnn和根据VIT的多尺度体系结构。在这里也映衬了上述关于网络的吞吐量的思考,在网络的浅层部分设上保存卷积网络的优势以及在深层部分发挥VIT网络的优势,对全体吞吐量进行平衡优化。
关于HAT结构:
咱们检查HAT的分层留意的可视化图,在特征空间经过对自窗口的留意力机制树立可完成信息的全体传播获取。该模块旨在以较低的核算本钱促进部分和大局信息的交换,其间引入了载体符号(CTs)的概念,并履行分层自留意力操作。 根据上图所示的办法,HAT模块首先将输入的特征图分成了许多小块,就像Swin一样。每个小块都有一组符号来表明。要害思想是引入了CTs(上下文摘要),用来总结每个小块内的信息。CTs是经过池化和卷积操作得到的,它们供给了每个小块的摘要信息。每个小块都有自己独特的CTs。
在HAT块中,CTs经过了多头自留意力操作(MHSA),然后进行了层归一化和多层感知机操作(MLP)。这个留意力进程允许CTs之间交换信息,并总结大局特征。接下来,将小块的符号和CTs拼接在一起,并使用另一组留意力操作来树立它们之间的交互作用,从而完成了短距离和长距离空间信息的沟通。然后,符号再次被切割成各自的小块和CTs,并在多个层上重复使用这些操作。为了促进长程交互,最后在该阶段进行了大局信息传播。输出结果经过对CTs进行上采样,并与小块的符号兼并起来进行核算
结语
经过本文的阅览,读者将对FasterVIT网络的结构和各个层的功能有更深化的了解。期望这篇博客能为学术界和工程界的研究人员供给有益的参阅,一起也为广大读者对图画处理和深度学习范畴的发展趋势有所启示。