AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
Summary & Key Contribution
본 논문은 기존의 CNN 구조 없이, 순수한 Transformer 구조만으로 이미지 분류를 수행할 수 있음을 최초로 보여준다.
핵심 아이디어는 이미지를 고정 패치로 분할하고, 이 패치를 토큰처럼 처리하여 NLP에서 사용되는 Transformer Encoder에 그대로 입력하는 것이다.
이러한 접근은 사전 훈련을 대규모 이미지 데이터셋에서 수행하고, 이후 소규모 데이터셋에 파인튜닝함으로써 기존 SOTA인 CNN기반 모델을 능가하는 성능을 입증한다.
또한, CNN 구조 모델의 locality나 translation equivariance 같은 inductive bias 없이도 충분한 데이터와 computation만 존재하면 학습 및 일반화가 가능하다는 것을 증명하였다.
1. Preliminary
Inductive Bias
우선 Bias라는 용어는 Bias and Variance에서 많이 들어봤듯이, 데이터에 관한 편향성을 의미한다. 즉 Bias가 높은 경우 데이터로부터 타겟과 연관성을 찾아내기 어려운, 과소적합의 문제가 발생한다.
여기서 Bias를 학습 알고리즘의 잘못된 가정에 의한 오차라고 부르기도 하는데, 이를 거꾸로 생각해볼 수 있다. 만약 그 가정 자체를 올바르게 한다면, 성능을 높일 수 있을 것이다. Inductive Bias란 모델이 학습 데이터 바깥의 새로운 데이터를 일반화(generalization)할 때, 올바른 예측을 하기 위해 사전에 주어진 구조적 가정이나 제한이고, 즉 학습을 잘 하기 위해 '설계된 편향'인 것이다.
- Linear Regression: 독립변수와 종속변수 간의 관계가 선형적이라 가정하고, 오차는 정규분포를 따른다고 가정한다.
- Decision Tree: 특정 feature의 값에 따라 데이터를 구분할 수 있다.
CNN 또한 inductive bias를 가지고 있다.
- Locality: 가까운 픽셀들끼리 더 높은 상관관계를 가진다고 가정한다. 즉, 지역적인 정보(작은 receptive field)만 먼저 보고 점차 큰 패턴을 인식하도록 설계되어 있다.
- CNN은 작은 Kernel을 통해서 국소적인 픽셀 정보들을 이용하여 정보를 추출하기 때문에, 공간적으로 가까운 정보일수록 더욱 연관이 있으며 중요하다는 귀납적 편향을 내포한다.
- Translation Equivariance: "이미지 상의 특정 패턴은 위치에 관계없이 동일한 의미를 가진다"는 가정이다. 특징이 이미지 내 어디에 있든 같은 방식으로 인식된다. 예를 들어, 고양이 귀가 왼쪽 위에 있든 오른쪽 아래에 있든, 동일한 convolution filter로 감지할 수 있다.
- 동일한 필터를 이미지 전체에 공유(weight sharing)하며 적용하기 때문이다.
Transformer with Inductive Bias
Transformer는 CNN 아키텍처에 비해서 inductive bias가 낮다. 그러한 이유는 self-attention에서 나오는데,
- CNN은 공간적으로 가까운 정보는 서로 연관이 있다고 가정하지만(filter), transformer은 모든 위치 쌍에 동일한 self-attention을 적용하기 때문에 가까운 것이 더욱 중요하다는 가정이 약하다.
- Transformer은 같은 사진에 위치 변화가 일어나는 경우 완전히 새로운 것으로 간주한다.
의문이 하나 들 수 있는 것은, CNN이 inductive bias 덕분에 적은 데이터 셋으로도 좋은 성능을 낼 수 있었다는 것에서 나온다. 왜 inductive bias를 포기하면서 ViT를 다루는지에 대해서 추후에 설명하도록 하겠다.
2. Structure
이 장에서는 ViT의 모델 구조에 관한 간략한 설명과 finetuning 과정에 대해서 다룬다.
Structure

