본문 바로가기

논문 리뷰(Paper Review)

[ICLR 2021] An Image Is Worth 16X16 Words:Transformers For Image Recognition At Scale

서론

- 비전에서 Attention은 CNN 결합 시켜 사용하거나, 대체될 수 있다. 이를 Image Classification Task를 통해 보인다.

- 큰 용량 데이터 셋에서 학습한 후, 이를 중간 혹은 작은 사이즈의 벤치마크(ImageNet, CIFAR, VTAB etc)로 Transfer Learning을 하면 VIT는 적은 컴퓨팅 자원으로도 우수한 결과를 보인다.

 

1. Intro

- Transformer의 계산 효율성(Efficiency)과 확장성(Scalability) 덕분에 100B의 매개변수로도 학습이 가능

- Transformer의 NLP에서 성공에 영감을 받아 아래의 두 논문 같은 경우는 CNN을 Transformer로 완전히 대체하기도 하였다.

  (Prajit Ramachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, and Jon Shlens.
Stand-alone self-attention in vision models. In NeurIPS, 2019)

  (Huiyu Wang, Yukun Zhu, Bradley Green, Hartwig Adam, Alan Yuille, and Liang-Chieh Chen.
Axial-deeplab: Stand-alone axial-attention for panoptic segmentation. In ECCV, 2020a)

- 하지만, 특정 어텐셜 패턴(?)만 사용함으로써 효율적(Efficiency) 이긴 하지만, 확장성(Scalability)까지는 추구할 수 없었다.

- 우리는 이미지를 특정 패치로 분할하고, 이 패치들의 연속적인 선형 임베딩(Sequence of linear embeddings of these patches)을 Transformer에 입력으로 넣었다.

- 이미지 패치들은 NLP에서의 Token words 처럼 간주될 수 있다.

- 당연히 지도 학습이다.

- ImageNet과 같은 중간 사이즈의 데이터를 학습 시키면 Resnet 보다는 성능이 낮은데, 이는 CNN에 비해 Inductive Bias가 부족하기 때문이다.

- 하지만, 대규모의 데이터셋(14M-300M)에서는 Transformer가 Inductive Bias를 지니는 CNN의 성능을 능가한다.

- 큰 규모의 데이터셋(ImageNet-21k or JTF-300M)으로 Pre-trained하였다. 

- 성능 : 88:55% on ImageNet, 90:72% on ImageNet-ReaL, 94:55% on CIFAR-100, and 77:63% on the VTAB suite of 19 tasks

 

 

더보기

(Intro 읽은 후 질문)

Q. 불충분한 양(먼저 ImageNet이 불충분한 양인가?)의 데이터를 학습할 때는, 귀납적 편향이 부족한 것이 단점으로 작용한다 라고 말하였다. 따라서, 예를 들면 CNN 고유의 'Translation equivariance' and 'Locality' 효과가 Transformer에는 부족하여 일반화가 떨어진다고 하였다.  무슨 말인가?

A. 귀납적 편향을 가진 것이 항상 단점이 아닌가 보다. 적은 수의 데이터에서는 (Transformer와 같이) 귀납적 편향이 적은 것이 오히려 단점으로 작용한다고 하는 걸 보니..

 

2. Related Work

- Large Transformer 기반 모델은 큰 규모의 말뭉치(Corpora)에 대해 사전 학습(Pre-trained)되고, 작업에 맞에 미세 조정(Fine-tuned) 된다. e.g. BERT, GPT

- Parmar et al(2018)은 전역이 아니라 로컬 이웃에만 Self-Attention을 적용하였다. 이러한 로컬 Multi-head dot-product Self-Attention 블록은 CNN을 완전히 대체하였다.

- 많은 수의 Specialized Attention 구조를 가지는 컴퓨터 비전 모델이 있었지만, HW 가속기에서 효율적인 구현을 위해서는 복잡한 엔지니어링(?)을 필요로 하였다.

 

3. Method

- 트랜스포머는 1차원의 Sequence of Token Embedding을 입력으로 받지만, 이미지는 다음과 같이 PxP 사이즈 N개로 나누었다. 

- 트랜스포머는 상수 Latent Vector size D를 모든 계층에 걸쳐 사용한다. 따라서, 우리는 이미지 패치를 Flatten한 후 

D차원으로 학습가능한 Linear Projection을 이용해 매핑하였다.

- BERT와 클래스 토큰과 유사하게 학습가능한 embedding을 패치에 붙여 주었다(z0 = x_class)

- Positional Encoding(1xD 사이즈)은 값을 더해주게 되는데 이것도 학습되는 랜덤 값으로 초기화된 파라미터.

(여기서 1차원을 사용하게 된 이유는 2차원 Positional Encoding을 사용해서 더 나은 성능 향상은 보이지 못했기 때문이라고 함)

- Pre-training and Fine-training 중에 분류 헤드는 $z^0_L$에 부착된다. 분류 헤드는 (Pre-training시간 동안 하나의 은닉 계층이 있는 MLP)에 의해 구현되고, (Fine-Tuning시간 동안 단일 선형 레이어로 구현된다) (?)

-  트랜스포머 인코더는 MSA(Multi-headed Self-Attention)과 MLP 블록으로 이루어져 있다.

 

Inductive Bias

- Transformer는 CNN에 비해 Inductive Bias(귀납적 편향)이 작다

- ViT에서는 MLP만 Locality, Translationally Equivariant 특성을 가진다. 

- Funetuning 할때 다른 해상도 이미지에 대한 Position Embedding을 조정한다(?)

- 반대로, Position Embedding은 2차원 패치에 대한 정보를 전달하지 않으며(?), 패치간의 공간 정보는 처음 부터 학습해야 한다.

 

Hybrid Architecture

- 이미지 패치의 대안으로, 입력 시퀀스는 CNN 특징맵이 될 수도 있다.

- 이 경우는, 패치는 1x1 사이즈를 가지고(?), 입력 시퀀스는 피처맵을 Flattening 한 것이다.

- 나머지는 위의 경우와 동일하다.

 

FINE-TUNING AND HIGHER RESOLUTION

- Vit를 큰 데이터 셋에 Pre-train 시키고, 작은 데이터 셋에 Fine-Tune 하였다. 이때 높은 해상도에서 Fine-tune 하는 것이 성능이 좋았다(?)

- 임의 길이의 이미지 시퀀스를 처리할 경우, 사전 훈련된 Position Embedding은 더이상 필요가 없다(?)

- 따라서, 우리는 Pre-trained 된 Position Embedding을 인터폴레이션(보간) 하였다. 

- 이러한 해상도 조정과 패치 추출은 2차원 구조의 이미지에 Iductive Bias가 Vision Transformer에 유일하게 주입되는 지점이다(?)

 

 

4. Experimental

- Vit-L/16은 16x16 패치 사이즈를 가지는 "Large" Variant를 의미

- 트랜스포머의 시퀀스 길이는 패치 크기 제곱에 반비례 하므로, 패치가 작으면 계산 량이 많아진다.

- ImageNet-21k로 사전 학습한 ViT-L/16 모델이 가장 성능이 좋았다.

 

5. Conclusion

- 이미지 패치를 제외하고는 아키텍처에 Inductive bias를 도입하지 않았다. 

- 자기 지도 사전 학습 방법은 계속 연구되야 한다. 

 


 

반응형