0.摘要
自注意机制是Vision Transformer(ViT)最近进展的关键因素,它能够从全局上下文中进行自适应特征提取。然而,现有的自注意方法要么采用稀疏的全局注意力,要么采用窗口注意力来降低计算复杂度,这可能会损害局部特征的学习或者受到一些手工设计的限制。相比之下,局部注意力将每个查询的感受野限制在其相邻像素上,同时享受卷积和自注意力的优势,即局部归纳偏差和动态特征选择。然而,当前的局部注意力模块要么使用低效的Im2Col函数,要么依赖于特定的CUDA核心,很难推广到不支持CUDA的设备上。 在本文中,我们提出了一种新颖的局部注意力模块,Slide Attention,它利用常见的卷积操作实现高效、灵活和通用。具体而言,我们首先从新的基于行的视角重新解释了基于列的Im2Col函数,并使用深度卷积作为高效替代。在此基础上,我们提出了一种基于重新参数化技术的变形位移模块,进一步将固定的键/值位置放松为局部区域中的变形特征。通过这种方式,我们的模块以高效且灵活的方式实现了局部注意力范式。大量实验证明,我们的Slide Attention模块适用于各种先进的Vision Transformer模型,并且与各种硬件设备兼容,在全面的基准测试中实现了持续改进的性能。
1.引言
Transformer最初是为自然语言处理提出的[5,29],近年来引起了越来越多的研究兴趣。随着Vision Transformer的出现[9],研究人员开始意识到它在处理视觉数据方面的巨大潜力,并进一步将Transformer模型扩展到包括图像分类[20,21,30]、语义分割[26,36]、目标检测[2,16,22,39]和多模态任务[23,24]在内的各种视觉任务中。
然而,将Transformer适应于视觉是一个非常复杂的任务。全局感受野的自注意力计算复杂度随着序列长度的增加呈二次增长,这导致计算成本过高,并且使得对于需要高分辨率输入和大内存消耗的视觉模型来说是不切实际的。
为了克服这一挑战,现有的研究提出了将全局感受野限制在较小的区域内的方法。例如,PVT [30]和DAT [33]使用稀疏的全局注意力从特征图中选择稀疏的键和值位置,并将它们在所有查询之间共享。另一方面的研究,如Swin Transformer [20]和CSwin Transformer [8],遵循窗口注意力范式。输入被划分为特别设计的窗口,在这些窗口内提取和聚合特征。尽管这些精心设计的注意力模式在效率上表现良好,但仍存在一些局限性。一方面,稀疏的全局注意力往往较难捕捉局部特征,并且容易丢弃其他区域中富有信息的特征。另一方面,窗口注意力可能会阻碍窗口间的跨通信,并涉及额外的设计,如窗口移动,这对模型结构设置了限制。
与缩小全局感受野不同,一种自然且有效的替代方案是采用局部注意力,通过限制每个查询在其相邻像素中的感受野来实现。这种类似模式在传统卷积设计中已被广泛使用。与前面提到的注意力模式相比,局部注意力具有平移等变性和局部归纳偏差的优势,同时还能享受自注意机制的灵活性和数据依赖性。已经有一些研究将局部注意力应用于现代卷积或Transformer模型。然而,它们要么使用效率低下的Im2Col函数[25],导致推理时间大幅增加,要么依赖于精心编写的CUDA核心[11,37],限制了在不支持CUDA的设备上的适用性。因此,开发一个既高效又具有高通用性的局部注意力模块仍然具有挑战性。
在本文中,我们提出了一种名为Slide Attention的新型局部注意力模块,它可以高效地与各种视觉Transformer模型和硬件设备集成。我们针对先前局部注意力模块中采用的低效Im2Col函数,并从新的角度审视该过程。具体而言,原始的Im2Col从基于列的视角生成键和值矩阵,其中每列表示以输入的某个位置为中心的局部区域。相反,我们从基于行的视角重新构建键和值矩阵,并展示每行对应于不同方向上移动的输入特征。这个新的见解使我们有机会迈出进一步的一步,允许我们用精心设计的深度可分离卷积来替代移动操作。通过这种方式,Im2Col函数被标准的卷积操作所取代,可以以更高效的方式实现,并且可以轻松地在不同的硬件设备上实现。为了进一步增强灵活性,我们引入了一种新颖的变形移位模块,它将固定的键和值位置(图1(c))放松为局部区域内的变形特征(图1(d))。通过使用重新参数化技术,我们在保持推理效率的同时有效增加了模型容量。
我们在五个先进的视觉Transformer模型上对我们的模块进行了实证验证,包括图像分类、语义分割和目标检测任务,并对所有基准模型都展示了一致的改进效果。当在没有CUDA支持的设备上采用像Metal Performance Shader (MPS)或iPhone 12这样的设备时,我们的方法也被证明是高效的。例如,基于Swin-small的Slide Attention在iPhone 12上表现优于原始的Swin-base模型,并实现了1.7倍的推理加速。
图1.我们模型与其他注意力模式的比较。与PVT中的全局注意力和Swin-Transformer中的窗口注意力相比,我们提出了一种新颖的Slide Attention模块,它不仅具有局部归纳偏差的特点,还具有高效性和灵活性。
图2.局部注意力实现的性能和推理速度比较。结果基于Swin Tiny [20]。先前的工作主要使用Im2Col函数[25]或精心设计的CUDA核心[11],前者效率低下,后者仅在其他注意力模式(例如Swin-Transformer中的窗

本文提出了一种名为SlideAttention的新颖局部注意力模块,它通过深度卷积实现高效和灵活的局部注意力,解决了现有方法中Im2Col函数低效和CUDA依赖的问题。SlideAttention在多种视觉Transformer模型和硬件设备上表现出色,提高了性能和推理速度。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



