BiFormer
BiFormer: Vision Transformer with Bi-Level Routing Attention
论文:《BiFormer: Vision Transformer with Bi-Level Routing Attention》(CVPR 2023)
文章贡献:
- 作者提出了一种新颖的双层路由机制,将其应用于传统的注意力机制中。
- 基于双层路由注意力机制,作者提出了一种名为BiFormer的通用视觉Transformer模型。
1.注意力:
注:是缩放因子用以避免梯度消失
多头注意力:对输入沿着通道维度分成h个块(头部),每个块使用一组独立的权重
注1:是一个额外的线性变换用来组合所有的头
注2:MHSA的复杂度是,因为有N个查询,每个查询涉及N个键值对
2.双级路由注意力(BRA)
作者探索了一种动态的、查询感知的稀疏注意机制,在粗粒度的区域级别上过滤掉大多数不相关的键-值对,使得只有少部分的路由区域保留下来,在这些路由区域的并集上应用细粒度的令牌-令牌注意力。
算法步骤:
- 区域划分和输入投影:对于输入,首先将其划分为非重叠区域,每个区域包含个特征向量(通过对X进行reshape操作实现),然后进行线性投影得到Q、K、V:
- 带有向图的区域到区域路由:得到区域级的(通过对每个区域内的Q、K取平均值得到),然后得到区域到区域亲和图
注:反应了两个区域在语义上的关联程度
- 对逐行进行top-k操作得到每个区域最相关的 k 个区域的索引,以此来修剪关联图
注:的第i行包含了第i个区域最相关的k个区域的索引
3.Token-to-token注意
得到了区域到区域路由索引矩阵后,即可进行Token-to-token关注,对于每个区域i中的Q,根据 k 个路由区域中的所有键值对,收集K、V:
然后进行注意力计算:
注:LCE是为了增强局部信息,其通过深度卷积实现
4.BRA的计算复杂度:包括三部分(线性投影、区域到区域路由和Token-to-token注意)
总计算量为:
作者所设计的网络模型如下:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丹青两幻!
评论