Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, Baining Guo · Microsoft Research Asia · ICCV 2021

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

이 논문은 Vision Transformer를 CNN과 같은 관점에서 본다 — 이미지의 계층적 표현과 지역(local) 연산이라는 두 가지 귀납적 편향을 Transformer 구조에 도입함으로써, 분류뿐 아니라 물체 감지·분할까지 아우르는 범용 비전 백본의 가능성을 증명한다.

arXiv →
Vision Transformer Shifted Window Attention Hierarchical Feature Map Image Classification Object Detection Backbone Semantic Segmentation

문제의 배경 — 기존 연구의 한계

컴퓨터 비전은 오랫동안 CNN이 지배해 왔다. AlexNet 이후 VGG, ResNet, EfficientNet으로 이어지는 발전은 모두 합성곱 연산을 중심으로 이루어졌다. 반면 NLP에서는 Transformer가 표준이 되었고, 2020년 ViT(Vision Transformer)가 이미지 패치를 토큰으로 삼아 순수 Transformer를 비전에 적용하는 데 성공했다. 하지만 ViT를 범용 비전 백본으로 쓰기에는 두 가지 근본적인 한계가 있었다.

한계 1 단일 해상도 특징 맵(Fixed-resolution Feature Maps) — ViT는 전 레이어에 걸쳐 동일한 해상도의 특징 맵을 생성한다. CNN 기반 백본이 FPN(Feature Pyramid Network)처럼 다해상도 계층 표현을 만들어 물체 감지·분할에 활용하는 것과 달리, ViT는 이러한 구조와 직접 호환되지 않는다. 16×16 패치 토큰이 처음부터 끝까지 유지되므로, 작은 물체는 잡기 어렵다.
한계 2 이미지 크기에 이차(O(N²)) 복잡도 — ViT의 전역 셀프 어텐션(global self-attention)은 패치 수 N에 대해 O(N²)의 계산·메모리 비용을 요구한다. 224×224 이미지에서 16×16 패치를 쓰면 N = 196이지만, 800×800의 고해상도 객체 감지 입력에서는 N = 2500이 되어 실용적으로 처리할 수 없다.
"Challenges in adapting Transformer from language to vision arise from differences between the two domains, such as large variations in the scale of visual entities and the high resolution of pixels in images compared to words in text."

언어에서 비전으로 Transformer를 적용하는 데 있어 어려움은 두 도메인 간의 차이에서 비롯됩니다 — 시각적 개체의 크기가 크게 달라지고, 텍스트의 단어에 비해 이미지의 픽셀 해상도가 훨씬 높다는 점입니다.

슬라이딩 윈도우 셀프 어텐션(sliding window self-attention) 방식도 연구됐지만, 서로 다른 쿼리 픽셀이 서로 다른 키 집합을 가져 하드웨어 메모리 접근이 비효율적이었다. 결과적으로 실제 추론 지연(latency)이 CNN 대비 훨씬 컸다.

보충 CNN이 가진 두 가지 귀납적 편향(inductive bias) — 지역성(locality)(가까운 픽셀끼리 상관성이 높다)과 평행 이동 불변성(translation invariance)(물체가 어디 있어도 같은 필터로 인식) — 이 비전 과제에서 왜 중요한지 수십 년의 신경과학·시각 연구가 뒷받침한다. ViT는 이 편향을 의도적으로 버렸고, 그 대가로 훨씬 많은 데이터(JFT-300M)가 필요했다.

결국 이 논문이 해결해야 할 문제는 명확했다: "계층적 특징 맵을 만들면서, 이미지 크기에 선형적인 복잡도를 유지하고, 범용 비전 백본으로 쓸 수 있는 Transformer를 어떻게 설계할 것인가?"

이 논문의 선택 — 핵심 아이디어와 트레이드오프

Swin Transformer는 두 가지 설계 결정을 중심으로 구성된다: (1) 윈도우 내 지역 어텐션으로 복잡도를 선형화하고, (2) Shifted Window 전략으로 윈도우 간 연결을 확보한다.

