본문 바로가기
Machine-Learning/paper

[CV Paper] Vision Transformer

by AteN 2022. 8. 25.

Vision Transformer

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

Google Research, Brain Team (Published as a conference paper at ICLR 2021)

 

ViT는 트랜스포머가 컴퓨터 비전의 기본 문제인 분류 문제를 얼마나 잘 푸는지 확인할 목적으로 [Vaswani2017]이 제안한 원래 트랜스포머 구조를 최대한 그대로 따라 실험한다. 원래 트랜스포머는 언어 번역을 위해 개발되었기 때문제 문장을 입력 받아 문장을 출력하는 구조, 즉 인코더는 입력 문장을 처리하고 디코더는 출력 문장을 처리하는 구조를 가진다. 문장은 단어가 순서대로 배열된 1차원 구조의 데이터인데 영상은 화소가 2차원 구조로 배열된 데이터이기 대문에 트랜스포머의 구조를 적절히 변경해야 한다. 

 

- 본 연구에서는 NLP에서 사용되는 Standard Transforemr를 이미지로 그대로 적용하여 이미지 분류에 좋은 성능을 도출한 Vision Transforemr(ViT)를 제안함

- ViT는 이미지를 패치로 분할한 후, 이를 NLP의 단어로 취급하여 각 패치의 Linaer Embedding을 순서대로 Transforemr의 input으로 넣어 이미지를 분류함

- ViT를 ImageNet-1K에 학습했을 때, 비슷한 크기의 ResNet보다 낮은 정확도를 도출하는 것을 통해 ViT 가 CNN보다 inductive bias가 낮을 것을 알 수 있다 

- 반면, imageNet-21k와 JFT-300에 pre-training한 ViT를 다른 image recognition task에 transfer learning했을 때, ViT가 SOTA 성능을 도출하는 것을 통해 Large scale 학습이 낮은 inductive bias로 인한 성능 저하를 해소시키는 것을 알 수 있다. 

Vision Transformer 특징 

      - 이미지를 Patch로 분할 후 Sequence로 입력 

          → NLP에서 단어(Word)가  입력되는 방식과 동일! 

      - ImageNet와 같은 Mid-sized 데이터셋으로 학습 시, ResNet보다 낮은 성능

      - JFT-300M 사전 학습 후, Transfer Learning → CNN구조 보다 매우 좋은 성능 

      - Transformer는 inductive biases가 없음 = Locality와 Translation Equivariance 같은 CNN의 특성이 없음

      - Transformer의 계산 효율성(Efficiency) 및 확장성(Scalability) 

      - 데이터셋이 크면 클수록 성능 향상

Abstract

Transformer 아키텍처는 자연어 처리 분야에서 널리 사용되어지고 있다. 이것은 컴퓨터 비전에서는 제한되어 있었다. 비전 안에서 Attention 은 CNN을 결합하거나 전체 구조를 유지하되 병목 구조에서 대체되는 것으로 사용되어졌다. 

논문에서는 CNN은 필요하지 않으며, 이렇게 특정 구성 요소를 대체하는 것에 그치지 않고 이미지 패치의 시퀀스에 Transformer가 적용될 때 이미지 분류 작업에서 매우 우수한 성능을 봉준다는 것을 발견했다. 많은 양의 데이터를 pre-trained 되고 벤치마크 (ImageNet, CIFAR-100, VTAB, etc.) 등에서 Vit 은 SOTA(state-of-the-art convolutional networks) 와 비교해서 좋은 성능을 얻다. 

 

자연어 처리에서 주로 사용되는 Transformer을 거의 그대로 이미지 분류 업무에 이용한 것이다. 

- 완전히 Convolution과 안녕하고 SoTA를 달성했다

- Vision Transformer에서 중요한 것은 세 가지이다.

① 이미지 패치(patch)를 단어와 같이 다루었다.

② 아키텍처는 Transformer의 인코더(encoder) 부분이다.

③ 거대한 데이터 세트인 JFT-300M으로 사전학습했다.

- SoTA보다 뛰어난 성능을 약 15분의 1의 계산 비용만으로 얻을 수 있었다.

- 사전학습 데이터 세트와 모델을 더욱 크게 하여 성능을 향상시킬 수 있는 여지가 있다.

architecture

아키텍처는 거의 트랜스포머의 인코더 부분과 동일하다 

Norm은 Layer Normalization(LN)을 의미한다. 위 그림을 보고 알 수 있듯이, 거의 오리지널의 인코더와 동일하다 

Pre-Norm : Multi-Head Attention  MLP의 전에 위치하고 있다

Tansforemr VS CNN

CNN : 이미지 전체의 정보를 통합하기 위해서는 몇 개의 Layer 통과 

Transformer : 하나의 Layer로 전체 이미지 정보 통합 가능 

patch embedding

 

classification token  : classification을 위해 사용되는 token (BERT [CLS] token)

position embedding : patch의 취치 정보 

(classification token, patch embedding ) + positional embedding = transformer encoder 입력

 

Residual Connection 

- 특정 레이어를 건터 뛰어서 입력

- 초기의 모델 수렴 속도가 높아진다 

- 입력 데이터와 self-Attention의 결과를 더함

 

Later normalization

- 각 레이어 값이 크게 변화하는 것을 방지해 모델을 더 빠르게 학습 

- residual connection 결과에 대한 정규롸 진행 

 

MLP

 

 

GELU(Gaussian Error Linear Unit)

https://arxiv.org/pdf/1606.08415.pdf

- dropout + zoneout + ReLU를 조합하여 쓰는 것에 영감을 받아서 개발한 성능 좋은 activation function

- 네크워크가 깊어질수록 adaptive dropout  형태로, 입력치에 가중치를 부여하여 zoneout 되는 형태 

 

성능 비교 

Pre-training 이미지 resolution(224*224) - Fine-tuning 이미지 resolution(384 * 384) 

- Big Transfer보다 사용하는 자원 은 낮으며 / 성능은 높다 - 즉 효율적인 사전 학습이 가능하다 

 

참조 : Inductive Bias 

Inductive bias는 training에서 보지 못한 데이터 대해서도 적절한 귀납적 추론이 가능하도록 하기 위해 모델이 가지고 있는 가정들의 집합을 의미한다 

 

DNN의 기본적인 요소들의 inductive bias는 아래과 같다 

- Fully Connected : 입력 및 출력 element가 모두 연결되어 있으므로 구조적으로 특별한 Relational inductive bias를 가정하지 않음

- Convolutional : CNN은 작은 크기의 Kernel로 이미지를 지역적으로 보며, 동일한 Kernel로 이미지 전체를 본다는 점에서 locality와 transitional invariance 특성을 가짐 

- Recurrent : RNN은 입력한 데이터들이 시간적 특성을 가지고 있다고 가정하므로 sequentiality와 temporal invariance 특성을 가짐

 

Transformer 는 CNN 및 RNN 보다 상대적으로 inductive bias가 낮음 

 

 

 

'Machine-Learning > paper' 카테고리의 다른 글

[Paper] Faster RCNN  (0) 2022.10.06
[Paper] RCNN  (0) 2022.10.06
[Paper] Attention  (0) 2022.09.15
[Paper] Fast RCNN  (0) 2022.08.23
[Paper] An overview of gradient descent optimization algorithms  (0) 2022.08.23

댓글