动态ViT技术打破图像表示限制
在自然语言处理领域,TRansfoRMeR凭借自注意力机制取得了显著成功,这一技术在图像识别方面的应用也日益广泛。
特别地,ViT在大规模图像网络中展现出极高的性能,因此得到了广泛应用。
然而,随着数据集规模的扩大,计算成本也随之急剧上升,自注意力机制中Tokens的数量也逐渐增多。
最近,清华大学自动化系的助理教授黄高及其研究团队与华为的研究人员合作,提出了一种新的解决方案——动态视觉变换器(DynaMic Vision TRansfoRMeR, DVT),该方法能够自动为每个输入图像分配适当数量的Tokens,从而显著降低冗余计算,提高效率。
相关研究已在arXiv上发表,标题为《Not All images aRe WoRth 16×16 WoRds: DynaMic Vision TRansfoRMeRs wITh Adaptive Sequence Length》。
当前的ViT面临着计算成本和Tokens数量的双重挑战。
为了在准确性与速度之间取得最佳平衡,通常Tokens的数量设置为14×14或16×16。
研究团队观察到,许多“简单”图像只需使用4×4的Tokens便可进行准确预测,而目前14×14的计算成本则提高了8.5倍,实际上仅有少部分“困难”图像需要更细致的表征。
通过动态调整Tokens的数量,可以在“简单”与“困难”样本中的计算效率分配上找到更大的提升空间。
基于这一观察,研究团队开发了一种新型的动态ViT(DVT)框架,旨在自动配置每张图像所需的Tokens数量,以实现更高的计算效率。
DVT被设计为一个通用框架。
在推理阶段,模型将以较少的Tokens逐步激活,一旦达到足够的置信度,推理过程将立即结束。
该模型的核心架构采用当前最先进的图像识别TRansfoRMeR,如ViT、DeIT和T2T-VIT,从而提升了效率。
此外,该方法具有较高的灵活性。
DVT的计算量可以通过简单的提前终止准则进行调整。
这一特性使得DVT适应可变的计算资源,或在实现给定性能的同时降低功耗,这在现实世界的应用中非常常见,如搜索引擎和移动应用程序。
特征重用机制
DVT中的所有TRansfoRMeR都旨在提取特征信号以实现准确识别。
因此,下游模型应基于之前获得的深度特征进行学习,而非从头开始提取特征。
上游模型中的计算对自身及后续模型均有贡献,从而提升整体效率。
为实现这一目标,研究团队提出了一种特征重用机制。
简单来说,就是利用上游TRansfoRMeR最后一层输出的图像Tokens,来学习逐层的上下文嵌入,并将其整合进每个下游TRansfoRMeR的MLP模块中。
关系重用机制
TRansfoRMeR的一大优势在于自注意力块能够整合整个图像中的信息,有效建模数据中的长期依赖关系。
通常,模型需要在每一层学习一组注意力图以描述标记之间的关系。
除了前面提到的深层特征,下游模型还可以利用之前模型生成的自注意力图。
研究团队认为,这些学习到的关系同样可以被重用,以促进下游TRansfoRMeR的学习,并采用对数加法运算进行整合。
效果如何?
让我们来看一下实际效果。
在ImageNet上的Top-1准确率与计算量的对比如下图所示。
从图中可以看出,DVT的计算效率显著优于DeIT和T2T-VIT:
在计算开销为0.5-2 GFLOPs时,DVT的计算量比同等性能的T2T-VIT少了1.7-1.9倍。
此外,该方法能够灵活地在每条曲线的所有点上实现,只需调整一次DVT的置信阈值。
CIFAR的Top-1准确率与GFLOP的对比如下图。
在ImageNet上的Top-1准确率与吞吐量的关系如下表所示。
在DVT中,“简单”和“困难”的可视化样本如下图。
通过在ImageNet、CIFAR-10和CIFAR-100上进行的大量实证研究,结果表明:
DVT方法在理论计算效率和实际推理速度方面明显优于其他方法。