핵심 아이디어 1 윈도우 내 셀프 어텐션 (Window-based Self-Attention, W-MSA) — 이미지를 M×M 크기의 비중첩 윈도우(non-overlapping window)로 분할하고, 어텐션을 각 윈도우 내부에서만 계산한다. 이를 통해 계산 복잡도가 이미지 크기 hw에 선형(O(hw))이 된다.
핵심 아이디어 2 Shifted Window Partitioning (SW-MSA) — 인접 레이어에서 윈도우를 (M/2, M/2)만큼 이동시켜 이전 레이어의 윈도우 경계를 넘나드는 어텐션을 허용한다. 윈도우끼리 격리되는 문제를 해결하면서도 슬라이딩 윈도우의 메모리 비효율을 피한다.
핵심 아이디어 3 계층적 아키텍처 (Hierarchical Architecture) — Patch Merging 레이어로 점진적으로 해상도를 줄이고 채널을 늘린다. CNN의 Feature Pyramid와 동일한 구조: Stage 1 → H/4×W/4, Stage 2 → H/8×W/8, Stage 3 → H/16×W/16, Stage 4 → H/32×W/32. 이를 통해 FPN, U-Net 등 기존 밀집 예측 프레임워크와 즉시 호환된다.

Shifted Window가 왜 필요한가? 인터랙티브 시각화

레이어 l에서는 규칙적 윈도우 분할, 레이어 l+1에서는 윈도우를 이동시켜 이전 윈도우 경계를 가로지르는 어텐션이 형성됩니다.

레이어 l — 규칙 분할 (M=2 예시) 각 색 = 독립 윈도우 윈도우 간 어텐션 없음
레이어 l에서는 이미지가 M×M 크기의 비중첩 윈도우로 나뉘고, 각 윈도우 내부에서만 어텐션이 계산됩니다. 윈도우 간 정보 교환이 없습니다.
트레이드오프 무엇을 포기했는가? — 윈도우 내 지역 어텐션은 전역 수용장(global receptive field)을 희생한다. 레이어가 깊어질수록 Shifted Window로 수용장이 성장하지만, 한 레이어에서 멀리 떨어진 패치를 직접 연결하지는 않는다. NLP Transformer처럼 모든 토큰이 모든 토큰을 직접 보지 않는다. 대신 복잡도를 선형으로 줄이고 하드웨어 효율을 크게 높인 것이 이 트레이드오프의 핵심이다.

방법론

1. 전체 아키텍처

Swin Transformer는 4개의 Stage로 구성된다. 각 Stage는 Patch Merging(다운샘플링) + Swin Transformer Block(변환)으로 이루어진다. 여기서는 Swin-T(Tiny) 변형을 기준으로 설명한다.

입력 H×W×3 Patch Partition H/4×W/4×C Stage 1 2 Blocks H/4 × W/4 C=96ch Stage 2 2 Blocks H/8 × W/8 2C=192ch Stage 3 6 Blocks H/16 × W/16 4C=384ch Stage 4 2 Blocks H/32 × W/32 8C=768ch 출력 4 스케일 ▲ Patch Merging ▲ Patch Merging ▲ Patch Merging

2. Swin Transformer Block 내부 구조

각 Stage는 W-MSA 블록과 SW-MSA 블록이 교대로 쌍을 이루며 반복된다.

W-MSA 블록 (레이어 l) LN W-MSA + 잔차 연결 (Residual) LN MLP + z̃ˡ SW-MSA 블록 (레이어 l+1) LN SW-MSA + LN MLP + zˡ⁺¹ W-MSA (규칙 윈도우) SW-MSA (이동 윈도우) Pre-LN 구조: 각 서브레이어 이전에 LayerNorm을 적용(Post-LN보다 학습이 안정적) MLP: 2개의 FC 레이어 + GELU 활성화, 확장 비율 α=4 (d_model → 4×d_model → d_model)

