
Transformer 구조는 자연어처리 task에서 성공적인 결과를 낸 반면에, 컴퓨터비전은 Convolutional Neural Network (CNN)에 의존하고 있다. 본 논문은 Transformer를 컴퓨터비전 분야에 적용하여 classification에서 이전 연구보다 더 좋은 결과를 낼 수 있는 Vision Transformer (ViT)를 제안한다.
Transformer는 대규모의 text corpus를 통해 훈련을 한 후, fine-tuning을 통해 특정 task의 데이터셋에 대한 좋은 결과를 낼 수 있었다. 이는 Transformer의 computational efficiency와 scalability가 훌륭하다는 장점 덕분이다. 자연어처리에서의 성공에 영감을 받아, 본 논문은 Transformer 구조를 바로 이미지에 적용해본다. 이를 위해, 이미지를 여러개의 patch로 나누고 이 patch를 자연어처리에서의 token으로 다뤄 모델을 훈련시킨다.
모델의 구조는 아래 그림과 같다.

Transformer는 1차원의 벡터를 입력으로 받는다. 입력값을 맞춰주기 위해 인 이미지를 인 패치로 분할한 후, flatten을 하여 1차원으로 만들게 된다. 또한 Transformer는 모든 layer에서 일정한 크기의 latent vector를 사용하므로, flatten한 패치를 학습 가능한 linear projection을 통해 일정한 크기의 latent vector로 mapping하게 된다.
여기서 CLS는 Class가 아닌 Classification이다. 저자는 입력 패치들 앞에 학습 가능한 임베딩 값을 붙여 모델에 입력한다. 이 classification head는 pre-training, fine-tuning 과정 모두에 부착되어 사용되고, pre-training에서는 한 개의 hidden layer를 가진 MLP로 구현되고 fine-tuning에서는 한 개의 선형 layer로 구현된다.
각 패치마다의 위치 정보를 유지하기 위해 1차원의 학습 가능한 position embedding을 더해준다.
Encoder는 임베딩된 패치들이 들어오면 첫 번째로 정규화를 진행한 후 Multi-Head Attention layer를 통과한 값과 정규화 전의 입력값을 residual connection 과정을 값을 더해주게 된다.
한 layer를 통과할 때 분산이 바뀌면 gradient가 발산할 수 있으므로, layer의 output이 을 갖도록 정규화를 해준다.
입력 시퀀스의 입력값은 서로 여러 가지 방식으로 관련이 가능하다. 문장을 예로 들면 구문론적, 의미론적, 담화적 관계가 있을 수 있고, 음성을 예로 들면 주파수 대역별로 관계가 있을 수 있다. Transformer는 이 Multi-Head Attention layer를 통해 이를 해결한다. 여기서 query(Q), key(K), value(V) 개념이 등장하는데, Q는 현재 위치에서 다른 위치의 정보를 얼마나 가져올지, K는 Q와 얼마나 관련 있는지, V는 최종적으로 가져올 정보이다. 아래 그림에서 초록색을 K, 파란색을 Q, 빨간색을 V로 나타냈다.

계산 과정은 입력 벡터 간의, 즉 Q와 K 간의 dot-product를 계산한 후 softmax를 통해 attention weight를 얻어서 최종적으로 V와 곱해 최종 출력을 얻게 된다.
ResNet에서 소개된 것으로, 네트워크가 깊어질수록 gradient vanishing 문제가 발생하는데, 이전 뉴런에서의 출력값을 더해줌으로서 이를 방지하면서 네트워크를 깊게 쌓을 수 있도록 해준다.

ViT는 CNN과 비교했을 때 귀납적 편향이 발생하여, 새로운 데이터에 대해 내리는 결과의 정확도가 떨어지게 된다. 그 이유는 CNN이 이미지의 local한 영역을 많이 보는 반면 Transformer는 global하게 보기 때문이다. 그래서 부족한 데이터셋을 통해 훈련을 하게 된다면, 당시에 이미지 분류에서 SOTA였던 ResNet과 비교하면 살짝 떨어지는 정확도를 보인다. 하지만, 자연어처리에서 처럼 대규모의 데이터셋을 통해 훈련을 한 후에 특정 데이터셋에 대한 정확도를 보면 높은 정확도를 자랑한다.
좋은 발상입니다