상세 컨텐츠

본문 제목

[5주차/백서경/논문리뷰] An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale(2021)

2023 Summer Session/CV Team 2

by bravesk 2023. 8. 5. 15:01

본문

해당 글은 노션에서 작성되었습니다. 이미지를 포함한 자세한 내용은 https://western-hortensia-8e0.notion.site/An-Image-Is-Worth-16x16-Words-Transformers-for-Image-Recognition-at-Scale-2021-ed4c78a65b4345fc89b2eff811185558?pvs=4 를 참고해주세요!

1. Introduction

[ NLP ] Transformer (self-attention based architectures)

  • large text corpus에 대해 pre-train하고, smaller task-specific dataset에 대해 fine-tune하는 것이 dominant approach

[ CV ] convolutional architectures

  • CNN-like architecture에 self-attention을 사용하는 시도가 있었지만, not yet been scaled efficiently
  • 여전히 ResNet-like architecture가 SOTA

[ 방법론 요약 ]

  • standard transformer를 최소한의 변형만 하여 image에 그대로 적용
  • image를 patch로 쪼갠 후 patch들의 linear embedding sequence를 transformer에 input으로 줌
  • image patch는 NLP에서의 token(words)와 같게 취급
  • supervised image classification에 실험
  • ImageNet과 같은 mid-sized dataset에 적용할 시 기존 모델보다는 낮을 성능을 보여줌.
  • Transformer는 CNN과 달리 translation equivariance나 locality 같은 inductive bias가 부족하기 때문에 generalization이 잘 안되는 것
  • 14M-300M의 larger dataset으로 학습한 결과, large scale training trumps inductive bias
  • 충분한 양의 data로 pre-train한 ViT는 더 적은 data의 task로 transfer 됐을 때 좋은 결과를 보임

3. Method

3.1. Vision Transformer (ViT)

  • standard Transformer가 1D token embedding sequence를 input으로 받는다
  • 2D image를 1D로 embedding 하기 위해, 한 image를 image patch xp로P: resolution, C: Channel, N: 총 patch 수(HW/P^2)
  • Transformer는 모든 layer에서 constant latent vector size D의 input을 받으므로, patch를 flatten한 후 D dimension으로 mapping
  • D dimension으로 mapping하는 linear projection
  • positional information을 보존하기 위해 patch embedding에 position embedding이 더해지고, 이 embedding vector가 encoder의 input이 됨
  • Transformer encoder는 multiheaded self-attention layer, MLP block으로 구성됨
    • 모든 block의 이전에는 LayerNorm이, 이후에는 residual connection이 적용됨

[ Inductive Bias ]

ViT는 CNN보다 image-specific inductive bias가 부족함

  • CNN은 locality, 2D neigborhood 구조, translation equivariance가 모든 layer에 주어져 있음
  • ViT에서는 MLP layer만 local, translation equivariant 하고 self-attention layer는 global함
  • position embedding은 patch간 2D position 정보는 담고 있지 않아 모든 spatial realtion이 scratch에서 학습되어야 함

[ Hybrid Architecture ]

raw image patch 대신에 feature map을 input sequence로 줄 수도 있음

 

관련글 더보기

댓글 영역