Paper
문서 링크
- 컴퓨터 비전 분야에서는 오래전부터 Hand-crafted Feature 를 사용하는데 익숙했다.
- 이미지와 비디오에서 필요한 정보를 추출하기 위한 기법으로 활용
- 하지만 대부분 인간의 경험에 바탕을 둔 정보 선택으로 만들어진 기법들이라 높은 수준의 이미 정보를 추출하기는 어려웠다.
- 예를 들어 SIFT, HOG 와 같은 알고리즘들을 이용해 객체의 엣지나 텍스쳐 정보들을 추출하거나 표현하였다.
- 이런 식으로 이미지의 정보를 추출하는 방법은 과거 이미지 프로세싱 분야에서 인기를 얻어지만 요구되는 문제들의 복잡성이 증가함에 따라 점차 CNN 분야로 완전히 그 영광을 넘기게 되었다.
- 하지만 이에 따른 학습 데이터 구축 비용의 증가는 개발에 많은 부담을 준다.
- 이런 문제들을 타계하기 위해 비지도 학습(unsupervised learning) 방식이 제안되기도 했다.
- 하지만 비지도 학습의 경우 사전에 가정된 정보(Prior)가 실제 데이터와 맞지 않으면 엉뚱한 결과를 얻게 된다.
- 자기 지도 학습(self-supervised learning)은 비지도 학습 방법론 중 한가지 특별한 형태로 고려할 수 있다.
- 이 방식은 비지도 학습과는 달리 별도의 가정보다는 데이터 자체의 정보를 이용하여 레이블을 구성하는 방식을 사용한다.
- 따라서 대규모로 데이터를 수동 구축하지 않더라도 쉽게 학습이 가능하다.
- 보다 현실적인 방법은 소량의 데이터를 구축하고 이를 확장하는 것이다.
- 이를 Few-shot learning 이라고 한다.
- Transformer 는 최근 NLP 에서 각광받은 기술로 CNN 에도 영향을 주고 있다.
- 그 결과 ViT(Vision Transformer) 와 같은 기술도 소개되었다.
- 하지만 아쉽게도 ViT 는 CNN 기법에 비해 뭐가 더 좋은지 이야기하기가 애매하다.
- 더 많은 학습 데이터가 필요하지만 성능은 딱히 더 좋지 못함
- 이제 이 논문의 소개를 진행한다.
- self-supervised 기법이 ViT 에 미치는 영향을 확인한다. 보통의 ViT 와 CNN에서는 나타나지 않는 몇가지 흥미로운 속성을 발견했다.
- 이미지 내의 레이아웃. 특히 객체의 경계를 명시적으로 포함한다는 사실을 확인했다. 이것을 맨 마지막 레이어에서 바로 확인할 수 있다.
- 별도의 Fine-tunning 없이 K-NN 을 수행할 경우 좋은 성능을 보인다. ImageNet 데이터에 대해 78.3% 이라는 top-1 정확도를 보인다.
Vision Transformer
- NLP 쪽에서 영감을 받아 Transformer 기법을 이미지 모델에도 적용

- 원래 Transformer 는 토큰 Embedding 을 1D 데이터로 입력 받지만 2D 인 이미지를 입력받기 위해 이미지를 Flatted 된 2D 패치로 입력받게 된다.
- BERT 의 [class] 토큰과 유사하게 학습 가능한 별도의 Embedding 토큰이 추가되어 있다.
- pre-training/fine-tuning 시에 여기에 MLP 를 하나 붙여 학습을 진행한다.
- Position embedding 도 추가되어 있다.
- 일반적인 1D embedding 을 사용한다.
- Transformer Encoder 를 보면 LN(LayerNorm)과 Residual connect가 사용된 것을 확인할 수 있다. MLP 에서는 GELU가 사용된다.
- 대략적인 모델의 내용은 위 그림만 보면 된다.
- 좀 더 자세한 수식은 다음을 참고하자.