0. Abstract
Transformer 아키텍처를 이미지 패치 시퀀스에 적용한 Vision Transformer(ViT)는 CNN 없이도 이미지 분류 작업에서 뛰어난 성능을 발휘한다. ViT는 대규모 데이터로 사전 학습 후 전이 학습 시, 최첨단 CNN과 유사하거나 더 나은 성능을 보이며 학습 비용도 절감한다.
1. Introduction
Self-attention 기반 아키텍처(ex Transformer)가 자연어 처리(NLP)에서 주된 모델로 자리 잡았는데 컴퓨터 비전에서는 여전히 Resnet 유사 아키텍처가 최고 수준이다.
ViT
- 최소한의 수정으로 Transformer를 이미지에 적용함
- 이미지를 패치로 나눠 선형 임베딩 시퀀스를 Transformer에 입력으로 제공
- 결과
- 중간크기 데이터 셋: CNN보다 낮은 정확도 ( inductive bias 낮음)
- 충분히 큰 데이터 셋: 최첨단 성능에 도달, 능가
inductive bias( 귀납적 편향): 학습 데이터 이외의 새로운 데이터를 일반화하는데 사용되는 추가적인 가정
- Translation Equivariance (번역 등가성): 이미지의 위치가 변하더라도 동일한 특징을 학습하는 성질
- Locality(지역성): 이미지의 인접한 픽셀들이 상관관계를 가질 것이라 가정
2. Related work
이미지에 self-attention을 단순히 적용하면, 각 픽셀이 모든 다른 픽셀에 주의를 기울여야 하므로 픽셀 수에 따른 제곱 비용이 발생하며 현실적인 입력 크기에 확장하기 어려움.
- self-attention(Parmar et al., 2018): 국소적 영역 self-attention
- Sparse Transformer(Child et al., 2019): 전역 self-attention에 대해 확장 가능한 근사법
- Cordonnier et al.(2020): 2×2 픽셀 패치와 전역 self-attention을 사용 (소규모 해상도의 이미지에만 적용 가능)
- iGPT(Image GPT)(Chen et al.2020a): Transformer를 이미지 픽셀(이미지 해상도, 색 공간 축소)에 적용해 비지도 학습으로 생성 모델을 학습
ViT의 차별점: ImageNet과 같은 표준 데이터셋을 넘어 더 큰 규모의 이미지 인식을 탐구, 일반적인 Transformer를 바로 적용
3. Method
가능한 원래 Transformer 아키텍처를 거의 수정 없이 사용함.
ViT 작동 과정
- 이미지를 고정된 크기의 패치로 분할
- 각 패치를 linear projection
- position embedding 추가
- 학습가능한 class token을 앞에 추가
- transformer encoder에 입력
- transformer encoder 에서 class token 추출하여 MLP 로 분류
reshape : $ x \in \mathbb{R}^{H \times W \times C}$ -> $x_p \in \mathbb{R}^{N \times (P^2 \cdot C)}$.
(H,W): 원본 이미지 크기, C: 채널 수, (P,P): 이미지 패치의 크기,
$N=HW/P^2$: 패치의 수, transformer 입력 시퀀스 길이
학습 가능한 linear projection (E): D차원으로 투영
MSA: 다중 헤드 self-attention
MLP: 두개의 층과 GELU 비선형성
4. Experiments
ResNet, Vision Transformer(ViT), ViT(Hybrid)의 표현 학습 능력 평가.
Datasets
pre-training 학습 데이터 셋 | transfer learning 데이터 셋 |
|
Model Variants
ResNet (BiT): ResNet(He et al., 2016)의 Batch Normalization 레이어를 Group Normalization으로 교체
Comparision to State of art
비교대상: BiT, Noisy Student (반지도 학습을 사용한 Large EfficientNet)
- JFT에 대해 pre-trained된 ViT-L/16모델이 BiT-L보다 우월, pre-train시에 더 적은 계산 리소스가 필요
- 더 큰모델인 ViT-H/14는 더 많은 성능 향상
- ViT를 더 적은 데이터셋인 ImageNet-21k(14M)에서 pre-train시에도 성능이 좋음.
- Natural: Pets, CIFAR 등과 같은 작업.
- Specialized: 의료 및 위성 이미지.
- Structured: 위치 지정 등 기하학적 이해가 필요한 작업.
ImageNet, ImageNet-21k, JFT-300M(데이터셋 작은 순)에서 사전 학습
|
JFT-300M 전체 데이터셋과 하위 집합(9M, 30M, 90M)에서 모델을 훈련.
|
ViT의 첫번째 layer는 패치를 저차원 공간으로 선형투영
learnable matrix를 시각화-저차원의 CNN 와 유사함
- 이웃한 열, 행의 임베딩 값과 높은 유사도 가까운 패치는 높은 유사도.
- 동일한 열 & 행의 패치가 유사한 임베딩
Self-attention: ViT가 이미지의 정보 통합
주의 가중치를 기반으로 정보의 평균 거리 계산(한 픽셀에서 어느 정도 떨어져있는 픽셀까지 attend하는지 )
일부 head는 최하위 레이어에서 대부분 이미지에 주의를 기울여 정보를 통합하는 능력 사용.
네트워크 깊이에 따라 주의 거리가 증가, 전반적으로 모델은 분류에 의미 있는 이미지 영역에 주의를 기울임.
5. Conclusion
Transformer를 이미지 인식에 직접 적용하여 귀납적 편향을 최소화하고 이미지를 패치 시퀀스를 Transformer 인코더에 입력하였다.
ViT는 대규모 데이터 셋에서 최첨단 성능을 달성하였고 상대적으로 낮은 사전 학습 비용이 들었다.
도전과제
- ViT를 탐지 및 분할 등 다른 컴퓨터 비전 작업에 적용
- self-supervised 사전학습 방법 탐구
- ViT를 추가로 확장