3. 텐서 Shape 추적 — 데이터 플로우

224×224 RGB 이미지가 Swin-T를 통과할 때 각 단계에서 텐서의 형태가 어떻게 바뀌는지 확인하세요.

Input 224×224×3 Patch Partition 56×56×48 → Linear: 56×56×96 Stage 1 56×56×96 (유지) Stage 2 28×28×192 (2× 다운) Stage 3 14×14×384 (2× 다운) Stage 4 7×7×768 (2× 다운) Pool+Head 1000 logits
입력: RGB 이미지 [B, 224, 224, 3]. 먼저 4×4 패치 분할로 [B, 56, 56, 48] → Linear Embedding으로 [B, 56, 56, 96(=C)] 로 변환됩니다.

4. 수식 & 알고리즘

수식 1 — MSA vs W-MSA 복잡도 비교

\[ \Omega(\text{MSA}) = 4hwC^2 + 2(hw)^2C \] \[ \Omega(\text{W-MSA}) = 4hwC^2 + 2M^2hwC \]
변수의미비고
h, w특징 맵의 높이·너비 (패치 단위)예: Stage 1에서 h=w=56
C채널(임베딩) 차원Swin-T: C=96
M윈도우 크기 (M×M 패치)기본값 M=7
hw전체 패치 수 (= 이미지 크기에 비례)이차항 유무가 핵심

직관적 해설

두 수식의 차이는 마지막 항뿐이다. MSA는 2(hw)²C — 이미지 크기 hw의 제곱에 비례한다. 224×224 이미지(hw=3136 at 1/4 scale)에서는 (3136)²≈ 10M 쌍을 계산한다. W-MSA는 2M²hwC — M=7로 고정되므로 hw에 선형이다. 이미지가 4배 커져도 연산은 4배만 늘어난다.

직관: 전역 어텐션은 "반의 모든 사람과 악수"이고, 윈도우 어텐션은 "내 테이블 사람들하고만 악수"이다. Shifted Window는 레이어마다 테이블 배치를 바꿔 간접적으로 모든 사람과 연결된다.

수학적 유도

Self-attention의 주요 연산 비용: (1) Q,K,V 투영 3×hwC×C = 3hwC², 출력 투영 hwC×C = hwC² → 합계 4hwC². (2) QKᵀ 계산: 각 쌍에 대해 d차원 dot-product → 전역에서 (hw)² 쌍 × C = 2(hw)²C (행렬 곱은 대칭이므로 2 대신 2, 실제론 (hw)²/2 × 2 = (hw)²C지만 논문은 2(hw)²C로 표기). W-MSA: (hw/M²)개 윈도우에서 각각 M²개 패치 → M² 쌍 = (hw/M²)×(M²)² × C = 2M²hwC.

수식 2 — Swin Transformer Block 연산 순서

\[ \hat{z}^l = \text{W-MSA}(\text{LN}(z^{l-1})) + z^{l-1} \] \[ z^l = \text{MLP}(\text{LN}(\hat{z}^l)) + \hat{z}^l \] \[ \hat{z}^{l+1} = \text{SW-MSA}(\text{LN}(z^l)) + z^l \] \[ z^{l+1} = \text{MLP}(\text{LN}(\hat{z}^{l+1})) + \hat{z}^{l+1} \]
변수의미비고
z^l레이어 l의 출력 (MLP 이후)잔차 포함
ẑ^lMSA 서브레이어의 출력 (MLP 이전)잔차 포함
LNLayer NormalizationPre-Norm 방식
W-MSA / SW-MSA규칙/이동 윈도우 멀티헤드 셀프 어텐션레이어 l/l+1에 교대 적용

직관적 해설

각 블록은 "정규화 → 어텐션 → 잔차" 후 "정규화 → MLP → 잔차" 순으로 구성된다. Pre-LN(LN을 연산 이전에 배치)이 Post-LN보다 학습이 안정적임이 알려져 있다. 잔차 연결(+ z^{l-1})은 그래디언트 소실을 방지하고, 정보가 레이어를 건너뛰어 흐를 수 있도록 한다. MLP의 확장 비율 α=4는 d_model → 4d_model → d_model 구조를 만들어 비선형 표현력을 높인다.

