Vision Transformer(ViT)는 2020년 Google Brain이 발표한 논문 "An Image is Worth 16×16 Words"에서 제안된 모델입니다.
핵심 아이디어:
- CNN을 전혀 사용하지 않고 순수 Transformer만으로 이미지 분류
- 이미지를 고정 크기 패치(16×16)로 자르고, 각 패치를 "단어"처럼 취급
- NLP에서 검증된 Transformer 아키텍처를 그대로 비전에 적용
왜 혁명적인가?
- 2012년 AlexNet 이후 이미지 분류는 CNN의 독점 영역이었음
- ViT는 CNN의 귀납적 편향(locality, translation equivariance) 없이도 동작
- 충분한 데이터(JFT-300M)에서 학습하면 CNN을 능가하는 성능
- Transformer의 범용성을 증명 → NLP + Vision 통합의 시작
논문 제목이 말하는 것:
\text{"An Image is Worth 16×16 Words"}
→ 하나의 이미지는 16×16 크기의 "단어" 196개로 표현할 수 있다!
이후 DeiT, Swin Transformer, BEiT 등 수많은 Vision Transformer 변형이 등장했습니다.
왜 중요한가? ViT의 Self-Attention은 O(N²) 복잡도로, 고해상도 이미지(N=패치 수)에서 메모리와 계산량이 폭발합니다. 224×224에서 196패치는 괜찮지만, 1024×1024에서 4096패치면 어텐션 행렬이 16M 원소가 됩니다.
Swin Transformer는 윈도우 내에서만 어텐션을 계산하고, Shifted Window로 윈도우 간 정보를 교환합니다.
이로써 O(N)의 선형 복잡도를 달성하면서도 글로벌 정보 흐름을 유지합니다. 계층적 구조로 다운샘플링하여 FPN과 결합 가능하므로, 분류뿐 아니라 검출/분할에서도 ViT를 실용적으로 만든 핵심 혁신입니다.