(아직 작성중)
Google research 논문
CNN에 대한 의존없이 image patch를 word처럼 (Image를 patch (16*16)으로 나누어서 Word처럼 넣었음) 사용하여 classification task가 가능했음을 보여주었음. sota CNN에 버금가는 결과였고 computational 리소스는 훨씬 적었음
<Method>
1) VISION TRANSFORMER (VIT)
${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은 의미가 없겠군