수학적 유도

이 공식은 원래 Transformer의 블록 구조 (Vaswani et al., 2017)에서 직접 유래한다. 변화는 두 가지: (1) MSA가 W-MSA/SW-MSA로 교체, (2) 절대 위치 임베딩 대신 상대 위치 편향 B가 어텐션 내부에 포함된다.

수식 3 — 상대 위치 편향을 포함한 어텐션

\[ \text{Attention}(Q, K, V) = \text{SoftMax}\!\left(\frac{QK^T}{\sqrt{d}} + B\right)V \]
변수의미비고
Q, K, VQuery, Key, Value 행렬 ∈ ℝ^{M²×d}M²=49 (M=7일 때)
d각 헤드의 쿼리/키 차원d=32 고정
B상대 위치 편향 ∈ ℝ^{M²×M²}B̂ ∈ ℝ^{(2M-1)×(2M-1)}에서 참조

직관적 해설

B는 각 쿼리-키 쌍 간의 상대적 공간 거리를 어텐션 점수에 더해준다. 두 패치가 가까울수록(또는 특정 방향으로 관계될수록) 더 높은 편향을 줄 수 있다. 이 편향은 학습 파라미터이므로, 모델이 어떤 공간 관계가 중요한지 데이터에서 직접 학습한다. ViT의 절대 위치 임베딩(각 위치에 고정된 벡터를 더하는 방식)보다 일반화 성능이 좋다는 것이 에블레이션 연구(Table 4)에서 확인된다.

수학적 유도

상대 위치는 각 축에서 [-(M-1), M-1] 범위를 가진다(M=7이면 [-6,6]). 이를 [0, 2M-2]로 정규화하면 (2M-1)×(2M-1)=169개의 고유 상대 위치가 생긴다. B̂ ∈ ℝ^{(2M-1)×(2M-1)}를 파라미터화하고, 실제 쌍 (i,j)의 상대 위치 인덱스로 B̂를 참조하면 B ∈ ℝ^{M²×M²}를 얻는다. 이 방식은 M² × M²개의 파라미터 대신 (2M-1)²개만 필요해 효율적이다.

수식 슬라이더 — 윈도우 크기 M에 따른 W-MSA 복잡도 변화

보충 M을 변경하면 W-MSA의 어텐션 연산량이 어떻게 달라지는지 직접 확인해 보세요. h=w=56 (Stage 1, 224×224 입력), C=96 고정.

5. 핵심 알고리즘 — Shifted Window 배치 계산

스텝 1 / 5

6. 구현 세부사항 & 하이퍼파라미터

모델 변형 (Model Variants)

모델C레이어 수 (Stage 1~4)파라미터FLOPs처리량 (img/s)ImageNet top-1
Swin-T96{2, 2, 6, 2}29M4.5G755.281.3%
Swin-S96{2, 2, 18, 2}50M8.7G436.983.0%
Swin-B128{2, 2, 18, 2}88M15.4G278.183.5%
Best Swin-L192{2, 2, 18, 2}197M103.9G42.187.3% (22K pretrain)

윈도우 크기 M=7, 쿼리 차원 d=32, MLP 확장 비율 α=4 (모든 변형 공통). Swin-T, Swin-S는 ResNet-50, ResNet-101에 유사한 복잡도.

ImageNet-1K 훈련 설정

항목설정값
옵티마이저AdamW (β₁=0.9, β₂=0.999)
학습률초기 0.001, Cosine Decay
웜업20 에포크 선형 워밍업
에포크300
배치 크기1024
Weight Decay0.05
데이터 증강RandAugment, CutMix, Mixup, Random Erasing
정규화Stochastic Depth (비율 0.2)
하드웨어8× V100 GPU

