About me
home
Portfolio
home
🕊️

Swin Transformer 정리

기존 ViT의 문제점:
1.
연산량이 해상도의 제곱에 비례한다. (Quadratic computation complexity)
2.
segmantation과 같은 dense prediction이나 고해상도 이미지를 수행할 수 없다.

Shifted Window를 이용한 Transformer

Hierarchical한 Transformer 구조를 도입하여 self-attention 계산을 global이 아닌 non-overlapping local window로 제한하였다. 즉 각 window 내에서만 self-attention이 이루어진다.
Swin Transformer는 classification뿐만 아니라, Object Detection, Segmentation에서도 general backbone으로 사용되어 좋은 성능을 낸다.

ViT

Quadric complexity
해상도(H,W)가 커질수록 계산량은 제곱배로 커진다.
Global self attention
한 이미지에서 196개의 patch로 쪼개어 각 patch끼리 다 self-attention을 수행한다.

Swin Transformer

Linear complexity
M=7로 고정값이므로 2M22M^2도 고정값
window 내에서만 attention 계산
hierarchical한 구조
feature pyramid network처럼 작은 patch 4x4 에서 시작해 점점 patch들을 merge 해나가는 방식이다.

아키텍처

Patch Partition & Linear Embedding

Swin Transformer Block

Patch Merging

W-MSA

SW-MSA

Relative position bias