Paper → BiFormer: Vision Transformer with Bi-Level Routing Attention
BiFormer Github 코드→ BiFormer
Introduction
Core Building Block (=Attention) 발전
이 연구는 Vision Transformer의 Core Building Block 에 해당하는 Attention 을 발전시키는 것을 목표로 한다.
연구 흐름 Outline
- Vanillla Attention → ✅ long-range dependency 학습. ❌ cost 비용 높음. (연산 리소스, 메모리 사용량)
- Handcrafted & Content-agnostic Sparse Attention → ❌ long-range dependency 학습 어려움. ✅ cost 비용 줄임.
- Dynamic & Image-adaptive Sparse Attention (=Deformable Attention) → ⚠️ long-range dependency 학습 어려움. ✅ cost 비용 줄임.
⇒ “long-range dependency를 잘 반영하면서도 cost 비용이 적을 수는 없을까?”
1. Vanilla Attention
ViT 모델에 적용된 Vanilla Attention(=Global Attention)의 각 Query는 모든 Key-Value 쌍에 대해서 dot-product 연산을 수행하여 유사도를 구한다. 이를 통해 global context 를 반영할 수 있다는 장점을 가지지만, 높은 연산 리소스와 많은 메모리 사용량이 요구되는 것이 문제점으로 작용한다.
2. Handcrafted & Content-Agnostic Sparse Attention
본 논문의 이전 연구들은 Vanilla Attention의 연산 및 메모리의 오버헤드를 줄이기 위해 “Sparse Attention”으로 변형하는 방법을 도입하기 시작했다. Sparse Attention이란, 각 Query가 전체 토큰을 고려하는 것이 아니라 특정 영역을 선별해서 Attention을 수행하는 메커니즘이다. Sparse Attention에는 크게 (b) Local attention (c) Axial Attention (d) Dilated Attention 이 존재하고, 그중에서도 먼저 등장한 (b) Local attention 에 대해 먼저 살펴본다.
(b) Local Attention
Sparse Attention 연구가 인기를 얻을 수 있었던 이유는 Swin Transformer 모델이 그 당시에 등장하면서 이전 연구들에 대해서 엄청난 성공을 거뒀기 때문이다. 이 Swin Transformer 가 Local Attention의 대표적인 예시이다. Swin Transformer에서 쓰이는 Attention은 오버랩되지 않는 local window 로 구역을 나누고 shift window 연산을 통해서 window간의 communication 연산을 진행한다.
(c) Axial Attention
Local Attention 방식은 윈도우 단위로 Self-Attention을 수행하여 계산량을 줄이는 방식으로 효율성을 높였지만, 여전히 윈도우 크기에 따라 정보 전달 범위가 제한되는 문제가 있었다. 이러한 한계를 극복하기 위해 등장한 것이 Axial Attention이며, 대표적인 모델로는 CSwin이 있다. Axial Attention은 Self-Attention을 수행할 때 가로(Width)와 세로(Height) 방향으로 분리하여 연산을 수행하는 방식이다. 이는 기존의 윈도우 기반 Attention보다 더 넓은 범위에서 정보를 효율적으로 통합할 수 있다. 이를 통해 계산량은 Swin Transformer 수준으로 유지하면서도, Local Attention 보다 더 장기적인 문맥 정보를 고려할 수 있게 되었다.
(d) Dilated Attention
앞서 소개한 Axial Attention은 여전히 연산 범위가 한 축으로 제한된다는 한계가 있었다. 이를 극복하기 위해 등장한 것이 Dilated Attention이며, 대표적인 모델로는 MaxViT과 CrossFormer가 있다. Dilated Attention은 CNN에서 사용하는 확장 커널(dilated convolution)과 유사한 개념을 적용하여, 일정 간격마다 띄엄띄엄 토큰을 선택해 Self-Attention을 수행하는 방식이다. 이렇게 하면 연산량을 기존 Local Attention 수준으로 유지하면서도, 한 번의 Attention에서 더 넓은 영역의 정보를 직접 고려할 수 있어 장거리 의존성을 효과적으로 학습할 수 있다.
(b), (c), (d) Attention은 Query가 특정한 작은 영역에 주목하도록 사전에 정의된 방식으로 동작한다. 따라서 이미지 정보와는 무관하게 Sparse Pattern을 설계해왔다. 그러나 이러한 방식에는 문제가 존재한다.
우선, 제안된 Attention들은 모든 Query에 대해 동일한 Key-Value 쌍을 연산에 사용하도록 하였다. 즉, Sparse Attention은 query-agnostic하게 동작한다고 가정한 셈이다. 이때 query-agnostic이란, Attention이 Query의 내용이나 특성과는 무관하게 미리 정해진 방식으로 Key-Value 쌍과 연산이 이루어지는 방식을 의미한다.
그러나, 실제 관찰 결과, 각 Query마다 매우 다른 Key-Value 쌍에 주목하였으며, 이는 초기 가정과 맞지 않다. 따라서, 모든 Query가 동일한 토큰 집합에 주목하도록 강제하는 것은 “suboptimal”한 것이다. 결국, 서로 다른 semantic 영역에 위치한 Query들이 동일한 Key-Value 쌍을 참조할 경우, 연관이 낮은 쌍까지 연산에 포함되어 불필요한 연산 비용이 증가하며, 이는 성능 저하로 이어진다.
실제로, 사전학습된 ViT의 Attention Map 시각화 결과를 보면, Query 위치에 따라 주목하는 영역이 크게 다름을 확인할 수 있다.
DETR의 Attention Map 시각화 결과에서도 Query 위치에 따라 주목하는 영역이 크게 다름을 확인할 수 있으며, 코드 파일 에서 확인 가능하다.
3. Dynamic & Image-adaptive Sparse Attention
앞서 언급한 기존 Sparse Attention 방식들은 content-agnostic한 한계를 가지며, 사전에 정의된 패턴(e.g., (b) Local Window, (c) Axial Stripe, (d) Dilated Window)에 따라 제한적으로 Attention을 수행한다. 즉, 모든 Query가 동일한 Key-Value 쌍에 대해 연산하도록 강제되며, 이는 최적의 정보 활용을 방해할 수 있다.
이를 보완하기 위해 Deformable Attention에서는 Dynamic하고 Image-adaptive한 Sparse Attention 기법을 제안하였다. 이 방식에서는 Query가 고정된 패턴이 아닌 유동적으로 변형된(Deformable) Sampling 위치에서 Key-Value를 선택하여, 보다 유연한 Sparse Attention을 가능하게 한다.
그러나 Deformable Attention에도 몇 가지 한계가 존재한다.
- 첫째, Deformable Attention은 Query-aware하지 않다. 즉, Query의 의미적 차이를 고려하지 않고 Key-Value를 선택하므로, 서로 다른 Query라고 하더라도 동일한 Sparse Attention 구조를 공유하게 되며 Query 간의 차이를 반영하는 능력이 부족하다.
- 둘째, Deformable Attention은 기존 Content-agnostic Sparse Attention보다는 Long-range Dependency를 더 잘 반영할 가능성은 있다. 이는 Query의 위치에 따라 sampling 위치가 변형되면서, 보다 넓은 범위의 Key-Value에 접근할 수 있는 가능성이 존재하기 때문이다. 하지만, 여전히 Query-aware한 방식이 아니므로, 멀리 있는 Key-Value를 선택하는 기준이 명확하지 않으며, local context를 기반으로 sampling 위치를 조정하는 방식이기 때문에 여전히 Global Context를 충분히 반영한다고 보기 어렵다.
이러한 한계를 극복하기 위해 저자는 “Bi-Level Routing Attention (BRA)”을 제안한다.
Contribution
저자는 앞서 언급한 다음 문제에 대해서 해결하고자 한다.
- ⚠️ long-range dependency 학습 어려움. ✅ cost 비용 줄임. → 둘다 만족하는 Attention 기법
- “suboptimal”하지 않고 global optimal한 attention 기법
이 문제를 해결하기 위해 저자는 dynamic 하면서도 query-aware한 sparse attention인 “Bi-level Routing Attention(BRA)”을 제안한다. 또한, BRA를 적용한 BiFormer 모델을 제안하였다.
실험 결과 다양한 computer vision task에서 기존 Baseline과 비슷한 모델 크기에 대해서 더 큰 좋은 성능을 달성하였다.
Bi-level Routing Attention(BRA) Outline
- region level region-to-region routing 진행
- regision-level Affinity Graph 구성
- 각 노드에 대해서 top-k connection만 유지하도록 prunning 진행
- token level token-to-token attention 진행
- 이때, GPU-friendly하게 gather 진행
Bi-level Routing Attention
Bi-level Routing Attention(BRA)의 전체적인 구조는 위와 같다.
Step 1. Region 분할
❶ Divide & Flatten
먼저, 오버랩 되지 않는 $S×S$ 개수 만큼의 regions를 나누고 각 region에 대해서 Flatten을 진행한다.
이 과정을 거치는 이유는 query가 전체 토큰이 아니라 특정 region 내에서 가장 관련성이 높은 key-value pair에만 attend하도록 하기 위해서 꼭 거쳐야하는 작업이기 때문이다.
여기서 $X^r$이라고 논문에서 표기한 이유는 region-wise feature map 을 의미하는 것을 명시적으로 잘 보여주기 위함이다.
❷ Linear Projection
다음으로 $(C,C)$ 차원 행렬을 copy된 세 개의 $X^r$에 대해서 각각 곱해주어 $Q, K,V$를 얻는다.
Step 2. 관련성이 높은 top k개 영역만을 선택
❶ Per-region Average
각 region $S×2$개에 대해서 평균을 낸다. region 수준에서 대표 벡터를 생성하여 연산량을 줄이면서도 가장 관련성이 높은 region을 찾기 위해 진행한다.
❷ Region-to-Region Affinity Graph 구성
이후 MatMul을 진행하여 region 간의 유사도를 구한다.
❸ Row-wise Top-K Operator 적용
그 다음으로 각 region 에 대해서 가장 유사도가 높은 상위 k개의 region만 선택하여 연산량을 줄이면서도 중요한 정보만 집중적으로 활용하고자 한다. 이때, $I^r$의 각 원소 값은 유사도 값이 아니라 각 region이 가장 유사한 상위 k개의 region 인덱스를 가리킨다.
예를 들어, $k=1$ 이라고 가정했을 때 다음과 같이 행렬 값이 구성된다.
$$ A^r =\begin{bmatrix}1.1 & 2.1 & 1.9 \\2.2 & 3.1 & 4.4 \\1.1 & 1.8 & 0.6\end{bmatrix} $$
$$ I^r = \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix} $$
위와 같이 가장 높은 값에 대한 region 인덱스가 원소가 된다.
Step 3. Token-to-Token Attention
❶ Gather
Step 2를 통해 routed regions를 얻게 되는데, 즉 중요한 정보에 대해서만 모은 regions를 의미한다. 그런데 이 과정에서 feature map 전체에 흝어져 있기 때문에 효율적인 연산을 위해 미리 key-value를 모으게 된다.
또한, GPU는 coalesced memory access 특성을 가지며, 메모리에서 연속된 데이터를 한 번에 로드할 때 성능이 최적화 된다. 그러나 gather 없이 바로 token-to-token attention을 수행하면 key-value가 공간적으로 흝어져 있어 메모리 접근이 비효율적이다. 이를 방지하기 위해, key-value를 미리 모아 dense matrix multiplication으로 변환하여 연산을 최적화한다.
❷ Attention
attention 내용은 vanilla attention 동작 과정과 동일하다.
❸ LCE(V)
LCE(Local Context Enhancement)란, Depth-wise Convolution을 사용하여 계산되는 local context를 강화하기 위한 방법이다. 이를 구하는 이유는 ❷ Attention이 전역적인 의존성만 학습하는 한계를 보완하고 local context 정보를 유지하기 위해 LCE(V)를 추가적으로 구한다.
예를 들어, $(3,3)$ 차원의 feature map $V$를 가지고 있다고 가정한다.
$$ V =\begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\7 & 8 & 9\end{bmatrix} $$
$V$에 $(3,3)$ 차원의 평균 필터를 적용하여 업데이트하면 다음과 같다. 이때, 중앙값을 기준으로 값이 없는 부분이 있는데 이부분은 0 패딩을 추가하여 계산한다.
$$ LCE(V) =\begin{bmatrix}1.33 & 2.33 & 1.78 \\3.00 & 5.00 & 3.67 \\2.67 & 4.33 & 3.11\end{bmatrix} $$
위와 같은 값을 얻게 된다. 세부 과정을 예로 들면, $V$에서 $1$이 중앙값이라고 한다면, 그 주변 값은 $[2, 4, 5, 0, 0, 0, 0, 0]$ 이 된다. $1$을 포함해서 주변 값들을 모두 더하고 $9$로 나눠 평균을 구하면 $1.33$ 값을 얻게 된다.
더 자세한 내용을 알고 싶다면 Shunted Self-Attention via Multi-Scale Token Aggregation 논문을 참고하면 된다.
❹ Sum
Attention 값에 local context 정보를 추가하여 global 관계와 local 관계를 동시에 반영하는 표현을 얻을 수 있다.
BiFormer
위 그림과 같이 BiFormer 구조는 전반적으로 SwinTransformer 전체 구조와 유사한 구조로 제안하였으며, 4단계 피라미드 구조를 따른다.
1. BiFormer 구조
- Stage 1: Patch Embedding 사용하여 초기 특성 맵 생성한다.
- Stage 2-4: Patch Merging을 통해 점진적으로 resolution을 줄이고 채널수 $C$는 증가 시킨다.
- 각 Stage는 여러 개의 Biformer Block으로 구성되어있다.
Patch Embedding 부분의 경우 SwinTransformer 또한 코드상으로 Patch Partition 과 Linear Embedding 과정이 합쳐진 Patch Embedding 으로 수행하기 때문에 동일하다고 볼 수 있다.
따라서 BiFormer Block 구성이 큰 차이라고 볼 수 있다.
2. BiFormer Block 구조
- 3x3 Depthwise Convolution
- Bi-Level Routing Attention(BRA)
- MLP Layer
SwinTransformer와 구조적 차이점을 봤을 때, Attention Block을 Bi-level Routing Attention 으로 변경하였다. 또한, 첫 번째 Layer Normalization 전에 DWConv 3x3 과정을 추가적으로 수행한 것이 차이점이다.
DWConv 3x3
Depthwise Convolution 의 줄임말로 커널 크기가 $3×3×1$ 로 구성되어 있어서 각 채널마다 독립적인 필터를 적용한다. 이를 추가한 이유는 Self-Attention이 기본적으로 가지지 못하는 상대적 위치 정보를 강화하기 위함이다.
3. 모델 Varients
설정 varients
- $Models$: 3가지 모델 크기 $[Tiny, Small, Base]$
- $\#Channels$: 기본 채널 수 $C$
- $\#Blocks$: 각 Stage에서 사용된 BiFormer Block 수 $N_i, i=1, 2, 3, 4$
공통 설정
- $\#Attention\ Heads$: 32개
- $MLP$ 확장 비율: 3
- $topK$: $[1, 4, 6, S^{2/3}]$
- Classification Task: $S=7$
- Semantic Segmentation Task: $S=8$
- Object Detection Task: $S=16$
Complexity
1. Vanilla Attention
$$ O((HW)^2) $$
2. Quasi-Global Axial Attention
$$ O((HW)^{3/2}) $$
3. BRA
BRA의 complexity 구하는 전체 과정은 아래와 같다.
BRA의 complexity 계산은 3개 파트로 나눠진다.
❶ linear projection
$$ FLOP_{S_{proj}}=3HWC^2 $$
- 각 픽셀(토큰)당 연산량 $C×C$
- 전체 픽셀 수 $S^2×\frac{HW}{S^2}=HW$
⇒ Q, K, V 모두 고려한 연산량은 결국, $3HWC^2$가 된다.
❷ region-to-region routing
$$ FLOP_{S_{routing}}=2(S^2)^2C $$
- 영역 분할 & Pooling 연산량 $2×(S^2×C)×\frac{HW}{S^2}=2HWC$ → 이 과정 연산량 자체는 전체 복잡도에 거의 영향을 주지 않는다.
- Region-to-Region Affinity 계산 시 연산량
$S^2×C×S^2=S^4C$ - Top-k 선택 연산량
- 선형 선택 알고리즘 기반 구현일 경우 complexity는 다음과 같다.
$O(S^2(S^2+klogk))=O(S^4)$
- 선형 선택 알고리즘 기반 구현일 경우 complexity는 다음과 같다.
⇒ 결국 최종 complexity는 $O(S^4(C+1))=O(S^4C)$ 이 된다.
❸ token-to-token attention
$$ FLOP_{S_{attn}}=2HWk\frac{HW}{S^2}C $$
- Gather Key & Value 연산량의 경우 단순한 메모리 접근이므로 FLOPs에 크게 기여하지 않는다.
- Token-to-Token Attention 계산
- Q-K 행렬 곱 연산량
$S^2×\frac{HW}{S^2}×\frac{kHW}{S^2}×C=HWk\frac{HW}{S^2}C$ - Value 행렬 곱 연산량
$S^2×\frac{HW}{S^2}×\frac{kHW}{S^2}×C=HWk\frac{HW}{S^2}C$
- Q-K 행렬 곱 연산량
⇒ 전체 연산량은 $2HWk\frac{HW}{S^2}C$ 이다.
최종 연산량
- 평균 기하 부등식 적용하여 3번째 줄부터 4번째 줄에 대한 식을 나타내었다.
$a+b+c≥3⋅(a⋅b⋅c)^{1/3}$ - 마지막에 전개된 식을 통해서 complexity를 구하면 다음과 같다.
$$ O(3Ck^{\frac{2}{3}}(2HW)^\frac{4}{3}) $$
우선 원하는 방향은 $HW$가 증가할 때 연산량이 어떻게 변하는지를 분석하는 것이다. 따라서 위와 같이 두 번째 항만 고려하면 된다.
$O(3Ck^{\frac{2}{3}}(2HW)^\frac{4}{3})= O(2^{\frac{4}{3}}(HW)^{\frac{4}{3}})=O((HW)^{\frac{4}{3}})$
이때, $3Ck^{\frac{2}{3}}$을 무시하게 되는데 이 항이 $HW$에 비해 상대적으로 작기 때문이다.
적절한 S값은?
S값이 작으면 많은 작은 region이 생성되지만 Region-to-Region Routing의 연산량이 증가한다. S값이 크다면 적은 큰 region이 생성되는데 이 경우 Token-to-Token Attention의 연산량이 증가한다. 이러한 Trade-off 관계를 가지고 있기 때문에 적절한 Region Partition Factor S값을 찾기 위한 가정을 찾을 필요가 있다.
즉, 두 개의 연산량이 균형을 이루는 지점을 찾고자 한다.
- 적절한 S를 찾기 위해 S가 어떤 식에 들어가 있는지 확인하였을 때, 다음 두 식에 존재한다.
$$ FLOP_{S_{attn}}=2HWk\frac{HW}{S^2}C $$
$$ FLOP_{S_{routing}}=2(S^2)^2C $$ - 두 개의 연산량이 균형을 이루는(=비슷한 크기를 가지는) S값을 찾아야 전체 연산량을 최소화할 수 있기에 다음과 같은 식을 푼다.
$$ S^4C≈HWk\frac{HW}{S^2}C $$- $S^4=HWk\frac{HW}{S^2}$
- $S^6=k(HW)^2$
- $S=(\frac{k}{2}(HW)^2)^{\frac{1}{6}}$ → 최적이기 위한 S 값 가정
따라서 최적의 S 설정은 $S=(\frac{k}{2}(HW)^2)^{\frac{1}{6}}$ 이다.
Experiments
실험 결과 Table에서 일부 몇몇 모델 옆에 “*” 표시가 되어있는데, 이는 추가로 token labeling으로 학습된 모델을 의미한다.
token labeling 이미지 패치를 토큰으로 간주하고 각 패치에 대한 레이블을 제공하는 방식이다.
1. Image Classification on ImageNet-1K
Experimental Setup
- 데이터셋: ImageNet-1K
- 학습 에포크: 300 epochs
- 옵티마이저: AdamW, weight decay 0.05
- Learning Rate: 초기값 0.001, cosine decay, 5 epoch warm-up
- 배치 크기: 1024
- 데이터 증강 기법: RandAugment, MixUp, CutMix, Random Erasing, Stochastic Depth
- FLOPs 계산 입력 크기: 224×224
📏 실험 메트릭
- Top-1 Accuracy (%): 모델이 정답 클래스를 정확하게 예측한 비율
📊 실험 결과
- BiFormer-T는 81.4% 정확도를 달성했으며 기존 baseline 보다 성능이 높다.
- BiFormer-S, BiFormer-B의 경우 baseline 의 최고 성능을 넘지 못하였지만, token labeling을 적용하여 학습을 진행하였을 때 기존 basline 보다 성능이 높다.
- 기존 Vision Transformer 모델과 비교했을 때, 비슷한 FLOPs에서 더 높은 정확도를 보여주었다.
2. Object Detection and Instance Segmentation on COCO
Experimental Setup
- 데이터셋: COCO 2017
- 프레임워크: MMDetection 사용
- 백본 초기화: ImageNet-1K 사전 학습 가중치 적용
- 학습 에포크: 12 epochs (1× schedule)
- Optimizer: AdamW
- 초기 학습률: 1e-4
- Weight Decay: 1e-4 (RetinaNet), 5e-2 (Mask R-CNN)
- 입력 크기: 짧은 변 800px, 긴 변 최대 1333px
📏 실험 메트릭
- mAP (Mean Average Precision) 등
- COCO 벤치마크에서는 AP를 다양한 IoU(Intersection over Union) 임계값과 객체 크기에 따라 구분하여 측정한다.
- Object Detection
- $mAP$ vs $AP$
- AP (Average Precision): 특정 IoU 기준에서 Object Detection 성능을 평가하는 지표이다.
- mAP (mean Average Precision): 다양한 IoU 기준에서의 AP 값들을 평균 내어 모델의 전체적인 Detection 성능을 나타낸다.
- $AP_{50?75?}$ → $IoU≥50,75\%$ 숫자가 높을수록 더 엄격한 기준이며, 객체 위치가 더 정확해야 좋은 점수를 얻을 수 있다.
- $AP_{S?M?L?}$
- Small objects(32x32 픽셀 이하 객체)
- Medium objects(32x32 ~ 96x96 픽셀)
- Large obejcts(96x96 픽셀 이상)
- $mAP$ vs $AP$
- Instance Segmentation
- $AP^b$ vs $AP^m$
- $AP^b$ (Bounding Box AP): Object Detection에서 Bounding Box를 기준으로 한 AP 값을 의미한다.
- $AP^m$ (Mask AP): Instance Segmentation에서 Mask기반 AP 값을 의미한다.
- $AP^b$ vs $AP^m$
- Object Detection
📊 실험 결과
- Object Detection에 대해서는 기존 baseline과 비슷하거나 높은 성능을 달성하였다. 특히, Small object에 대한 AP 점수가 기존 모델보다 더 높게 나왔다.
- Instance Segmentation의 경우에는 모든 metric에 대해서 더 높은 성능을 달성하였다.
3. Semantic Segmentation on ADE20K
Experimental Setup
- 프레임워크: MMSegmentation 사용
- 백본 초기화: ImageNet-1K 사전 학습 가중치 적용
- 훈련 계획:
- Semantic FPN: 80k iterations
- UperNet: 160k iterations
- Optimizer: AdamW
- 배치 크기: 32
- 입력 크기: ADE20K 해상도에 맞게 변형
📏 실험 메트릭
- mIoU (Mean Intersection over Union)
- 다양한 객체(class)들의 픽셀 단위 분할 정확도를 평균적으로 측정
- MS mIoU (Multi-Scale Mean Intersection over Union)
- 단일 resolution이 아니라 여러 resolution을 적용하여 편가를 진행하고 mIoU 수치를 계산한 것이다.
📊 실험 결과
- BiFormer는 기존 baseline보다 더 높은 mIoU를 기록하며 semantic segmentation에서도 효과적임을 입증하였다.
4. Visualization of Attention Map
📊 실험 결과
- Bi-Level Routing Attention(BRA)의 동작을 이해하기 위해, query 위치별로 Attention되는 영역을 시각화하였다.
- 시각화 결과, query 위치가 같은 의미적 영역(예: 건물, 나무, 마우스)에 집중하는 경향을 보이며, 이는 BRA가 의미적으로 연관된 토큰을 효과적으로 선택함을 보여준다.
- 특히 BRA는 멀리 떨어진 객체 간의 관계도 잘 포착하며, 이는 장거리 종속성을 효율적으로 모델링할 수 있음을 시사한다.
Conclusion
- Dynamic & Query-aware 방식으로 가장 관련성이 낮은 key-value piar를 region 수준에서 미리 필터링하는 Bi-level Routing Attention 제안하였다.
- 적절한 region partition 크기를 설정할 경우 $O((HW)^{4/3})$ 의 복잡도를 달성함을 입증하였다.
- 새로운 Vision Transformer 모델인 BiFormer를 제안하며 Image Classification, Object Detection, Instance Segmentation, Semantic Segmentation 등의 비전 작업에서 뛰어난 성능을 보였다.
⇒ 즉, globally with high efficiency 한 attention 을 제안.