논문 링크: https://arxiv.org/abs/2103.14030
Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
This paper presents a new vision Transformer, called Swin Transformer, that capably serves as a general-purpose backbone for computer vision. Challenges in adapting Transformer from language to vision arise from differences between the two domains, such as
arxiv.org
OUTTA 논문 리뷰 링크: [2025-1] 임재열 - Swin Transformer
[2025-1] 임재열 - Swin Transformer
Swin Transformer는 2021년 Ze Liu 등이 제안한 모델입니다. [Swin Transformer]https://arxiv.org/abs/2103.14030 Swin Transformer: Hierarchical Vision Transformer using Shifted WindowsThis paper presents a new vision Transformer, called Swin Trans
blog.outta.ai
1. Abstract
- 새로운 비전 트랜스포머(“Swin Transformer”)를 제안
→ 컴퓨터 비전을 위한 범용(backbone) 모델로 사용 가능함을 보임 - Shifted Windowing 방식을 통해:
- 겹치지 않는 로컬 윈도우 내에서 Self-Attention을 제한 → 효율적 계산
- 윈도우 간 연결을 가능하게 하여 모델링 능력 극대화
- 계층적 아키텍처를 통해 다양한 스케일 모델링 + 이미지 크기에 대해 선형적 계산 복잡도 달성
- COCO: 기존 SOTA 대비 +2.7 Box AP, +2.6 Mask AP 향상
ADE20K: +3.2 mIoU로 큰 폭 개선
→ 트랜스포머 기반 모델이 비전 백본으로서 갖는 잠재력 입증
2. Introduction
- 언어(텍스트) vs. 비전(이미지)에서의 도전 과제
- 트랜스포머는 언어 모델에서 “단어 토큰”을 기본 단위로 처리하지만,
- 비전에서는 시각적 요소 크기가 매우 다양하여 객체 탐지 등에서 어려움 발생
- 모든 토큰을 고정 크기로 처리하는 기존 방식은 비전에 적합하지 않음
- 픽셀 해상도 문제
- 이미지의 픽셀 밀도는 텍스트 단어 밀도보다 훨씬 높음
- Semantic segmentation처럼 픽셀 단위 예측이 필요한 경우,
- 트랜스포머의 self-attention 복잡도가 이미지 크기의 제곱에 비례 → 고해상도 이미지 처리 시 비효율적
- Swin Transformer 제안
- 작은 패치에서 시작 → 계층이 깊어질수록 인접 패치 병합 → 점진적 계층적 표현 구성
- 서로 겹치지 않는 로컬 윈도우에서 self-attention 계산 → 선형 계산 복잡도 달성
- Shifted Window partitioning으로 연속적 윈도우 간 연결성을 확보 → 모델링 능력 향상
3. Method
3.1 Overall Architecture
- Swin-T(Tiny 버전)
- 입력 이미지를 패치로 분할(ViT 유사)
- 패치 크기: 4×4
- 각 패치: token으로 처리 (4×4×3 = 48차원 raw RGB값)
- Stage 1:
- Linear embedding 레이어로 차원 C로 임베딩
- Swin Transformer block 적용 → 해상도: (H/4 × W/4) 유지
- Stage 2:
- 패치 병합 레이어로 토큰 수 4배 감소(2×2 인접 패치 병합)
- 출력 차원 2C로 설정 후 Swin Transformer block → 해상도: (H/8 × W/8) 유지
- Stage 3, 4:
- 같은 방식 반복, 최종 해상도 (H/32 × W/32)
- 입력 이미지를 패치로 분할(ViT 유사)
- Swin Transformer Block:
- 표준 트랜스포머 블록의 Multi-Head Self-Attention(MSA)를 Shifted Window 기반 MSA로 대체
- MSA 뒤에 2층 MLP(GELU 활성화), 각 모듈 앞에 LayerNorm, 뒤에 Residual connection
3.2 Shifted Window based Self-Attention
- Non-overlapped Window 내 Self-Attention
- 전역(Global) 대신 로컬 윈도우 단위로 self-attention 계산
- 윈도우 크기 M×M 가정 시, 전역 대비 선형적 계산 복잡도 달성
- Shifted Window Partitioning
- 매 블록마다 윈도우를 ($\lfloor M/2 \rfloor$, $\lfloor M/2 \rfloor$)만큼 shift하여 분할
- 윈도우 간 연결(정보 교류) 부족 문제 해결
- Efficient Batch Computation
- Shift 과정에서 일부 윈도우가 M×M보다 작아질 수 있음 → 패딩 후 마스킹 기법 사용
- Cyclic-shifting & 마스킹 메커니즘으로 계산 효율 유지
- Relative Position Bias
- 위치 정보를 효율적으로 반영하기 위해 상대적 위치 바이어스(B) 사용
- 윈도우 크기(M)가 변해도 bi-cubic interpolation 등을 통해 학습된 바이어스 재사용 가능
- 이 바이어스 사용 시 성능 크게 향상
3.3 Architecture Variants
- Swin-B(기본), Swin-T, Swin-S, Swin-L
- 모델 크기와 계산 복잡도: 각각 0.25배(T), 0.5배(S), 2배(L)
- 기본 window 크기 M=7, 각 head 차원 d=32, MLP expansion ratio $\alpha=4$
- 첫 번째 stage의 채널 수=C
4. Experiments
- Image Classification on ImageNet-1K
- 1.28M 학습 이미지, 50K 검증 이미지(1000 클래스)
- 기본 모델 & ImageNet-22K 사전학습 후 ImageNet-1K 파인튜닝 모델로 실험
- Object Detection on COCO
- COCO 2017: 118K train, 5K val, 20K test-dev
- Swin Transformer 백본 + Detector(예: Mask R-CNN 등)로 성능 비교
- Semantic Segmentation on ADE20K
- 150개 카테고리, 20K train, 2K val, 3K test 이미지
- Swin Transformer 백본 + 세그멘테이션 헤드로 성능 측정
- Ablation Study
- Shifted Window 효과
→ ImageNet-1K: Top-1 정확도 +1.1%
→ COCO: Box AP +2.8, Mask AP +2.2
→ ADE20K: mIoU +2.8 - Relative Position Bias 효과
→ ImageNet-1K: Top-1 +1.2% / +0.8%
→ COCO: Box AP +1.3 / +1.5, Mask AP +1.1 / +1.3
→ ADE20K: mIoU +2.3 / +2.9 - Self-Attention 방식
→ Shifted Window vs. Sliding Window:- Swin-T 기준 4.1배 빠른 속도, Swin-B는 3.6배 빠름
- 정확도도 비슷하거나 더 우수