안녕하세요. 오늘은 아주 이전에 리뷰했던 Swin Transformer의 확장판인 Swin Transformer V2를 리뷰해보도록 하겠습니다. 어떤 점이 달라졌는 지 위주로 보시면 더욱 재밌게 읽어볼 수 있는 논문입니다.
Background
최근 몇 년간 대규모 언어 모델(LLM, Large Language Model) 의 발전은 눈부셨습니다. 모델의 파라미터 수를 기하급수적으로 늘리는 스케일 업 전략만으로도 다양한 자연어 처리(NLP) 과제에서 성능이 꾸준히 향상되었고, few-shot 학습 능력까지 발현하면서 인간과 유사한 지능적인 언어 처리 능력을 보이고 있습니다. 예를 들어, BERT(3억 4천만 파라미터) 이후 GPT-3(1,750억), MT-NLG(5,300억), Switch Transformer(1.6조) 등으로 빠르게 확장되며 모델 크기는 수천 배 커졌습니다.
반면, 비전 모델(Computer Vision Model) 은 이러한 급격한 스케일 업 추세에서 다소 뒤쳐져 있었습니다. 분명히 모델 크기가 커질수록 시각 인식 성능이 향상된다는 사실은 잘 알려져 있었지만, 실제로는 10억~20억 파라미터 수준에 머물러 있었습니다. 또한 기존의 대규모 비전 모델들은 대부분 이미지 분류(Image Classification) 작업에 국한되어 있었고, 객체 탐지(Object Detection), 의미 분할(Semantic Segmentation), 영상 인식(Video Action Recognition) 같은 다양한 비전 태스크로의 확장은 부족했습니다.
이 격차를 줄이기 위해서는 비전 모델 특유의 문제점을 해결해야 했습니다. Swin Transformer V2 논문은 크게 세 가지 난제를 지적합니다:
- 훈련 불안정성(Training Instability) – 모델 크기를 키울수록 층이 깊어질 때 활성화 값(activation)이 폭발적으로 커져 학습이 무너지는 문제
- 해상도 전이 문제(Resolution Transfer Gap) – 사전학습은 저해상도, 실제 응용은 고해상도로 진행될 때 성능이 크게 떨어지는 문제
- 데이터 부족(Data Hunger) – 대규모 모델 학습에는 JFT-3B와 같은 초대형 라벨링 데이터셋이 필요한데, 현실적으로 확보가 어렵다는 한계
즉, Swin Transformer V2는 언어 모델처럼 “스케일 업이 곧 성능 향상”이라는 흐름을 비전 분야에서도 실현하기 위해, 위의 문제들을 해결할 수 있는 새로운 설계와 학습 전략을 제안한 논문이라고 할 수 있습니다. 본 논문의 핵심 기여를 정리하면 다음과 같습니다.
- 안정적 학습 → Residual Post-Norm과 Scaled Cosine Attention으로 대규모 모델에서도 학습 안정성 확보
- 해상도 전이 개선 → Log-Spaced Continuous Position Bias(Log-CPB)로 저해상도 pre-training → 고해상도 fine-tuning 간 성능 저하 최소화
- 데이터·메모리 효율성 → SimMIM(Self-supervised pre-training)과 ZeRO/Activation Checkpointing/Sequential Attention으로 적은 데이터·GPU 메모리로도 3B 모델 학습 가능
Swin Transformer V2
1) A Brief Review of Swin Transformer V1 (ICCV2021)

