【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

2024-02-27 1713阅读

温馨提示:这篇文章已超过456天没有更新,请注意相关的内容是否还可用!

【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

文章目录

  • 【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器
    • 一、总体介绍
    • 二、联系工作
    • 三、具体模型
      • 3.1 注意力
      • 3.2 双级路由注意(BRA)
      • 3.4. BiFormer的结构设计
      • 四、论文实验结果
      • 五、代码理解
      • 六、遥感实验结果

        BiFormer: Vision Transformer with Bi-Level Routing Attention

        视觉转换器的核心组成部分,注意力是捕捉长期依赖关系的有力工具

        计算跨所有空间位置的成对token交互时,计算负担和沉重的内存占用

        提出了一种新的动态稀疏注意,通过双层路由实现更灵活的内容感知计算分配

        过程:

        • 首先在粗区域级别过滤掉不相关的键值对
        • 然后在剩余候选区域(即路由区域)的联合中应用细粒度的Token到Token
        • 利用稀疏性来节省计算和内存,同时只涉及GPU-friendly的密集矩阵乘法

          提出了一种新的通用视觉变压器,称为BiF变压器

          一、总体介绍

          Transformer有许多适合于构建强大的数据驱动模型的属性

          捕获数据中的远程依赖关系

          卷积本质上是一个局部算子,与之相反,注意力的一个关键属性是全局接受场,它使视觉转换器能够捕获远程依赖

          稀疏关注引入到视觉转换,可以减少相应的计算量

          不同语义区域的查询实际上关注的键值对是完全不同的。因此,强制所有查询处理同一组令牌可能不是最优的

          需要评估所有查询和键之间的配对亲和力,因此具有相同的vanilla attention复杂性。另一种可能性是基于每个查询的本地上下文来预测注意力偏移量

          高效地定位有价值的键值

          提出了一种区域到区域路由,核心思想是在粗粒度的区域级别过滤掉最不相关的键值

          不是直接在细粒度的令牌级别

          应用Token到令Token的注意,这是非常重要的,因为现在假定键值(Q,K,V)对在空间上是分散的

          使用BRA作为核心构建块,我们提出了BiFormer,这是一个通用的视觉变压器骨干

          BRA使BiFormer能够以内容感知的方式为每个查询处理最相关的键/值Token的一小部分,因此我们的模型实现了更好的计算性能权衡

          具体作用:

          • 引入了一种新的双层路由机制,自适应查询的方式实现内容感知的稀疏模式
          • 双级路由关注作为基本构建块
          • 更好的性能和更低的计算量

            二、联系工作

            Vision transformers

              采用基于通道的MLP块进行错位嵌入(通道混合),并采用注意力块进行交叉位置关系建,transformers使用注意力作为卷积的替代方案来实现全局上下文建模

              vanilla attention在所有空间位置上两两计算特征亲和性,它会带来很高的计算负担和沉重的内存占用

            Efficient attention mechanisms

              稀疏连接模式[6],低秩近似[43]或循环操作[11]来减少vanilla attention的计算和内存复杂性瓶颈,Swin变压器中,将注意力限制在不重叠的局部窗口上,并引入移位窗口操作来实现相邻窗口之间的窗口间通信

            手工制作的稀疏模式:

            • 膨胀窗口[41,46]
            • 十字形窗口[14]

              不同查询的关注区域可能会有显著差异

                双层路由注意的目标是定位几个最相关的键值对,而四叉树注意构建了一个到ken金字塔,并组装来自不同粒度的所有级别的消息

              三、具体模型

              3.1 注意力

              注意力的具体表示:

              Q∈RNq×C,键K∈RNkv×C,值V∈RNkv×C作为输入

              【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

              避免权值集中和梯度消失,引入标量因子√C

              基础的构建块是多头自关注(MHSA)

              【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

              3.2 双级路由注意(BRA)

              为了缓解MHSA的可扩展性问题,一些研究[14,29,41,46,48]提出了不同的稀疏关注机制,其中每个查询只关注少量的键值对

              探索了一种动态的、查询感知的稀疏注意机制。

              整体结构图:

              【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

              具体操作思想:

              • 在粗区域级别过滤掉大多数不相关的键值对
              • 只保留一小部分路由区域
              • 路由区域的联合中应用细粒度的令牌到令牌关

                Region partition and input projection.

                特征图X∈RH×W×C

                分为S×S个不重叠的区域,使得每个区域包含H×W×S2特征向量

                将其转化为

                【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                同时将导出查询,键,值张量,Q, K, V∈R s2xHW/S2×C,具有线性投影

                【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                Region-to-region routing with directed graph

                构造一个有向图来找到参与关系,每个给定区域应该参与的区域

                对Q和K应用每个区域的平均值来推导区域级查询和键Qr, Kr∈RS2×C

                【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                Qr与转置的Kr之间的矩阵乘法推导出区域到区域亲和图的邻接矩阵

                Ar中的条目度量两个区域在语义上的关联程度

                步骤是通过仅为每个区域保留top-k连接来修剪关联图

                【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                Ir的第i行包含第i区最相关区域的k个指标

                区域到区域路由索引矩阵Ir,我们就可以应用细粒度的Token到令Token的注意关注。对于区域i中的每个查询令牌

                收集键和值张量

                【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                函数LCE(·)使用深度卷积参数化,我们将内核大小设置为5

                BRA的计算包括三个部分:

                • 线性投影

                • 区域到区域路由

                • token到token注意

                  3.4. BiFormer的结构设计

                  BRA为基本构建块,提出了一种新的通用视觉变压器BiFormer

                  【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                  具体结构:

                  1. 第一阶段使用重叠的patch嵌入
                  2. 第二到第四阶段使用patch合并模块
                  3. 使用Ni连续的BiFormer块来变换特征

                  将每个注意头设置为32个通道,MLP扩展比e=3。对于BRA,由于输入分辨率不同,我们对4个阶段使用topk = 1,4,16, S2

                  分类/语义分割/目标检测任务,区域划分因子S = 7/8/16

                  【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                  四、论文实验结果

                  同样只看在ADE20K,语义分割上的实验效果,与其他的效果来进行对比

                  基于MMSegmentation[8]在ADE20K[55]数据集上进行了语义分割实验。

                  采用框架对比:

                  • 语义FPN
                  • UperNet

                    主干都使用ImageNet-1K预训练的权重进行初始化,而其他层则使用随机初始化,使用AdamW优化器对模型进行优化,批量大小设置为32

                    Swin Transformer相同的设置

                    【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                    五、代码理解

                    从官方代码中给出的代码中我们选取biformer_base来对相应的

                    【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                    通过相应参数,我们可以得知,在构建模型中的数据

                    由于我下游任务是语义分割,topks的最后一项参数是S=8,s2是64

                    【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                    这里是具体的BRA模块的构成参数导入,由4个阶段的不同来分配不同的参数,因为s=-1改为了s=64,在4个阶段的Attention都为BiLevelRoutingAttention

                    在代码中的具体使用

                    【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                    原官方代码中有很多if,else的判断选择,但是最后执行的代码为这一段

                    Biformer的具体函数在

                    【论文阅读及代码实现】BiFormer: 具有双水平路由注意的视觉变压器

                    可以看到具体的函数操作

                    六、遥感实验结果

                    2023.5.21resnet50Vaihingen256*256(叠切)32251000.01SGDOA=83.47%Miou=67.75%F1=80.53%resnet50+BiFormer*4+IRFFN(depth=[3,4,6,3] num_heads=[2, 4, 8, 16],dilation=[1, 2])
                    2023.5.21resnet50Vaihingen256*256(叠切)32251000.01SGD82.93%67.61%80.35%resnet50+BiFormer2+MSDA2+IRFFN(depth=[3,4,6,3] num_heads=[2, 4, 8, 16],dilation=[1, 2])
                    2023.5.21resnet50Vaihingen256*256(叠切)32251000.01SGD83.24%67.74%80.44%resnet50+BiFormer+MSDA+BiFormer+MSDA+IRFFN(depth=[3,4,6,3] num_heads=[2, 4, 8, 16],dilation=[1, 2])

                    主干网络:resnet50

                    解码器:Unet的融合解码

                    初步结论:具有一定提高的效果,但作为轻量级的网络,在实际的使用上效果一般

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]