본문 바로가기
스터디/딥러닝

[논문] ViT(Vision Transformer)

by ag_zero 2022. 7. 18.
728x90

 NLP에서 Transformer가 RNN을 구축한 것 처럼, 이미지 인식에서도  Transformer가 CNN을 구축할 수 있을 것이라는 기대를 받고 있는 새로운 모델 ViT에 대해 살펴보자!

 

논문 : An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

Vision Transformer(=ViT)의 중요한 부분은 세 가지이다.

1) 입력 이미지

2) 아키텍처

3) 사전학습과 파인 튜닝

 

 

1. 입력 이미지

기본적으로 Transformer에서는 각 단어가 벡터로 표현되어 있는 문장을 한 번에 입력한다.

이러한 Transformer에 이미지를 넣어 다루고 싶은 경우에 아래의 과정을 생각해 볼 수 있다.

이미지를 패치로 나눠서 각 배치를 단어처럼 다룬다.

2. 아키텍처

Transformer의 인코더부분(BERT)과 동일하다.

* Norm은 Layer Normalization(=LM)을 의미

 

3. 사전학습과 파인 튜닝 

ViT에는 지금까지의 이미지 인식 모델과 동일하게 '거대한 데이터 세트로 사전학습 + 파인 튜닝'이라는 단계를 거친다. 파인 튜닝을 할 때에는 ViT의 MLP헤드를 대체한다. 이 외에 세 부분정도 아이디어를 더하고 있다.

- 사전학습시에 해상도(e.g 224)보다도 파인튜닝시의 해상도를 높게(e.g384) 한다.
- 패치의 크기는 사전학습과 파인 튜닝 둘 다 일정하다( 즉, 파인튜닝시에는 해상도가 높으므로 패치의 수가 증가한다).
- 사전학습에서 학습된 위치 엔코딩을 파인 튜닝에서 부족한 부분에 삽입하여 보완한다.

 

SoTA 비교

 ImageNet에 있어서 Noisy Student의 수준에 미치지 못하고 잇지만, 보다 정확하게 어노테이션된 ReaL에서는 ViT의 쪽이 더욱 좋은 성능을 보여준다. 또한 ViT는 계산 시간도 대폭 감소시켰다.

ViT 내장 레이어

일체 Convolution 사용하지 않았음에서 가로선이나 세로선 등 CNN의 낮은 레이어에서 학습하는 것과 같이 확실히 학습할 수 있다.

ViT 위치 인코딩

ViT에서는 잠재 층이후에 학습가능한 위치 인코딩을 계산한다.
위치 엔코딩이들이 얼마나 비슷한지를 나타내는 것이 위 그림이다.

Attention의 적용 범위

Convolution과 비교하여 Attention의 장점 중 하나로 전체를 조감할 수 있다는 것이다.

Attention거리는 CNN으로 말하자면, "Receptive Field의 크기"가 된다. 

이 Attention거리를 각 층의 헤드마다 표시한 것이 아래의 그림이다. 가로 축이 각층, 세로 축이 Attention 거리로 점이 헤드를 나타내고 있다.  

왼쪽 그림이 ViT-L/16이고 오른쪽은 Hybrid를 나타낸 것이다. 이 그림으로 부터 알 수 있는 것은 아래의 세 가지이다.

① 낮은 레이어에서는 Attention거리가 작은 헤드가 일정 수 존재한다. 즉, 낮은 레이어에서는 CNN와 같은 국소적인 특징량을 추출하고 있다.

② 낮은 레이어에서도 Attention 거리가 커다란 헤드가 일정 수 존재하다. 즉, 낮은 레이어에서는 전역적인 특징량도 추출하고 있다.

③ Hybrid의 낮은 레이어에서는 Attention 거리의 작은 헤드가 급감하는 것으로, 낮은 레이어에서의 Attention거리가 작은 헤드들은 CNN과 같은 역할을 달성하고 있다는 것을 알 수 있다. 

 

자기교사 학습

JFT-300M의 라벨을 Pull에 이용한 사전 학습대신에 BERT를 모방해 Masked Patch Prediction에 의한 사전학습도 실시하였다.

 BERT을 모방했을 뿐인 Masked Patch Prediction에서 성능향상이 확인되었으므로 보다 적당한 자기교사학습에 의한 사전학습 업무를 찾는 것으로 앞으로 JFT-300M과 같은 라벨이 붙은 비용이 상당한 데이터 세트를 반드시 필요로 하지 않고 높은 성능을 얻을 수 있는 가능성이 있다고 할 수 있다.

 

 

 

 

참고 : https://engineer-mole.tistory.com/m/133