Vision Transformer(ViT)가 2020년 등장하면서 “이미지도 Transformer로 처리할 수 있다”는 가능성을 보여주었지만, ViT는 고정 크기 패치 기반의 전역 Attention만 사용했기 때문에 계산량 폭발과 dense vision task(예: 객체 탐지, 분할) 적용의 어려움이 있었습니다. Swin Transformer(ICCV 2021)는 이러한 한계를 극복하기 위해 등장한 범용 비전 백본입니다. 기존의 Swin Transformer의 핵심 아이디어를 요약하면 다음과 같습니다.
- 윈도우 기반 로컬 Self-Attention: 이미지를 작은 윈도우 단위로 나누어 Attention을 계산해 연산 효율성을 확보하고 이후 Shifted Window 전략을 도입하여 윈도우 간 정보교환도 가능하게 만들었습니다.
- 계층적 구조 (Hierarchical Representation): CNN처럼 해상도를 점차 줄이고 채널 수를 늘리는 계층적 구조를 적용하였습니다. 덕분에 Swin Transformer는 이미지 분류뿐만 아니라 탐지 및 분할 등 다양한 시각 과제에서 유연하게 사용할 수 있게 되었습니다.
- 시각적 귀납적 편향(Visual Priors) 반영: 단순 Transformer에 지역성(Locality), 계층성(Hierarchy), 이동 불변성(Translation Invariance) 같은 CNN의 장점을 접목시켰습니다. 이를 통해 범용적 비전 백본 모델로 자리잡게 되었죠.
Swin Transformer V1은 ImageNet-1K 분류, COCO 객체 탐지, ADE20K 의미 분할 등 여러 벤치마크에서 SOTA를 달성하였습니다. 특히, 단순히 분류 모델이 아니라 다양한 비전 태스크에 공통으로 적용 가능한 백본이라는 점에서 의미가 큽니다.
1-1) Normalization Configuration
딥러닝에서 정규화(Normalization) 는 안정적인 학습을 위해 필수적인 요소입니다. Swin Transformer V1은 언어 모델(Transformer)과 ViT의 전통을 따라 pre-normalization 구조(LayerNorm을 블록 앞에 배치)를 그대로 채택했습니다. 하지만 이 방식은 대규모 모델로 확장할 때, 층이 깊어질수록 residual 값이 누적되 activation 값이 과도하게 커지는 문제를 야기합니다. 즉, 작은 모델에서는 무난히 동작했지만, 큰 모델에서는 학습 불안정성의 원인이 되었습니다.
1-2) Relative Position Bias(RPB)
Transformer는 토큰 간 위치 정보가 중요하기 때문에 위치 인코딩(Position Encoding)을 필요로 합니다. Swin Transformer V1은 이를 위해 **Relative Position Bias (RPB)**를 도입했습니다. 기본적인 Attention 계산식은 다음과 같습니다.
$$\text{Attention}(Q, K, V) = \text{Softmax} \left( \frac{QK^{T}}{\sqrt{d}} + B \right)V$$
여기서 $B$는 relative position bias를 의미합니다. 기존의 Transformer는 convolution이 가지는 inductive bias가 부족하다는 한계점이 존재하였습니다. 이에 Transformer 계열 모델에서는 단순한 dot-product similarity에 더해 토큰 간의 상대적인 위치 관계를 반영할 수 있게 도와주는 위치 인코딩 방식을 채택하였습니다. 이는 특히 dense prediction task (object detection 또는 semantic segmentation)에서 매우 중요한 역할을 수행합니다. 다만, 윈도우 크기가 달라지는 경우 학습된 position bias를 단순히 bicubic interpolation으로 확장해야하는 문제점이 존재합니다.
1-3) Main Issues in Swin Transformer V1
요약하면 Swin Transformer는 다양한 비전 분야에서 성공을 거두었지만 scaling up 과정에서 다음과 같은 문제점이 드러났습니다.

- 훈련 불안정성 (Training Instability): 모델의 크기를 키울 수록 깊은 층의 activation 값이 폭발적으로 커져서 작은 규모에서는 문제가 없으며 수억 ~ 수십억 파라미터 규모로 가면 훈련 자체가 무너지는 현상이 발생하게 되었습니다. 그림 2에서 대규모 모델인 빨간색 선을 기준으로 보았을 때 pre-norm을 사용하게 되면 블록이 깊어질 수록 activation 분산이 기하급수적으로 증가하게 됩니다. 이는 신호가 폭발하면서 학습이 무너지는 결과를 초래하게 되죠. 또한, 그림 3에서도 볼 수 있다싶이 pre-norm을 적용한 파란색 선은 학습 초반부터 손실함수가 요동치다가 발산하는 것을 볼 수 있습니다.

- 해상도 전이 문제 (Resolution Transfer Gap): 사전학습은 보통 저해상도에서 진행되고 다운 스트림 태스크는 고해상도 이미지를 필요로 합니다. Swin V1에서는 이를 단순히 bicubic interpolation으로 해결하였지만 고해상도로 전이할 때 성능이 급격히 떨어지는 문제가 발생하였습니다. 실제로 표 1의 Parameterized Position Bias 행을 보면 사전 학습은 $256 \times 256$ 해상도 (W8 윈도우)에서 진행했는데 더 큰 해상도 또는 윈도우(W12 ~ W24)로 전이하면 성능이 크게 감소하게 됩니다 (81.7 → 68.7).
2) Scaling Up Model Capacity