보충 반복 증강(Repeated Augmentation)과 EMA는 DeiT와 달리 제외했다. ViT와 달리 Swin은 이 기법 없이도 안정적으로 학습된다 — 이는 귀납적 편향(지역성, 계층성)이 학습 안정성에 기여함을 시사한다.

결과

87.3%
ImageNet Top-1
Swin-L (22K pretrain)
58.7
COCO Box AP
+2.7 vs. 이전 SOTA
51.1
COCO Mask AP
+2.6 vs. 이전 SOTA
53.5
ADE20K mIoU
+3.2 vs. 이전 SOTA (SETR)

ImageNet-1K 분류 결과

방법이미지 크기#ParamFLOPs처리량(img/s)Top-1
Baseline ViT-B/16384²86M55.4G85.977.9%
Baseline DeiT-S224²22M4.6G940.479.8%
Baseline DeiT-B224²86M17.5G292.381.8%
Baseline RegNetY-16G224²84M16.0G334.782.9%
Ours Swin-T224²29M4.5G755.281.3%
Ours Swin-S224²50M8.7G436.983.0%
Ours Swin-B224²88M15.4G278.183.5%

Swin-T는 DeiT-S 대비 +1.5% 향상, Swin-S는 DeiT-B 대비 +1.2%, 더 높은 처리량으로. 처리량은 V100 GPU에서 측정.

ImageNet-1K vs ImageNet-22K 사전학습 비교

에블레이션 — Shifted Window & 위치 편향의 기여도

설정ImageNet Top-1COCO Box APCOCO Mask APADE20K mIoU
이동 없음 (w/o shifting)80.2%47.741.543.3
기본값 Shifted Windows81.3%50.543.746.1
위치 인코딩 없음80.1%49.242.643.8
절대 위치 임베딩 (abs. pos.)80.5%49.042.443.2
절대 + 상대 위치 (abs.+rel.)81.3%50.243.444.0
기본값 상대 위치 편향 (rel. pos.)81.3%50.543.746.1

평가 에블레이션에서 주목할 점: 절대 위치 임베딩은 ImageNet 분류에서 +0.4%를 주지만 물체 감지와 분할에서 오히려 성능이 떨어진다(-0.2 box AP, -0.6 mIoU). 이는 ViT의 선택(절대 위치 임베딩)이 분류에는 충분하나 범용 비전에는 최선이 아님을 보여준다.

COCO 물체 감지 — Swin-T vs ResNet-50 비교

Swin-T는 동일 프레임워크 내에서 ResNet-50 대비 일관되게 +3.4~+4.2 box AP 향상을 보입니다. 같은 검출 프레임워크, 동일한 설정, 백본만 교체.

실제 속도 비교 — 어텐션 방식별 FPS (V100)

Cyclic Shift 방식(755 img/s)은 이동 없는 윈도우(770)에 가까운 속도를 유지하면서, 나이브 슬라이딩 윈도우(183)보다 4× 빠릅니다.

한계점 & 트레이드오프

한계 1 제한된 단일 레이어 수용장 (Limited Single-Layer Receptive Field) — 한 Swin Transformer 블록에서 두 패치가 상호작용하려면 같은 윈도우(M×M=49 패치) 내에 있어야 한다. 레이어가 깊어짐에 따라 수용장이 성장하지만, 전역적 의존성을 포착하는 데는 ViT 전역 어텐션보다 더 많은 레이어가 필요할 수 있다. 특히 매우 장거리 의존성이 중요한 과제(예: 긴 시간 시퀀스의 비디오 이해)에서 약점이 될 수 있다.
한계 2 고정 윈도우 크기 M의 경직성 — M=7은 경험적으로 선택된 값으로, 다양한 해상도·스케일에 동적으로 적응하지 않는다. 매우 다른 입력 해상도(예: 의료 이미징의 고해상도 슬라이드)에서는 M 값을 재조정해야 한다.
한계 3 커널 최적화 미완성 — 저자 스스로 인정했듯이, PyTorch 내장 함수로 구현되어 ResNet에 적용된 고도로 최적화된 CUDA 커널(cuDNN)과 직접 비교하기 어렵다. "A thorough kernel optimization is beyond the scope of this paper." 실제 하드웨어에서의 지연 시간이 논문의 FLOPs 비교보다 불리할 수 있다.
한계 4 사전학습 데이터 요구량 — 최고 성능(87.3%)은 ImageNet-22K 사전학습을 요구한다. ImageNet-1K만으로는 84.5% 수준이며, 소규모 데이터셋에서의 성능은 충분히 검증되지 않았다.