기본적으로 Transformer은 1차원 토큰 임베딩 시퀀스를 입력으로 받는다. 따라서 이를 2D 이미지에 적용하기 위해서는, 입력 이미지를 평탄화된 2D 패치들의 시퀀스로 변형한다.
- $(H, W)$ : 원본 이미지의 해상도
- $C$ : 채널 수
- $(P, P)$: 각 이미지 패치의 해상도
- $N = HW/P^2$ : 생성된 패치 수(Transformer 입력 시퀀스의 길이)
그러나 Transformer은 고정된 인풋 차원 $D$ 를 받기 때문에,선형 변환을 거쳐야 한다. 여기서 주목할 점은, BERT의 [class] 토큰처럼 학습 가능한 임베딩을 두는데, 이는 해당 이미지 $y$에 대한 표현이 된다. 토큰은 이후 이미지 분류 레이어와 연결된다.
또한, 위치에 대한 정보를 추가하기 위해 1D position embedding을 추가한다. - (1)

(2): 이전 층의 출력을 LayerNorm → MSA(Multi-head Self-Attention)에 넣고 다시 residual connection으로 더함
- Layer Normalization: 레이어 정규화로 학습 안정성 유도
- 여러 개의 self-attention head로 global context 모델링
- Residual connection: 기존 입력을 더해 gradient 흐름 보존
(3): self-attention의 출력을 정규화한 후 MLP에 통과, 다시 residual connction
(4): 최종 인코더 층의 출력 층 [CLS] 토큰을 LayerNorm 후 최종 출력으로 사용
Fine-Tuning
일반적으로 ViT를 대규모 데이터셋에서 사전학습 후, 더 작은 다운스트림 테스크에서 파인튜닝한다.
Pretrain 작업에서는 대규모 데이터셋에서 학습되기 때문에, 분류할 테스크가 다운스트림 테스크와 맞지 않을 수 있기 때문에 마지막 레이어 $W$는 버리고, 새로운 분류기 레이어를 통해 학습한다.
또한 파인튜닝 시에 해상도를 높이는 경우가 성능 향상에 도움이 되는 것이 경험적으로 밝혀졌는데, 이 경우 $P$가 그대로이면 생성되는 이미지 패치 수가 늘어나 입력 시퀀스의 길이가 늘어난다. 물론 Transformer은 attention 기반 연산으로 입력 시퀀스 길이에는 문제가 없으나, 포지셔널 인코딩에는 왜곡 생길 수 있다.
따라서 2D interpolation을 통해서 포지셔널 임베딩을 조절한다.

이렇게 해상도를 조정하거나 패치를 추출하는 과정이, ViT 구조에 2D 이미지 구조에 대한 귀납적 편향을 수동으로 주입하는 부분이 된다.
3. Evaluation of ViT
다음과 같은 비교 모델을 통해 ViT의 우수성을 입증하였다.
| 모델명 | 설명 |
|---|---|
| BiT-L (Big Transfer) | ResNet152x4, supervised pretraining on JFT-300M |
| Noisy Student | EfficientNet-L2, semi-supervised (ImageNet + JFT300M unlabeled) |
| ViT-L/16, ViT-H/14 | Vision Transformer, pretraining on JFT-300M 또는 ImageNet-21k |

Summary
- ViT-L/16 (JFT-300M 사전학습)는 BiT-L보다 모든 task에서 더 나은 성능
- ViT-H/14는 모든 모델 중 최고 성능
- 연산량(TPU core-days) 도 BiT나 Noisy Student보다 훨씬 적음
- ImageNet-21k처럼 작은 공개 데이터셋을 써도, 꽤 괜찮은 성능 (85.3%)
Inspection

