논문 리뷰

[논문 리뷰] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

AIstarter 2024. 7. 19. 02:00

논문 제목: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

 

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to rep

arxiv.org

 

제안 모델: Vision Transformer

 

<논문 리뷰 목차>

  1.  배경
    • 선행 모델
    • 제안 모델의 차별점
  2.  제안모델
    • ViT 모델 아키텍처
    • Fine-Tuning & Higher Resolution
    • 평가 방법
  3. 평가 결과 분석
  4. 논문의 기여점 및 한계점
  5. 느낀점

[1. 배경]

1) 선행 모델

  • Transformer를 시작으로 Bert, GPT 등 여러 NLP task 다루는 모델 등장
  • 컴퓨터 비전 분야에서, 여전히 Convolution 아키텍처가 압도적
  • CNN-like 아키텍처에 self-attention 접목시키는 연구가 활발히 진행됨
    • 미해결 문제점
      • 현실적인 input 사이즈만큼 scale 되지 않음 → 특수화된 어텐션 패턴을 사용하기 때문에 현대 하드웨어 가속기에서 효과적으로 확장되지 않음. → So, 대규모 이미지 인식에서는 여전히 고전적인 ResNet 유사 아키텍처가 최첨단

2) 제안 모델의 차별점

  • 비슷한 기존 모델과의 비교
    1. Cordonnier et al. (2020)의 모델
      • 선행 모델 요약: 입력 이미지에서 2x2 크기의 패치를 추출하고 그 위에 전체 self-attention을 적용
        • ViT와 매우 유사
      • 선행 모델의 한계: 작은 해상도의 이미지에만 적용 가능
      • 제안 모델의 차별점:
        • 추가적으로 대규모 사전 훈련을 통해 vanilla Transformer가 최첨단 CNN만큼 또는 그 이상의 성능을 보여줌
        • ViT는 중간 해상도 이미지도 처리 가능
    2. image GPT 모델 (iGPT, Chen et al., 2020a)
      • 선행 모델 요약: 이미지 해상도와 색 공간을 줄인 후 이미지 픽셀에 Transformers를 적용
        • 생성 모델로 비지도 방식으로 훈련되며, 분류 성능을 위해 선형으로 미세 조정하거나 탐색
        • ImageNet에서 최대 72%의 정확도를 달성
      • 제안 모델의 차별점:
        • 이미지 인식을 ImageNet보다 더 큰 scale에서 탐구

[2. 제안 모델]

1) (제안모델, ViT)의 모델 아키텍처

  1. fixed-size patches로 이미지를 split = Flattening
  2. Linear Projection (Patch Embedding Projection)
  3. Position Embeddings 추가
  4. vector sequence를 Transformer의 encoder를 통해 이미지가 잘 요약된 결과 추출
  5. 분류를 위해, 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) 평가 방법

  • 학습 데이터셋
    1. 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 기준 추가
  • Patch Size
    • 표현방법: 16*16 patch 사이즈의 경우 → ViT-L/16으로 표현
    • (참고) Patch 사이즈가 작을수록 compuational 비용 증가
  • Hybrid 아키텍처
    • Sequence Length : Patch의 크기 제곱의 반비례 → 패치가 작아지면, 계산량 증가
    º Hybrid : Intermediate Feature Map을 입력으로 사용 → Patch Size 1x1
    1. ResNet50 - 4 stage 사용
    2. 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이 너무 비용이 많이 들 경우 - 빠른 즉석 평가를 위해 linear few-shot 정확도를 사용

[3. 평가 결과 분석]

  1. JFT-300M 데이터셋에서 사전 훈련된 ViT는 모든 데이터셋에서 ResNet 기반의 베이스라인을 능가하며, 사전 훈련에 필요한 계산 자원도 상당히 적게 소요 + 더 작은 데이터셋에서도 성능 우수
  2. pre-trained 모델을 전이학습 시킨 결과, 모든 task에서 ViT가 뛰어난 성능을 보임
  3. 큰 데이터셋에서 pre-trained 할 경우 성능이 더 좋음. 작은 데이터셋에서 pre-trained 할 경우 성능이 조금 떨어짐.
    • 작은 데이터셋에서의 성능도 개선시키기 위해, weight decay, dropout, label smoothing 진행
  4. 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 형태를 최대한 그대로 유지하면서 좋은 성능을 보였다는 점에서 매우 유익한 논문인 것 같다.