Transformer 가 vision 도 먹음 (2020)
Vision Transformer (ViT) 가 image 를 작은 patch (e.g. 16×16) grid 로 쪼개고, 각 patch 를 vector 로 embed, patch embedding sequence 를 standard transformer encoder 에 먹여. Convolution 없음. 충분한 data 에 pretrain 되면 ViT 가 vision benchmark 에서 CNN 매치하거나 이김.
충격이었어. CNN inductive bias (locality, translation invariance) 가 vision 에 essential 로 다뤄졌어. ViT 가 충분한 data 와 compute 면 attention 이 그 bias 를 baked in 대신 학습할 수 있다는 거 보여줌.
Patches → tokens trick
16×16 patch 의 224×224 image 가 196 patch. 각 patch 가 linear projection 통해 768-d vector 로 flatten (또는, equivalently, kernel=16, stride=16 의 Conv2d). Learned position embedding 과 [CLS] token 추가. 이제 197 token sequence — standard transformer encoder 에 먹여.
Modern vision foundation model
ViT 는 architecture, 사람들이 실제 쓰는 weight 는 pretrained foundation model: CLIP (OpenAI; image-text contrastive), DINOv2 (Meta; self-supervised), SAM (Meta; segmentation), SigLIP (Google; image-text). Vision task 를 'image embed, head train' 으로 바꾸는 downloadable backbone — from scratch network train 하는 것보다 훨씬 쉬움.