IT/Paper

[Transformer] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT)

성진팍 2021. 3. 18. 15:49

(아직 작성중)

Google research 논문

CNN에 대한 의존없이 image patch를 word처럼 (Image를 patch (16*16)으로 나누어서 Word처럼 넣었음) 사용하여 classification task가 가능했음을 보여주었음. sota CNN에 버금가는 결과였고 computational 리소스는 훨씬 적었음

 

 

<Method>

1) VISION TRANSFORMER (VIT)

보라색 글씨는 positional embedding.

${N = HW/P^2}$ N은 transformer의 sequence length. (즉 몇 개의 patch인지)

Patch Embedding : 각 patch를 eq1에 mapping함

Positional Embedding: 각 patch의 위치정보를 유지하기 위해, patch embedding에 더해진다.

Transformer Encoder는..

Multi-headed self attention 이랑 MLP 로 구성된다. Norm은 Layer normalization 사용되었으며 각 block이전에 적용되었고, residual connection은 각 black이후에 적용된다.


Hybrid Model
이미지를 패치로 나누는 대신, ResNet 중간 feature map에서 인풋 시퀀스를 만들수도 있다. Hybrid Model 에서는 Eq1 을 ResNet ealry stage로 대체한다. 
Transformer의 input을 좀 바꾸는 방법인듯

 

2) FINE-TUNING AND HIGHER RESOLUTION

일반적으로 큰 데이터셋에 대해 vision transformer을 한번 pre train하고 downstream task에 대해 fine 튜닝을 한다. 하여 fine tuning시에 pretrain prediction head는 제거하고 0으로 초기화한 feedforward layer(${D*K}$)를 추가한다. K=the number of downstream

fine tuning할때 더 높은 해상도의 이미지를 주면 patch 크기는 동일하니 그 패치 영역이 보는게 작아질텐데..? 시퀀스 length가 길어질거고

그럼 이때 pretrained position embedding은 의미가 없겠군

 

 

 

 

 

 

 

arxiv.org/abs/2010.11929