CVPR2023:BiFormer阅读笔记

前言

BiFormer是CVPR2023的一篇文章,文中提出自注意力机制作为Transformer的核心模块,可以帮助网络捕捉长距离上下文依赖,但是这种结构也有两个缺点:

  1. 内存占用大
  2. 计算代价高

有许多研究针对上述缺点进行优化:

  1. 将注意力操作局限在局部窗口内,如图(b)。例如:Swin transformer
  2. 将注意力操作局限在横向条纹内,如图(c)。
  3. 将注意力操作局限在空洞窗口内,如图(d)。

在这里插入图片描述

然后上述研究有两个共性的问题:

  1. 使用手工制作的静态模式(无法自适应)
  2. 所有Query共享相同的K / V对(无法做到互不干扰)

与上述研究不同,作者提出了一种新的动态稀疏注意力机制,通过双层路由来实现更灵活的算力分配,让每个Query处理语义上最相关的K-V对的一小部分。在此基础上,提出的BiFormer具有良好的性能和较高的计算效率。如图(f)。

计算复杂度由原来的 o ( ( H W ) 2 ) o((HW)^2) o((HW)2)降到了 o ( ( H W ) 4 3 ) o((HW)^{\frac{4}{3}}) o((HW)34)

1. 模型的特点

为了让每个Query处理语义上最相关的K-V对,首先面临的问题就是如何找到这些需要关注的K-V对

一种方法是逐一为每个Query选择K-V对,那么就需要计算所有Query和所有Key之间的相关性,复杂性和原来的自注意力机制就相同了。

另一种方法是基于每个Query的局部上下文来预测注意力偏移量,如图(e),这虽然降低了计算复杂性,但会影响长距离依赖关系的建模。

为了解决这个问题,作者提出双层路由注意力机制(Bi-level Routing Attention, BRA)。核心思想是先在粗粒度区域级别过滤掉最不相关的键-值对,然后再去计算剩下的区域中的token-to-token注意力。

首先构造一个区域级关联图,然后对其进行修剪,使每个节点只保留前k个连接。因此每个区域只需要关注前k个路由区域。确定了参与区域后,下一步是应用token-to-token的注意,这是非常重要的,因为现在假定键值对在空间上是分散的。

2. 双层路由注意力机制(BRA)

在这里插入图片描述

输入一张图片, X ∈ R H × W × C X \in \mathbb R^{H \times W \times C} XRH×W×C,首先将其划分为 S × S S \times S S×S个不同的区域,其中每个区域包含 H W S 2 \frac{HW}{S^2} S2HW个特征向量。即将 X X X变为 X r ∈ R S 2 × H W S 2 × C X^r \in \mathbb R^{S^2 \times \frac{HW}{S^2} \times C} XrRS2×S2HW×C

然后,通过线性映射获得 Q , K , V ∈ R S 2 × H W S 2 × C Q,K,V \in \mathbb R^{S^2 \times \frac{HW}{S^2} \times C} Q,K,VRS2×S2HW×C

Q = X r W q , K = X r W k , V = X r W v Q=X^rW^q,K=X^rW^k,V=X^rW^v Q=XrWq,K=XrWk,V=XrWv

其中, W q , W k , W v ∈ R C × C W^q,W^k,W^v \in \mathbb R^{C \times C} Wq,Wk,WvRC×C分别是query,key,value的投影权重。

使用有向图的region-to-region路由

通过构造一个有向图来找到每个给定区域应该参与的区域。

首先计算每个区域中Q和K的平均值,得到 Q r , K r ∈ R S 2 × C Q^r,K^r \in \mathbb R^{S^2 \times C} Qr,KrRS2×C

然后计算 Q r Q^r Qr K r K^r Kr的区域间相关性的邻接矩阵:

A r = Q r ( K r ) T A^r=Q^r(K^r)^T Ar=Qr(Kr)T

然后只保留每个区域的前k个连接来修剪相关性图。有路由索引矩阵 I r ∈ N S 2 × k I_r \in \mathbb N^{S^2 \times k} IrNS2×k,逐行保存前k个连接的索引。

I r = t o p k I n d e x ( A r ) I^r=topkIndex(A^r) Ir=topkIndex(Ar)

I r I^r Ir的第i行包含第i个区域的前k个最相关区域的索引。

token-to-token的注意力机制