트레이드오프 재정리

얻은 것포기한 것
이미지 크기에 선형적 복잡도 (O(M²hw))단일 레이어 전역 수용장
계층적 특징 맵 → FPN/UperNet 즉시 호환단순한 아키텍처 (ViT 대비 복잡한 Cyclic Shift + Masking)
하드웨어 효율적 메모리 접근 (동일 키 집합)고정 윈도우 크기 M — 동적 적응 어려움
이미지 분류 + 감지 + 분할 모두 SOTA커널 최적화 미완성 → 실제 지연 과소평가 가능성

영향력 & 후속 연구

Swin Transformer는 발표 당시 이미지 분류, 물체 감지, 의미론적 분할에서 동시에 SOTA를 달성한 최초의 순수 Transformer 기반 범용 비전 백본이다. 이후 비전 분야 연구의 흐름을 크게 바꾸었다.

주요 기여 Swin Transformer는 "Transformer가 비전의 범용 백본이 될 수 있다"는 명제를 단순한 분류를 넘어 감지·분할까지 증명했다. 이는 CNN 중심이던 비전 연구의 패러다임 전환을 촉발했다.

누구에게 도움이 되는가?

객체 감지, 인스턴스 분할, 의미론적 분할, 동영상 이해, 의료 이미지 분석, 위성/항공 이미지 처리 등 고해상도 입력을 다루는 모든 비전 과제에서 강력한 백본으로 활용 가능하다. Mask R-CNN, Cascade Mask R-CNN, UperNet 등 기존 프레임워크와 즉시 호환되어, 기존 파이프라인에 ResNet/ResNeXt를 Swin으로 단순 교체하는 것만으로 성능 향상을 얻을 수 있다.

저자가 제안한 후속 과제

언어와 시각을 통합한 범용 모델 — "It is our belief that a unified architecture across computer vision and natural language processing could benefit both fields." 실제로 이 방향은 이후 Florence, DALL-E, LLaVA 등 멀티모달 모델로 이어졌다.

Swin-Mixer (Appendix A3.3)

계층적 설계와 Shifted Window를 MLP-Mixer 아키텍처에도 적용한 실험을 논문 부록에서 보고한다. MLP-Mixer 대비 81.3% vs 76.4%로 크게 향상되어, Swin의 설계 원리가 Transformer뿐 아니라 다른 아키텍처에도 일반화됨을 시사한다.

Q&A — 연구자의 고민과 독자의 질문

왜 슬라이딩 윈도우가 아닌 Shifted Window인가?

슬라이딩 윈도우 어텐션은 이론적으로 윈도우 간 연결을 자연스럽게 제공하지만, 서로 다른 쿼리 픽셀이 서로 다른 키 집합을 사용하므로 하드웨어 메모리 접근이 비효율적이다 — 실제 지연 시간이 매우 크다(183 img/s). Shifted Window는 규칙 윈도우(W-MSA)와 이동 윈도우(SW-MSA)를 교대로 쌓아 간접적으로 전역 연결을 만든다. 같은 윈도우 내 패치들이 같은 키 집합을 공유하므로 하드웨어가 효율적으로 처리한다(755 img/s). Table 5가 이 차이를 정량적으로 보여준다.

상대 위치 편향이 절대 위치 임베딩보다 왜 더 나은가?

