当前位置:   article > 正文

组会论文翻译加思路整理:BiFormer: Vision Transformer with Bi-Level Routing Attention

biformer: vision transformer with bi-level routing attention

文章链接:2303.08810.pdf (arxiv.org)

一、核心概要

作为vision transformers的中心块,注意力是一个用来捕获长期依赖关系的强有力的工具。然而,这种力量会产生巨大开销:它会产生巨大的计算负担和大量内存占用,当计算所有空间位置的成对token交互时。一系列工作试图解决这个问题通过在注意力机制中引入手工制作的、与内容无关的稀疏性,比如将注意力操作限制在局部窗口、轴向条纹或扩张窗口之内。

本篇工作的贡献点:

  1. 通过双层路由(bi-level routing)提出了一种新颖的动态稀疏注意力(dynamic sparse attention),以实现更灵活的计算分配和内容感知,使其具备动态的、query感知的稀疏性
  2. 使用两级路由注意力作为基本构建块,提出了一个新的视觉Transformer,名为BiFormer,视觉领域的多个实验表明该模型具有更好的性能。

本篇工作的核心方法:

第一步:在粗区域级别上过滤掉最不相关的Q-K键值对向量,只保留一小部分路由区域。

第二步:再在这些路由区域的并集中应用细粒度的token-to-token注意力机制 。

二、注意力机制

?首先什么是稀疏注意力

如果要节省显存,加快计算速度,那么一个基本的思路就是减少关联性的计算,也就是认为每个元素只跟序列内的一部分元素相关,这就是稀疏Attention的基本原理

接下来:梳理一下上图:

图(a)是原始的注意力实现,其直接在全局范围内操作,每一个像素点都要进行计算,导致高计算复杂性和大量内存占用;

图(b)Local Attetion:计算一个像素周围一些点的Attention,通过移动Attention框来集合不同像素点之间的信息。

图(c)Axial Attention:计算轴向(行 / 列)的Attention的信息。

图(d)Dilated Attention:加入空洞卷积的Attention注意力。

图(e)Deformable Attention:对于单个像素点,首先通过一层网络来计算出贡献值最大/最好的点,计算这些点对其的Attention,讲这些点的信息融合起来。

总结:

方法b-d:采用的都是静态的方法,没有动态的选择。对于不同的图片(对应于不同的数据集)会有不同的效果。

方法e:在选择像素点进行像素融合时,紧是使用选择出的部分单个信息,得到贡献值。基于可变形注意力通过不规则网格来实现图像自适应稀疏性。

方法f(本篇文章):它是动态的选择的需要融合的信息方法。

三、本文方法

大致思想:

网络整体进行粗略的Attention计算和区域的选择,在对选择好的区域进行细致的计算进行相加。

首先,将H*W进行分块,得到红色小块HW/S^2,将红色小块的信息进行融合计算,得到不同大块区域的信息进行融合,得到不同区域之间的粗略信息。

对于蓝色区域而言,计算出这两黄色区域对它的Attention贡献值比较高。选择好后,只需要计算蓝色区域(4个小像素)和两个黄色区域(8个小像素)之间进行Attention计算。再将这8个点的信息融合到4个像素里面,得到最终的信息。相当于从粗到细的Attention的计算过程。

1. 详细的计算:

首先对于H*W*C的特征图变成(HW/S^2)*C,接下来在进行Q,K,V的计算

接下来进行Attention的计算

比如对于蓝色区域而言,计算另外15个区域对它的Attention值,选取15区域里面中最好的K个,在图中就是黄色的两个区域,后续我们就可以只用计算黄色区域和蓝色区域的关系信息。

2. 伪代码的理解

3. 网络整体结构

基于BRA模块,本文构建了一种新颖的通用视觉转换器BiFormer。如上图所示,其遵循大多数的vision transformer架构设计,也是采用四级金字塔结构,即下采样32倍。

具体来说,BiFormer在第一阶段使用重叠块嵌入,在第二到第四阶段使用块合并模块来降低输入空间分辨率,同时增加通道数,然后是采用连续的BiFormer块做特征变换。需要注意的是,在每个块的开始均是使用 的深度卷积来隐式编码相对位置信息。随后依次应用BRA模块和扩展率为 的 2 层 多层感知机(Multi-Layer Perceptron, MLP)模块,分别用于交叉位置关系建模和每个位置嵌入。

4. 方法论文翻译

四、实验分析

五、总结

本文提出了一种双层路由注意力模块,以动态、查询感知的方式实现计算的有效分配。其中,BRA模块的核心思想是在粗区域级别过滤掉最不相关的键值对。它是通过首先构建和修剪区域级有向图,然后在路由区域的联合中应用细粒度的token-to-token注意力来实现的。值得一提的是,该模块的计算复杂度可压缩至 !最后,基于该模块本文构建了一个金字塔结构的视觉Transformer——BiFormer,它在四种流行的视觉任务、图像分类、目标检测、实例分割和语义分割方面均表现出卓越的性能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/991528
推荐阅读
相关标签
  

闽ICP备14008679号