ViT의 한계: 전체를 한 번에 보는 부담
ViT와 DeiT가 Transformer 시대를 열었지만, 그들이 가진 근본적인 제약은 여전히 남아있었습니다. 바로 Self-Attention의 특성에서 비롯되는 계산 복잡도 문제였습니다.
ViT는 이미지를 고정된 크기의 패치(Patch) 시퀀스로 만들어, 모든 패치 토큰 간의 관계를 한 번에 계산합니다.
- 이미지 토큰의 수가 $N$일 때, Self-Attention의 복잡도는 $O(N^2)$ 입니다.
이 $O(N^2)$ 복잡도는 이미지의 해상도가 높아지면 기하급수적으로 증가합니다. 특히, 객체 검출(Object Detection)이나 의미론적 분할(Semantic Segmentation)과 같이 고해상도의 밀집 예측(Dense Prediction)이 필요한 비전 작업에서는 ViT를 적용하는 것이 사실상 불가능했습니다.
“순수한 Transformer는 분류(Classification)에는 최고지만,
영역(Localization)을 다루는 복잡한 작업에는 비효율적이다.”
2021년, 마이크로소프트 리서치 아시아(MSRA)는 이 문제를 해결하고 Transformer를 범용 비전 백본(General-Purpose Vision Backbone)으로 끌어올린 Swin Transformer를 발표합니다.
해결책: CNN의 '계층 구조'를 Transformer에 이식하다
Swin Transformer의 이름은 Shifted Window에서 따왔습니다. 그 핵심 아이디어는 Transformer의 장점인 Attention을 유지하면서도, CNN의 장점인 계층적 표현과 선형 복잡도를 흡수하는 것이었습니다.
1. 지역적 Attention (Local Window Attention)
Swin Transformer는 전체 이미지 대신, 이미지를 겹치지 않는 작은 영역(Non-overlapping Window)으로 나눕니다. 그리고 Attention 연산을 오직 그 Window 내부의 토큰들 사이에서만 수행합니다.
- Window 크기를 $M \times M$ (예: $7 \times 7$)으로 설정하면, Attention의 복잡도는 $O(M^2)$이 됩니다.
- 전체 이미지 토큰 수 $N$이 아무리 커져도, 각 Window 내부의 Attention 복잡도는 $O(M^2)$로 고정됩니다.
- 전체 네트워크의 복잡도는 $O(N)$에 가까운 선형 복잡도로 대폭 감소합니다.
2. 계층적 피처맵 (Hierarchical Feature Maps)
기존 ViT는 토큰 크기를 일정하게 유지했습니다. Swin Transformer는 CNN처럼 점진적으로 토큰을 병합하여 계층적인(Hierarchical) 피처맵을 생성합니다.
- 초기 레이어: 작은 Window로 세밀한 지역적 특징을 파악.
- 후기 레이어: 토큰을 병합(Patch Merging)하여 Window 크기를 키우고, 더 넓은 영역의 추상적인 특징을 파악.
이 구조 덕분에 Swin Transformer는 다양한 해상도의 이미지와 다양한 비전 태스크(분류, 검출, 분할)에 유연하게 적용될 수 있습니다.
Shifted Window: 정보 교환의 설계
Window Attention만 사용하면 문제가 발생합니다. 각 Window가 고정되어 있어 인접한 Window 간의 정보 교환이 완전히 차단되는 것입니다. 이는 CNN의 Convolution 필터가 겹치면서 정보를 전달하는 방식과 비교해 큰 약점입니다.
Swin Transformer는 이를 해결하기 위해 Shifted Window라는 기법을 도입했습니다.
- 일반 Window (Regular Window): 첫 번째 Swin Transformer Block에서는 Window를 고정된 격자로 나눕니다.
- Shifted Window: 다음 Swin Transformer Block에서는 이 Window의 경계를 일정량(예: $\lfloor M/2 \rfloor$) 이동(Shift)시킵니다.
이 Window의 경계가 Shift 되면서, 이전 블록에서는 서로 다른 Window에 속해있던 토큰들이 다음 블록에서는 하나의 Window 안에 묶이게 됩니다. 이 과정을 통해 인접 Window 사이의 정보 교환이 효과적으로 이루어지고, 전체 이미지에 대한 전역적 시야를 부분적으로 확보하면서도 선형 복잡도를 유지할 수 있게 됩니다.
Swin Transformer의 의의: 새로운 백본의 표준
Swin Transformer의 등장은 비전 분야의 패러다임 전환을 완성했습니다.
CNN의 장점 (계층 구조, 선형 복잡도) + Transformer의 장점 (전역적 관계 파악, Attention)을 결합함으로써, Swin Transformer는 ViT의 성능을 뛰어넘는 동시에 객체 검출, 분할 등 밀집 예측 태스크에서 CNN 기반 모델들을 압도했습니다.
- Swin Transformer는 ImageNet 분류뿐만 아니라 COCO(객체 검출)와 ADE20K(분할) 등 복잡한 벤치마크에서 새로운 SOTA(State-of-the-Art) 기록을 세우며, 이후 모든 비전 태스크의 기본 백본(Backbone)으로 빠르게 채택되었습니다.
Swin Transformer의 성공은 Transformer가 더 이상 단순한 '이미지 분류 모델'이 아니라, CNN을 대체하는 '새로운 범용 시각 인프라'로 완전히 자리 잡았음을 선언하는 순간이었습니다.
참고 문헌
Liu, Z., Lin, Y., Cao, Y., Hu, H., Wei, Y., Zhang, Z., Lin, S., & Guo, B. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030. (ICCV 2021)
이전 글: DeiT (Data-efficient Image Transformers), 2021 — 데이터 효율을 높인 비전 트랜스포머 (딥러닝 이미지 분류 시리즈 3부 ②)
DeiT (Data-efficient Image Transformers), 2021 — 데이터 효율을 높인 비전 트랜스포머 (딥러닝 이미지 분류
Transformer, 데이터의 장벽에 부딪히다 ViT (Vision Transformer)의 등장은 딥러닝 비전 분야에 혁명을 가져왔지만, 동시에 극복해야 할 명확한 한계를 드러냈습니다.ViT가 ResNet과 같은 CNN 모델을 능가하
bitwizx.tistory.com
다음 글: BEiT (Bidirectional Encoder Representation from Image Transformers), 2021 — 이미지에 '단어'를 부여하다 (딥러닝 이미지 분류 시리즈 3부 ④)