利用区域到区域路由索引矩阵 I r I_r Ir我们可以计算细粒度的token-to-token注意力 。对于区域i中的每个Query token,它将关注k个路由区域的并集中的所有键-值对,索引为 I ( i , 1 ) r , I ( i , 2 ) r , … , I ( i , k ) r I^r_{(i,1)},I^r_{(i,2)},\ldots,I^r_{(i,k)} I(i,1)r,I(i,2)r,,I(i,k)r。然而,要有效地实现这一步骤并不容易,因为这些路由区域将分散在整个特征图中,而GPU依赖于一次加载数十个连续字节的块的合并内存操作。因此,我们首先聚集key和value的tensor,即,

K g = g a t h e r ( K , I r ) , V g = g a t h e r ( V , I r ) K^g=gather(K,I^r),V^g=gather(V,I^r) Kg=gather(K,Ir),Vg=gather(V,Ir)

其中, K g K^g Kg V g V^g Vg是聚集后的key和value的tensor,然后对聚集后的K-V对使用注意力操作:

O = A t t e n t i o n ( Q , K g , V g ) + L C E ( V ) O = Attention(Q,K^g,V^g)+LCE(V) O=Attention(Q,Kg,Vg)+LCE(V)

此处,引入了一个局部上下文增强项 L C E ( ( V ) ) LCE((V)) LCE((V)),如论文Shunted Self-Attention via Multi-Scale Token Aggregation中所述。函数 L C E ( ⋅ ) LCE(\cdot) LCE()用深度可分离卷积进行参数化,我们将卷积核大小设置为5。

3. BiFormer的结构

BiFormer结构如下图所示。

在这里插入图片描述

在第i个stage中,使用重叠的patch embedding(i=1时)或使用patch merging(i=2,3,4时)模块来降低输入空间分辨率,同时增加通道数量。然后使用使用 N i N_i Ni个相连的BiFormer块来对输入特征进行transformer操作。

BiFormer块的细节结构如下图。先使用 3 × 3 3 \times 3 3×3卷积隐式编码相对位置信息。然后,依次使用BRA模块和一个2层的膨胀率为e的MLP模块进行跨位置关系建模和逐位置嵌入。
在这里插入图片描述
作者通过缩放网络宽度(即基本通道的数量 C C C)和深度(即每个阶段使用的BiFormer块的数量 N i , i = 1 , 2 , 3 , 4 N_i,i=1,2,3,4 Ni,i=1,2,3,4),实例化了3个不同大小的BiFormer,如下表所示。其他结构保持一致。我们将每个注意力头设为32个通道,MLP扩展比e=3。对于BRA,由于输入分辨率不同,4个阶段我们使用 t o p k = 1 , 4 , 16 topk=1,4,16 topk=1,4,16,区域划分因子S = 7/8/16进行分类/语义分割/目标检测任务。

在这里插入图片描述

  • 15
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
CVPR 2023是计算机视觉和模式识别的顶级会议,UAV(无人机)在该会议上是一个热门的研究领域。 UAV(无人机)技术在过去几年中取得了显著的发展和广泛的应用。它们被广泛用于农业、测绘、监测和救援等领域。CVPR 2023将成为研究者们交流、展示和分享无人机相关研究的理想平台。 首先,CVPR 2023将提供一个特殊的无人机研究专题,以探讨该领域的最新进展和创新。研究人员可以提交和展示基于无人机的计算机视觉和模式识别的研究成果。这些研究可能涉及无人机导航、目标识别、图像处理等方面,以解决现实世界中的问题。 其次,CVPR 2023也将包括无人机在计算机视觉和模式识别中的应用研究。无人机可以提供独特的视角和数据采集能力,用于处理各种计算机视觉任务,如物体检测、场景分割等。研究者可以展示他们基于无人机的方法与传统方法的对比实验结果,并讨论无人机在这些领域的优势和局限性。 此外,CVPR 2023还将包括与无人机相关的新兴技术和趋势的讨论。例如,无人机与深度学习、增强现实等领域的结合,将推动计算机视觉和模式识别的研究和应用取得更大的突破。研究者可以分享他们在这些交叉领域中的创新成果,并与其他学者进行深入的讨论和合作。 总之,CVPR 2023将为无人机在计算机视觉和模式识别领域的研究提供一个重要的平台。它将促进学术界和工业界之间的合作与交流,并为未来的无人机技术发展提供新的思路和方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值