절대 위치 임베딩은 각 위치에 고정된 벡터를 더하는 방식으로, 사전학습 시 보지 못한 해상도에 대해 보간(interpolation)이 필요하다. 상대 위치 편향은 두 패치 간의 상대 거리에 의존하므로, 다른 이미지 크기로 전이할 때 더 잘 일반화된다. 에블레이션(Table 4)에서 절대 위치 임베딩을 추가하면 ImageNet 분류 +0.4%지만 COCO 감지와 ADE20K 분할에서 오히려 하락함이 확인된다 — 범용 백본에는 상대 위치 편향이 더 적합하다.

평가 이는 분류와 밀집 예측 과제의 귀납적 편향 차이를 보여주는 흥미로운 사례다. 분류는 위치에 무관한(translation invariant) 표현이 유리할 수 있지만, 감지·분할은 상대적 공간 관계가 더 중요하다.

Patch Merging은 어떻게 동작하며 왜 이 방식인가?

2×2 이웃 패치의 특징 벡터를 연결(concatenate)하면 4C 차원이 되고, 선형 레이어로 2C로 투영한다. 공간 해상도는 1/2로 줄고 채널은 2배 증가한다. CNN의 풀링/스트라이드 합성곱과 동일한 역할이다. Max Pooling이나 Average Pooling 대신 선형 투영을 쓰는 이유는 정보 손실을 최소화하고 학습 가능한 방식으로 다운샘플링하기 위해서다. 평가 논문은 명시하지 않지만, 이 설계는 PatchMerge가 연결(concat) 후 차원을 줄이므로 모든 서브패치의 정보를 학습적으로 통합할 수 있다는 장점이 있다.

Swin-T와 ResNet-50은 왜 비슷한 복잡도인가?

Swin-T(29M 파라미터, 4.5G FLOPs)와 ResNet-50(25M, 4.1G FLOPs)은 비슷한 규모로 설계되었다. 저자는 Swin-T를 DeiT-S와도 유사한 복잡도로 맞추어 공정한 비교를 의도했다. 하지만 Swin-T는 같은 FLOPs에서 ResNet-50보다 상당히 높은 성능(81.3% vs. ~76%)을 내므로, 효율성이 실질적으로 향상됐음을 보여준다.

이 결과가 다른 도메인에도 적용되는가?

논문 발표 이후 Swin Transformer는 다양한 도메인에서 성공적으로 적용되었다: Video Swin Transformer(동영상 이해), SwinIR(이미지 복원), SwinTransformer for Medical Image Segmentation, 위성 이미지 분석 등. 계층적 구조와 지역 어텐션은 이미지뿐 아니라 공간 구조가 있는 모든 데이터에 적합하다. 단, 순차 데이터(텍스트, 오디오)에는 Shifted Window 전략이 자연스럽게 적용되지 않는다.

코드와 사전학습 모델은 어디서 볼 수 있는가?

논문에서 직접 밝힌 공개 링크: https://github.com/microsoft/Swin-Transformer. PyTorch 구현과 ImageNet 사전학습 가중치, mmdetection/mmsegmentation 설정 파일이 포함되어 있다.

Swin Transformer V2와 어떻게 다른가?

평가 논문은 명시하지 않지만, 이후 발표된 Swin-V2는 여러 한계를 개선한다: (1) 학습 해상도 전이를 위한 log-spaced 연속 위치 편향, (2) 큰 모델 학습 불안정성을 해결하는 cosine attention, (3) 30억 파라미터까지 스케일링 가능한 설계. 이는 본 논문에서 남긴 고정 M, 사전학습 스케일 한계를 직접 해결한 것이다.

[부록] Appendix 추가 실험 & 세부사항

A1. 다양한 입력 크기에 따른 성능 (ImageNet-1K)

논문 Appendix A3.1에서 다양한 입력 해상도로 Swin Transformer를 평가했다. 더 큰 이미지 입력은 정확도를 높이지만 처리량이 감소한다.

