논문 제목: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
제안 모델: Vision Transformer
<논문 리뷰 목차>
- 배경
- 선행 모델
- 제안 모델의 차별점
- 제안모델
- ViT 모델 아키텍처
- Fine-Tuning & Higher Resolution
- 평가 방법
- 평가 결과 분석
- 논문의 기여점 및 한계점
- 느낀점
[1. 배경]
1) 선행 모델
- Transformer를 시작으로 Bert, GPT 등 여러 NLP task 다루는 모델 등장
- 컴퓨터 비전 분야에서, 여전히 Convolution 아키텍처가 압도적
- CNN-like 아키텍처에 self-attention 접목시키는 연구가 활발히 진행됨
- 미해결 문제점
- 현실적인 input 사이즈만큼 scale 되지 않음 → 특수화된 어텐션 패턴을 사용하기 때문에 현대 하드웨어 가속기에서 효과적으로 확장되지 않음. → So, 대규모 이미지 인식에서는 여전히 고전적인 ResNet 유사 아키텍처가 최첨단
- 미해결 문제점
2) 제안 모델의 차별점
- 비슷한 기존 모델과의 비교
- Cordonnier et al. (2020)의 모델
- 선행 모델 요약: 입력 이미지에서 2x2 크기의 패치를 추출하고 그 위에 전체 self-attention을 적용
- ViT와 매우 유사
- 선행 모델의 한계: 작은 해상도의 이미지에만 적용 가능
- 제안 모델의 차별점:
- 추가적으로 대규모 사전 훈련을 통해 vanilla Transformer가 최첨단 CNN만큼 또는 그 이상의 성능을 보여줌
- ViT는 중간 해상도 이미지도 처리 가능
- 선행 모델 요약: 입력 이미지에서 2x2 크기의 패치를 추출하고 그 위에 전체 self-attention을 적용
- image GPT 모델 (iGPT, Chen et al., 2020a)
- 선행 모델 요약: 이미지 해상도와 색 공간을 줄인 후 이미지 픽셀에 Transformers를 적용
- 생성 모델로 비지도 방식으로 훈련되며, 분류 성능을 위해 선형으로 미세 조정하거나 탐색
- ImageNet에서 최대 72%의 정확도를 달성
- 제안 모델의 차별점:
- 이미지 인식을 ImageNet보다 더 큰 scale에서 탐구
- 선행 모델 요약: 이미지 해상도와 색 공간을 줄인 후 이미지 픽셀에 Transformers를 적용
- Cordonnier et al. (2020)의 모델
[2. 제안 모델]
1) (제안모델, ViT)의 모델 아키텍처
- fixed-size patches로 이미지를 split = Flattening
- Linear Projection (Patch Embedding Projection)
- Position Embeddings 추가
- vector sequence를 Transformer의 encoder를 통해 이미지가 잘 요약된 결과 추출
- 분류를 위해, classification token 추가
2) Fine-Tuning & Higher Resolution
- Fine-Tuninig 시, 해상도 설정: 더 높은 해상도 및 Patch Size 동일 → Sequence 길이 증가
- Fine-Tuninig 시 : Pre-trained Position Embedding은 더 이상 의미가 없음
- Pre-Trained Position Embedding을 2D 보간(Interpolation)을 수행
- º 사전 훈련 때보다 더 높은 해상도로 Fine-Tune 하는 것이 성능에 도움이 됨
3) 평가 방법
- 학습 데이터셋
- ImageNet-1k( 1.3 M) 2. ImageNet-21k( 14 M) 3. JFT-18k(303M)
- 전이학습 시킬 데이터 셋 : 19-Task VTAB
- Natural : Pet, CIFAR Specialized : Medical이나 위성 이미지 Structured : 기하학(Geometric)과 지역적(Localization)인 이해가 필요
- 파라미터에 따른 ViT 모델 정의
- Base, Large: Bert 평가 기준과 동일, Huge 기준 추가
- Base, Large: Bert 평가 기준과 동일, Huge 기준 추가
- Patch Size
- 표현방법: 16*16 patch 사이즈의 경우 → ViT-L/16으로 표현
- (참고) Patch 사이즈가 작을수록 compuational 비용 증가
- Hybrid 아키텍처
- Sequence Length : Patch의 크기 제곱의 반비례 → 패치가 작아지면, 계산량 증가
- ResNet50 - 4 stage 사용
- ResNet50 - 3 stage 사용(단, Layer 수 유지) → 4배 더 긴 Sequence 길이
- ∵ Feature map 크기 증가되므로
- º ResNet : Batch Normalization → Group Normalization & Weight Standardization 사용
- 학습 파라미터, Fine-Tuning
- 활성화 함수: Adam 옵티마이저 사용
- batch_size: 4096
- high weight decay: 0.1
- Fine Tuning
- SGD, 모멘텀 사용
- Batch size: 512
- 해상도 변경 : 1. ViT-L/16 : 512 2. ViT-H/14: 518
- 평가지표
- few-shot 이나 Fine-Tuning 정확도
- Fine-Tuning 정확도
- 각 모델을 해당 데이터셋에 대해 미세 조정한 후의 성능을 측정
- few-shot 정확도
- 훈련 이미지의 일부에 대한 고정된(frozen) 표현을 {-1, 1}^K 타겟 벡터로 매핑하는 정규화된 최소 제곱 회귀 문제를 해결하여 습득
- Fine-Tuning 정확도
- 주로 Fine-Tuning 성능에 중점을 두지만, Fine-Tuning이 너무 비용이 많이 들 경우 - 빠른 즉석 평가를 위해 linear few-shot 정확도를 사용
- few-shot 이나 Fine-Tuning 정확도
[3. 평가 결과 분석]
- JFT-300M 데이터셋에서 사전 훈련된 ViT는 모든 데이터셋에서 ResNet 기반의 베이스라인을 능가하며, 사전 훈련에 필요한 계산 자원도 상당히 적게 소요 + 더 작은 데이터셋에서도 성능 우수
- pre-trained 모델을 전이학습 시킨 결과, 모든 task에서 ViT가 뛰어난 성능을 보임
- 큰 데이터셋에서 pre-trained 할 경우 성능이 더 좋음. 작은 데이터셋에서 pre-trained 할 경우 성능이 조금 떨어짐.
- 작은 데이터셋에서의 성능도 개선시키기 위해, weight decay, dropout, label smoothing 진행
- ViT는 일반적으로 동일한 계산량을 가진 ResNet보다 더 나은 성능 보임. ViT는 동일한 성능을 달성하기 위해 약 2배에서 4배 적은 계산 자원을 사용. Hybrid 모델가 작은 모델 크기에서는 성능이 더 좋지만, 큰 모델에서는 차이가 없음
- 각 모델의 사전 훈련 비용 대비 성능(훈련 계산량)을 비교한 결과
- ViT의 성능이 아직 포화(Saturate) 되지 않음 → 성능이 더 좋아질 수 있음
[4. 논문의 기여점 및 한계점]
1) 기여점
- 자연어 처리(NLP)에서 많이 사용되는 Transformer를 최대한 유지한채 Vision Task에 적용
- 기존의 제한적인 Attetion 메커니즘에서 벗어나, CNN구조 대부분을 Transformer로 대체
- 입력(Input)단인 Sequences of Image Patch에서만 제외
- 대용량 데이터셋에 pre-train하고, Downstream task로 Finetuning 진행
- Small Image 데이터셋(ImageNet-1k, Cifar100)에서 Transfer Learning
- 훨씬 적은 계산 리소스로, 우수한 결과를 얻음
- 단, 많은 데이터를 사전 학습해야 된다는 제한사항 존재
- Medium-Resolution 이미지에도 적용 가능
2) 한계점
- locality와 translation equivariance 등의 이미지 특성이 CNN보다 덜 반영한다.
- 따라서, 충분하지 않은 양의 데이터로 훈련되었을 때 일반화가 잘 되지 않는다
- 현재까지의 결과는 고무적이지만, ViT를 객체 탐지(detection) 및 세그멘테이션(segmentation)과 같은 다른 컴퓨터 비전 작업에 적용하는 것이 여전히 도전 과제로 남아 있다
- 초기 실험에서는 자기 지도 학습 사전 훈련으로 개선이 이루어졌지만, 자기 지도 학습과 대규모 지도 학습 사전 훈련 간에는 여전히 큰 격차가 존재한다
- 이를 계속 탐구하는 것이 중요
- ViT의 추가 스케일링 필요
- ViT를 더욱 확장하면 성능이 향상될 가능성이 높다.
- 추가 연구와 실험이 필요
[5. 느낀점]
Text Task에서는 Transformer와 이를 활용한 여러 모델(BERT, GPT 등)들이 좋은 성능을 보며 Vision에 적용하는 연구에 관심으로 Clip 모델 및 변형 모델들을 봤었지만, ViT는 처음 접했다.
Self-Attention을 vision 분야에 적용하고자 하는 아이디어는 관심을 끌었지만, 이를 실제 Transformer 형태를 최대한 그대로 유지하면서 좋은 성능을 보였다는 점에서 매우 유익한 논문인 것 같다.