YOLOv10目标检测创新改进与实战案例专栏
专栏链接: YOLOv10 创新改进有效涨点
介绍
摘要
作为视觉Transformer的核心构建模块,注意力机制是捕捉长距离依赖关系的强大工具。然而,这种强大的功能也伴随着巨大的计算负担和大量的内存占用,因为需要计算所有空间位置上的成对标记交互。一系列研究尝试通过引入手工制作且内容无关的稀疏性来缓解这一问题,例如将注意力操作限制在局部窗口、轴向条纹或扩张窗口内。与这些方法不同,我们提出了一种新颖的动态稀疏注意力通过双层路由,以实现具有内容感知能力的更灵活的计算分配。具体来说,对于一个查询,首先在粗略区域级别过滤出无关的键-值对,然后在剩余候选区域的并集(即路由区域)中应用细粒度的标记对标记注意力。我们提供了所提出的双层路由注意力的简单而有效的实现,利用稀疏性节省计算和内存,仅涉及友好的GPU密集矩阵乘法。基于所提出的双层路由注意力构建了一个新的通用视觉Transformer模型,名为BiFormer。作为BiFormer以适应查询的方式仅关注少量相关标记,而不受其他无关标记干扰,因此在密集预测任务中表现出良好的性能和高计算效率。在图像分类、目标检测和语义分割等多个计算机视觉任务中的实证结果验证了我们设计的有效性。代码可在 https://github.com/rayleizhu/BiFormer 获取。
文章链接
论文地址:论文地址
代码地址:代码地址
基本原理
Transformer相较于CNNs的显著优势在于利用自注意力机制捕捉长距离上下文依赖。然而,在原始的Transformer架构中,全局注意力带来了内存占用大和计算代价高的问题,这限制了其在大规模任务中的应用。因此,研究者们致力于优化这些问题,提出了多种方法,包括:
- 局部窗口内操作,例如Swin Transformer和Crossformer;
- 轴向条纹操作,例如Cswin Transformer;
- 扩张窗口操作,例如Maxvit和Crossformer;
- 可变形注意力,通过不规则网格实现图像自适应稀疏性。
这些方法通过引入手工制作的稀疏性模式来减少计算复杂性。例如,图(a)展示了原始的全局注意力实现,而图(b)-(d)展示了局部窗口、轴向条纹和扩张窗口方法,这些方法通过限制注意力的范围来减轻复杂性和内存需求。
作者提出了一种新颖的动态稀疏注意力(Bi-Level Routing Attention,BRA),通过双层路由机制实现,使注意力能够动态地关注少量相关标记,从而提高计算效率和性能。这种方法不同于传统的静态稀疏模式或全局共享采样子集的方法,而是根据查询的动态特性选择相关区域,以最大程度地减少不相关区域的干扰。
Bi-Level Routing Attention
为了解决多头自注意力的可扩展性问题,BRA引入了动态稀疏注意力机制,其关键组成部分包括:
- 区域划分和输入投