论文阅读—— BiFormer(cvpr2023)

论文:https://arxiv.org/abs/2303.08810

github:GitHub - rayleizhu/BiFormer: [CVPR 2023] Official code release of our paper "BiFormer: Vision Transformer with Bi-Level Routing Attention"

一、介绍

1、要解决的问题:transformers可以捕捉长期依赖,但是它具有很高的计算复杂性,并占用大量内存。

2、之前研究者解决这个问题的做法,一般都是稀疏注意力:

1)基于手动设计的稀疏模式:在局部窗口或空洞窗口的限制注意力

2)使得稀疏性可以自适应于数据

上面这些方法使用不同的策略融合或者选择和查询无关的键值token,这些token对所有查询共享。但是根据VIT和DETR的可视化结果,不同语义区域的查询对应不同的键值对。

3、所以作者的方法是动态的、查询相关的query-aware,找到最有相关性的键值对。

本文的想法:主要想法是先在区域级别粗略的过滤掉和查询不相关的键值对,这样留下一小部分topk选好的区域routed regions,然后在这些区域上使用细粒度token到token的细粒度注意力机制。

二、方法:

1、Bi-Level Routing Attention

1)输入图片HxWxC,分成SxS个区域,reshape到,然后求出Q,K,V

2)求相关区域

每个区域的,求区域之间的相似性矩阵,文中称为通过矩阵相乘得到的region-to-region affinity graph:,衡量了两个区域之间的语义相关性大小。然后选出topk个区域,I的第i行是最相关的k个区域的索引。

3)Token-to-token attention

为了能在GPU并行计算,先把K和V聚集在一起,然后再计算注意力:

4)分析得到的提出的BRA(Bi-Level Routing Attention)复杂度,而一般的注意力复杂度为

2、BiFormer

BRA作为基础模块,采用四层金字塔结构。

patch merging module用来减少空间分辨率同时增加通道数。

相关推荐
TY-202513 分钟前
三、神经网络——网络优化方法
人工智能·深度学习·神经网络
纪伊路上盛名在1 小时前
(鱼书)深度学习入门1:python入门
人工智能·python·深度学习
停走的风2 小时前
二刷(李宏毅深度学习,醍醐灌顶,长刷长爽)
人工智能·深度学习
TY-20252 小时前
二、深度学习——损失函数
人工智能·深度学习
Python×CATIA工业智造2 小时前
列表页与详情页的智能识别:多维度判定方法与工业级实现
爬虫·深度学习·pycharm
CoovallyAIHub2 小时前
单目深度估计重大突破:无需标签,精度超越 SOTA!西湖大学团队提出多教师蒸馏新方案
深度学习·算法·计算机视觉
CoovallyAIHub2 小时前
从FCOS3D到PGD:看深度估计如何快速搭建你的3D检测项目
深度学习·算法·计算机视觉
九章云极AladdinEdu2 小时前
华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
人工智能·深度学习·opencv·机器学习·华为·数据挖掘·gpu算力
向左转, 向右走ˉ2 小时前
PyTorch随机擦除:提升模型抗遮挡能力
人工智能·pytorch·python·深度学习
feifeikon2 小时前
SFT与Lora
人工智能·深度学习·机器学习