- 왼쪽 사진을 보면, 일부 필터는 가로, 세로, 대각선 엣지 감지처럼 보인다. 또한 색 대비나 고주파 패턴에 반응하는 경우도 보여, 이는 ViT도 CNN처럼 패치 내부의 로컬 구조를 학습하고 있음을 보여준다고 볼 수 있다.
- 가운데 사진에서, Position embedding이 서로 가까운 위치일수록 유사도가 높은 것으로 보아, ViT는 2D 공간 정보를 암시적으로 잘 포착할 수 있음을 보여준다.
- 오른쪽 사진에서는 ViT는 계층적으로 attention 범위를 넓혀가며 레이어가 깊어질수록 head가 더 멀리까지 attention을 주는 것을 확인할 수 있다. 얕은 레이어에서는 local/global attention이 혼재되어, 정보들이 고르게 통합되는 것을 보여준다.
Inductive Bias
왜 ViT는 굳이 Inductive Bias를 포기하는가에 대해서 설명하고자 한다. 우선 CNN의 장점과 한계를 확인하자:
| 장점 | 한계 |
|---|---|
| 적은 데이터에서도 generalization 가능 | 구조가 고정되어 있어 복잡한 관계 학습에는 제약 |
| local pattern 탐지에 최적화 | long-range dependency나 global context 통합이 어려움 |
| 효율적인 파라미터 공유 구조 | layer가 깊어져야만 global 정보 통합 가능 |
반면 ViT는 데이터로부터 관계를 어떠한 가정 없이 유연하게 학습할 수 있기에, 더 넓은 범위에서의 일반화가 가능한 것이다.
4. CNN vs ViT
| 기준 | CNN | Vision Transformer (ViT) |
|---|---|---|
| 데이터셋 크기 | 작은 데이터셋에서 강력함 (예: 수천 ~ 수만 장) |
큰 데이터셋에서 강력함 (수백만 장 이상, 또는 사전학습 필수) |
| 사전학습 여부 | 사전학습 없이도 꽤 좋은 성능 | 사전학습 없이 성능 떨어짐 (ImageNet-1k로는 한계) |
| 연산 자원 | 상대적으로 가볍고 빠름 | 메모리/연산량 많이 필요, 특히 훈련 시 |
| 로컬 정보가 중요한 task (ex. 엣지, texture 중심) |
강함 local pattern에 민감 |
약함 (locality가 inductive bias로 없음) |
| 글로벌 관계가 중요한 task (ex. 여러 물체 간 관계, 긴 거리 의존성) |
depth가 깊어야 가능 | 초기 layer부터 global attention 가능 |
| 설명 가능성 / 시각화 | Grad-CAM 등 많이 연구됨 | Attention map 등으로 해석 가능 (하지만 덜 직관적) |
| 전이 학습 flexibility | 상대적으로 덜 유연함 | 큰 모델에서 전이 성능 우수 (ViT-B → L → H) |
| 효율성 (모바일, IoT) | MobileNet, EfficientNet 등 존재 | 비효율적, 작은 모델 성능 약함 |
| 훈련 속도 / 안정성 | 일반적으로 빠르고 안정됨 | 학습 초기 불안정함 (warmup, regularization 필요) |
5. Conclusion
Vision Transformer(ViT)는 기존 CNN의 핵심적인 inductive bias 없이도, 충분한 데이터와 계산 자원이 뒷받침된다면 이미지 인식에서 뛰어난 성능을 발휘할 수 있음을 보여준다. 이는 모델이 패치 간의 관계를 스스로 학습하도록 하여, 기존의 국소적 구조에 얽매이지 않고 더 유연하게 global context를 통합할 수 있게 한다는 점에서 큰 의의가 있다.
비록 CNN은 작은 데이터셋, 로컬 패턴 중심의 문제에서 여전히 강력한 도구이지만, ViT는 대규모 사전학습을 통해 다양한 비전 태스크에 전이 가능성이 크고, 구조적으로 단순하면서도 학습 용량이 크다는 장점이 있다. ViT는 더 이상 CNN의 대체재가 아니라, 새로운 패러다임의 확장으로 볼 수 있으며, 앞으로 더 많은 hybrid 구조나 self-supervised 학습 기법과 결합될 가능성이 높다.
결국, 선택은 상황에 따라 달라진다. 적은 데이터, 빠른 연산, 로컬 특징 중심이라면 CNN이 여전히 우세하지만, 대규모 데이터셋, 전이학습, 글로벌 문맥 이해가 중요하다면 ViT 기반 접근이 점점 더 유리한 선택지가 되어가고 있다.
'논문 리뷰 > CV' 카테고리의 다른 글
| YOLO 논문 리뷰 (5) | 2025.08.11 |
|---|---|
| Faster R-CNN 논문 리뷰 (0) | 2025.08.10 |
| R-CNN 논문 리뷰 (3) | 2025.08.09 |
| CLIP 논문 리뷰 (1) | 2025.08.05 |
| EfficientNet 논문 리뷰 (3) | 2025.08.04 |