입력 크기처리량 (img/s)FLOPsImageNet Top-1
224²278.115.4G83.5%
256²219.5-83.7%
320²82.1 → 132.0-84.0%
384²84.747.0G84.5%

A2. ADE20K 의미론적 분할 상세 설정

[부록 추가] Appendix에서 제공하는 추가 설정값:

항목
기반 프레임워크UperNet (mmsegmentation)
옵티마이저AdamW, 초기 lr=6×10⁻⁵, weight decay=0.01
스케줄러선형 학습률 감쇠, 1500 iteration 웜업
반복 횟수160K iterations
배치 크기GPU당 2장, 총 8GPU
입력 크기Swin-T/S: 512×512, Swin-B/L(22K): 640×640
Stochastic Depth비율 0.2 (모든 Swin 변형)
데이터 증강수평 뒤집기, [0.5, 2.0] 비율 리스케일링, 광도 왜곡
추론멀티스케일 테스트 [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]×

A3. Swin MLP-Mixer — 일반화 가능성 검증

[부록 추가] 계층적 설계와 Shifted Window를 순수 MLP 아키텍처에 적용한 Swin-Mixer 실험. 이는 본 논문의 설계 원리가 Transformer 특화가 아님을 증명한다.

방법이미지 크기#ParamFLOPs처리량Top-1
Baseline MLP-Mixer-B/16224²59M12.7G-76.4%
Baseline ResMLP-S24224²30M6.0G71579.4%
Ours Swin-Mixer-B/D24224²61M10.4G40981.3%

Swin-Mixer가 MLP-Mixer 대비 81.3% vs 76.4%로 크게 향상. "These results indicate the proposed hierarchical design and the shifted window approach are generalizable."

A4. ResNe(X)t를 위한 AdamW vs SGD 비교

[부록 추가] 논문은 ResNe(X)t 백본에 SGD 대신 AdamW를 사용하는 것이 공정한 비교를 위해 더 좋다고 밝힌다. AdamW를 쓰면 ResNe(X)t도 성능이 오르기 때문에 비교 기준이 올라가지만, Swin은 여전히 이를 넘어선다.

평가 이 설정은 공정한 비교를 위한 세심한 배려다. 단순히 SGD 사용 ResNe(X)t와 비교했다면 성능 차이가 더 크게 보였을 것이다. 저자는 보수적 기준으로 비교하여 결과의 신뢰도를 높였다.

원본 논문 Figure & Table

독자가 원본 논문의 어느 부분을 펴야 할지 바로 알 수 있도록, 논문의 주요 Figure를 원본 그대로 보존합니다.

Figure 1 — Swin vs ViT 아키텍처 비교
논문 p.1 (Figure 1): (a) Swin Transformer의 계층적 특징 맵 (4×4→8×8→16×16→32×32 다운샘플링). (b) ViT의 단일 해상도 특징 맵과의 비교. 주목할 점: Swin은 이미지 크기에 선형 복잡도(붉은 윈도우), ViT는 이차 복잡도.
Figure 2 — Shifted Window 접근법
논문 p.1 (Figure 2): 연속 레이어 l (규칙 분할)과 l+1 (이동 분할) 사이의 Shifted Window 전략. 이동으로 이전 레이어 윈도우 경계를 넘나드는 연결이 형성된다.
Figure 3 — Swin-T 전체 아키텍처
논문 p.3 (Figure 3): (a) Swin-T의 4-Stage 아키텍처 전체도. (b) 연속 두 Swin Transformer 블록(W-MSA + SW-MSA 쌍). W-MSA와 SW-MSA가 교대로 배치된 구조가 명확히 보인다.
Figure 4 — Cyclic Shift 메커니즘
논문 p.4 (Figure 4): Cyclic Shift를 이용한 효율적 배치 계산. 특징 맵을 왼쪽-위로 이동시킨 후, 동일한 수의 윈도우로 처리하고 어텐션 마스킹으로 비인접 서브윈도우를 차단한다.