Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
Summary
본 논문은 Vision Transformer(ViT)가 컴퓨터 비전 분야에서 새로운 패러다임으로 자리잡았음에도 불구하고, 언어와 달리 다양한 규모의 시각적 요소를 다루어야 하는 비전 특성상 몇 가지 한계를 지닌다고 지적한다. 특히, 고정된 크기의 패치로 이미지를 분할하여 학습·추론하는 구조적 특성 때문에 저해상도 이미지 분류와 같은 과제에는 강점을 보이지만, 고해상도 정보가 필수적인 시맨틱 세그멘테이션 등의 작업에는 취약하다. 이를 해결하기 위해 본 연구는 지역적 self-attention을 통해 메모리 사용량과 연산 비용을 크게 줄이고, shifted window 전략을 도입하여 인접 영역 간의 정보까지 효과적으로 학습할 수 있도록 설계하였다. 이러한 구조적 개선을 통해 Swin Transformer는 고해상도 시각 과제에서도 우수한 성능을 달성하며, 범용 비전 백본으로서의 가능성을 입증한다.
Method

내가 바보인가 논문이 불친절한건가... 아무튼 이제 이렇게 보면 무슨 말인지도 모르고, 실제로 위의 그림이 적절한지는 잘 모르겠다. 논문의 설명 순서가 Swin Transformer 우선 설명 → 전체 과정 설명이었으면 얼마나 좋았을까~ 하는 생각. 일단은 Swin Transformer은 각 Stage마다 Linear Embedding → Swin Transformer Block을 거친다는 것과, Stage가 올라갈수록 패치 수는 적어지는 반면(해상도가 줄어듦) 각 패치에 대한 표현 벡터는 더욱 깊어진다는 것을 우선 숙지하면 될 것이다.
Swin Transformer
기존 Transformer의 문제점에 대해서 생각해보자. 전체 시퀀스 $d$에 대해서 Self-Attention을 하는 경우 $O(d^2\cdot C)$(여기서 $C$는 각 토큰의 임베딩 차원이다)가 되기 때문에, 연산량 자체가 시퀀스 길이에 대해서 quadratic하게 늘어난다. 이는 고해상도 이미지에 대한 학습/추론을 하는 경우 메모리 및 연산량 부담이 빠르게 증가한다는 문제점이 있다.
따라서 이 문제에 대해서 Swin Transformer은 Local Self-Attention을 제시한다. 토큰 임베딩 차원 $C$에 대해서, $d=H\times W$만큼의 시퀀스에 대한 전체 self-attention을 하지 않고 정해진 패치 사이즈 내부에서만 self-attention을 진행한다. 즉 local self-attention을 할 기본 패치 크기가 $2\times 2$인 경우, 내부 4개의 시퀀스에 대해서만 self-attention을 진행하는 것이다. 메모리는 해상도가 증가하더라도, 그만큼 생겨나는 패치 개수에 선형적으로 비례하여 연산량이 증가하는 것을 확인할 수 있다. 즉 연산량은 $O(d'^2\cdot M \cdot C)$(여기서 $M$은 패치 개수)가 되는 것이다. 이것을 W-MSA라고 부른다.
당연히 제기되는 문제는, 이렇게 지역적으로만 self-attention을 적용하게 되어 지역 간 정보를 반영하지 못하여 성능이 떨어진다는 것이다. 본 논문에서는 Shifted window 전략을 통해서 해당 방법을 해결한다.

배움이 부족한 필자이지만, 이 내용에 관해서 논문에서는 너무 사족을 많이 붙인 것 같아 필요한 부분만 설명하도록 하겠다.
한 번 local self-attention을 적용한 이후, 각 토큰마다 새로운 임베딩을 얻었을 것이다. 위의 그림에서 cyclic shift를 보면 바로 이해가 될 것이다.
Cyclic shift를 적용한 후 다시 패치 단위로 local self-attention을 적용한 후 각 토큰에 대한 임베딩을 갱신하고, 움직였던 부분을 원래 위치로 복원해준다. 이것을 SW-MSA라고 부른다.
이렇게 W-MSA → SW-MSA를 거치게 되는 경우 임베딩은 단순히 지역 내부 관계를 고려한 임베딩이 나올 뿐만 아니라 shifting에도 불구하고 일관적인 결과값을 내게 하도록 유도되기 때문에 지역 간 관계를 고려한 임베딩이 완성되는 것이다. 추가적으로, 각 스테이지마다 W-MSA → SW-MSA의 과정이 여러 번 반복될 수 있다고 논문에서 명시한다. 아래 수식을 참고하면서 더 디테일하게 확인해보자.

추가적으로 Position bias에 대해서도 살펴보자. 기본적으로 transformer라고 한다면, sequence가 인풋으로 들어오는 과정에서 positional embedding을 통해서 위치에 대한 정보를 추가하는 것이 기본적으로 알고 있는 내용일 것이다.
그러나 본 논문에서는 self-attention 과정에서 학습 가능한 위치 관련 패러미터를 제시한다.


이제야 위의 그림을 설명할 수 있다. 초기 이미지가 $H \times W \times 3$($3$은 RGB)로 들어오는 경우 패치 단위(여기서는 $4\times 4$로 한다)로 쪼개면 $H/4 \times W/4 \times (4\times 4 \times 3)$이 되고, 이것이 Stage 1의 인풋이 되는 것이다.
Linear embedding은 간단한 linear projection($Wx +b$)를 의미한다. Transformer Block 아래에 보이는 $\times N$은 W-MSA → SW-MSA를 $N$번 반복한다는 의미이다.
이렇게 Stage를 지날 때마다 인접한 패치끼리 합치기 때문에(여기서 차원 축소도 일어나기는 한다) 해상도는 줄어들지만, 임베딩 벡터 자체의 차원은 커지는 것을 확인할 수 있다.
Experiments
논문의 문제제기와 method에서 설명한 방법이 실제로 효과적인지 확인하자. 중점은 (1) 이 방법이 메모리/연산에 있어서 효율적인가 (2) Sementic segmentation과 같은 고해상도 관련 테스크를 잘 수행하는가이다.

더 높은 정확도를 내면서도 상당히 낮은 FLOPs를 가지는 것을 확인할 수 있다. 패러미터 사이즈 또한 작기 때문에 메모리면에서 효율적임을 알 수 있다.

Object detection, 즉 고해상도에 어울리는 테스크에서도 우수한 성적을 가져온 것을 확인할 수 있다. 마지막으로 shifting window를 적용한 결과와 적용하지 않은 결과가 얼마나 차이나는지 , 그리고 position에 관한 논문의 방법론이 어떤 효과가 있는지에 대한 실험 결과도 확인해보자.

이만 이번 논문 리뷰는 여기서 마치도록 하겠다!!~~
'논문 리뷰 > CV' 카테고리의 다른 글
| One-step Diffusion with Distribution Matching Distillation 논문 리뷰 (0) | 2026.05.16 |
|---|---|
| ResNeXt 논문 리뷰 (0) | 2025.09.26 |
| SwAV 논문 리뷰 (0) | 2025.09.26 |
| Barlow Twins 논문 리뷰 (3) | 2025.08.29 |
| Noisy Student 논문 리뷰 (1) | 2025.08.29 |