论文阅读—— 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用来减少空间分辨率同时增加通道数。

相关推荐
饭饭大王66632 分钟前
CANN 生态中的轻量化部署利器:`lite-inference` 项目实战解析
深度学习
MSTcheng.1 小时前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann
Dev7z1 小时前
基于深度学习的肺部听诊音疾病智能诊断方法研究
人工智能·深度学习
像风一样的男人@2 小时前
python --读取psd文件
开发语言·python·深度学习
大江东去浪淘尽千古风流人物3 小时前
【SLAM新范式】几何主导=》几何+学习+语义+高效表示的融合
深度学习·算法·slam
yuanyuan2o23 小时前
【深度学习】全连接、卷积神经网络
人工智能·深度学习·cnn
汗流浃背了吧,老弟!3 小时前
BPE 词表构建与编解码(英雄联盟-托儿索语料)
人工智能·深度学习
小瑞瑞acd4 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
芷栀夏5 小时前
CANN ops-math:揭秘异构计算架构下数学算子的低延迟高吞吐优化逻辑
人工智能·深度学习·神经网络·cann
孤狼warrior5 小时前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