Swin Transformer V1을 포함한 대부분의 Vision Transformer 계열은 기존의 Vanilla ViT에서 이어받은 구조를 그대로 사용했습니다. 즉, 각 블록의 시작 부분에 Layer Norm을 적용하는 Pre-Norm 방식을 채택하였죠. 하지만, 이는 모델의 규모를 늘리게 되면 문제가 발생합니다. Residual block이 출력이 곧바로 메인 브랜치에 더해지면서 층이 깊어질수록 activation 값이 점점 커지게 됩니다 (그림 2 참고). 그 결과 얕은 층과 깊은 층 사이의 진폭의 차이가 지나치게 커지게 되고 이는 훈련 불안정성으로 이어집니다. 결국, Pre-Norm 구조는 작은 모델에서는 괜찮지만, 대규모 모델로 확장할 때 학습이 무너지기 쉬운 구조라는 한계가 드러난 것입니다.
2-1) Residual Post-Norm
앞서 본 것 처럼 Pre-Norm 구조는 모델이 커질 수록 활성화 값이 누적되어 훈련이 불안정해지는 문제점을 가지게 됩니다. 이를 해결하기 위해 Swin Transformer V2에서는 Residual Post-Norm 방식을 제안합니다. 이는 그림 1에서 볼 수 있는 것처럼 residual block의 출력을 메인 브랜치에 더하기 전에 Layer Norm을 적용하는 방식입니다. 이렇게 하면 깊은 층으로 갈 수록 값이 커지는 현상을 방지할 수 있습니다. 추가적으로 대규모 모델을 학습할 때는 Transformer의 블록 6개마다 Layer Norm을 한 번 더 삽입하여 안정성을 강화하였습니다. 이는 그림 2에서 볼 수 있다싶이 Pre-Norm 대비 Post-Norm 구조에서는 activation amplitude가 훨씬 완만하게 유지되어 대규모 모델에서도 무너지지 않고 안정적인 학습이 가능해졌습니다.
2-2) Scaled Cosine Attention
Transformer의 핵심인 Self-Attention은 원래 쿼리-키의 내적(dot product)로 유사도를 측정합니다. 하지만, Swin Transformer를 대규모로 확장하는 경우 문제가 발생합니다. 내적 기반 유사도는 값의 크기에 따라 attention map이 크게 좌우됩니다. 특히 Residual Post-Norm 환경에서는 일부 픽셀쌍이 attention map 전체를 지배하는 현상이 자주 관찰되었다고 합니다. 그 결과 특정 영역에서만 과도하게 집중하면서 학습 불안정과 성능 저하를 초래하게 되었습니다.
이를 해결하기 위해 Swin Transformer V2에서는 Scaled Cosine Attention을 도입하였습니다.
$$\text{Sim}(q_{i}, k_{j}) = \frac{\text{cos}(q_{i}, k_{j})}{\tau} + B_{ij}$$
여기서, $\text{cos}(q_{i}, k_{j})$는 쿼리-키 사이의 코사인 유사도입니다. 이는 벡터 크기에 영향 받지 않고 각도를 기준으로 비교할 수 있게 만들어줍니다. 그리고 $\tau$는 각 head과 layer마다 다르게 학습되는 파라미터로 0.01보다 크게 설정됩니다. 그리고 $B_{ij}$는 픽셀 간 상대적 위치를 반영해주는 위치 바이어스 값입니다. 여기서 코사인 함수는 항상 -1 ~ 1 사이의 값을 가지기 때문에 attention 값이 극단적으로 치우치지 않고 attention 분포가 고르게 유지되고 훈련 안정성이 유지되게 해줍니다.
3) Scaling Up Window Resolution
비전 모델을 사전학습 단계에서 저해상도 영상을 주로 사용하지만 실제 다운 스트림 태스크에서는 고해상도 영상을 사용하게 됩니다. 이 과정에서 해상도 전이 문제가 발생하게 되죠. Swin Transformer V1은 RPB를 단순히 bicubic interpolation으로 스케일링하였지만 이 방식은 고해상도 전이 시 성능이 크게 떨어지는 한계가 있었습니다.
3-1) Continuous Relative Position Bias (CPRB)
Swin Transformer V1에서는 RPB를 직접 파라미터화해서 학습하였습니다. 하지만, 이 방식은 윈도우 크기가 달라질 때 전이가 매끄럽지 못하다는 한계가 있었습니다. Swin Transformer V2에서는 RPB를 직접 학습하지 않고 작은 메타 네트워크 (meta network) $\mathcal{G}$를 사용합니다.
$$B(\Delta x, \Delta y) = \mathcal{G}(\Delta x, \Delta y)$$
이때 메타 네트워크는 임의의 좌표 입력에 대해 bias 값을 생성할 수 있기 때문에 윈도우 크기가 바뀌더라도 bias를 자연스럽게 전이할 수 있게 됩니다. 또한, 추론 단계에서 미리 bias 값을 계산하여 저장해놓으면 되기 때문에 실제 추론 속도는 기존 방식과 동일합니다.
3-2) Log-Spaced Coordinates
Swin Transformer V2에서는 윈도우 크기가 크게 달라질 때 발생하는 외삽 (Extrapolation) 문제를 해결하기 위해 Log-Spaced Coordinate를 도입하였습니다. 보통 사전학습에서는 작은 윈도우 $8 \times 8$에서 진행되고 미세 조정 단계에서는 더 큰 윈도우 $16 \times 16$을 사용합니다. 이때 좌표 범위가 두배로 늘어나기 때문에 기존 선형 좌표계에서는 새로운 좌표를 맞추기 위해 외삽해야할 범위가 넓어집니다. 이는 모델이 그만큼 학습한 범위를 넘어선 좌표를 다루어야하기 때문에 성능 저하가 발생하게 되죠.
따라서, 본 논문에서는 단순히 선형으로 두지 않고 Log-Space로 변환하게 다룹니다.
$$\begin{cases} \Delta c_{x} &= \text{sign} (x) \cdot \log (1 + |\Delta x|) \\ \Delta c_{x} &= \text{sign} (y) \cdot \log (1 + |\Delta y|) \end{cases}$$
이렇게 하면 좌표가 커질수록 변화량이 완만해지기 때문에 큰 윈도우로 전이할 때도 외삽비율이 훨씬 감소하게 됩니다. 실험(Table 1)에서 확인된 것처럼, Log-Spaced CPB는 기존 방식보다 큰 윈도우 전이에서 성능을 안정적으로 유지하며 가장 좋은 결과를 보여주었습니다.
4) Self-Supervised Pre-training
대규모 모델일 수록 더 많은 학습 데이터를 요구합니다. 하지만 수십억 장 규모의 라벨링 데이터를 확보하는 것은 현실적으로 매우 어렵고 비용도 막대합니다. 본 논문에서는 이미지 일부를 가리고(Mask) 모델이 이를 복원하게 학습하는 방식으로 Self-Supervised Pre-training 방식 중 하나인 Self-Supervised Masked Image Modeling (SMIM) 방식을 채택하여 학습하였습니다.
5) Implementation to Save GPU Memory
대규모 모델을 고해상도 이미지로 학습하려면 GPU 메모리 소모가 엄청납니다. 예를 들어, 30억 파라미터 모델을 일반적인 방식으로 학습하면 GPU 48GB 이상이 필요해 사실상 불가능합니다. Swin Transformer V2는 이를 해결하기 위해 세 가지 메모리 최적화 기법을 도입했습니다.
5-1) ZeRO Optimizer (Zero-Redundancy Optimizer)
기존 Data Parallel 방식에서는 모든 GPU에 전체 파라미터 + 옵티마이저 상태가 복제되어 메모리를 과도하게 사용합니다. ZeRO는 이를 GPU들 간에 분산 저장해 메모리 사용량을 크게 줄여줍니다. DeepSpeed 프레임워크의 ZeRO stage-1을 활용했으며, 속도 저하는 거의 없습니다.
5-2) Activation Checkpointing
Transformer는 중간 Feature Map(Activation)도 메모리를 많이 차지합니다. Checkpointing 기법은 중간 값을 저장하지 않고, 필요할 때 다시 계산해 메모리를 절약합니다.
5-3) Sequential Self-Attention Computation
초고해상도 입력(예: 1536×1536, 윈도우 크기 32×32)에서는 A100 40GB GPU로도 부족합니다. 이를 해결하기 위해, 배치 단위(batch)로 계산하던 Self-Attention을 순차적으로 계산하는 방식을 도입했습니다.
이 세 가지 기법 덕분에 Swin Transformer V2는 30억 파라미터 모델을 A100-40GB GPU에서 학습할 수 있었고, COCO 객체 탐지(1536×1536 해상도) 및 Kinetics-400 행동 인식(320×320×8 해상도) 등의 대규모 비전 벤치마크에서 성공적으로 실험할 수 있었습니다.
Experiment Results
1) Classification Results

2) Object Detection

3) Semantic Segmentation

4) Action Classification

5) Ablation Study
5-1) Res-Post-Norm and Cosine Attention

5-2) Comparison with Other Normalization Methods

5-3) Log-CPB using Different Model Sizes
