본문 바로가기
논문리뷰

[논문 리뷰] ViT-G/14 요약, 코드, 구현

by davidlds 2023. 4. 10.
반응형

논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.

나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다.

 

ViT-G/14

Scaling Vision Transformer
ZHAI, Xiaohua, et al. Scaling vision transformers. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022. p. 12104-12113.
 

 

일단 이 논문을 읽기 전에 ViT에 대한 내용을 완전히 이해하는걸 추천한다.

 

[논문 리뷰] Vision Transformer(ViT) | 논문 원문, 논문 요약, 논문 구현, AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMER

논문을 번역하고 자세히 한단어씩 해석해주는 포스팅은 널리고 널렸다. 나는 논문을 쉽고 간결하게 전달하고자 한다. ViT AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE DOSOVITSKIY, Alexey,

davidlds.tistory.com

 

저자의 의도

스케일링은 트랜스포머에서 높은 퍼포먼스를 위한 가장 중요한 요소 중 하나다.

NLP에서는 스케일링에 대한 연구가 활발하지만, CV에서는 스케일링에 대한 연구가 없다.

ViT를 스케일링하기 위한 아키텍쳐와 트레이닝 메서드를 정의해보자.

 

기존 문제점

ViT에서 스케일링 하는 방법을 모른다.

ViT에서 few-shot transfer learning 하는 방법을 모른다.

 

해결 아이디어

1. Scaling up(계산량, 모델사이즈, 데이터셋)

실험결과
실험결과

모델 사이즈가 클수록 representation quality가 증가한다.

위 3개 그래프 중 가운데를 보면 파란색->붉은색 으로 갈수록 파라미터가 크다.

즉 모델 사이즈가 커질수록 error rate가 작아지는 것을 볼 수 있다.

 

데이터셋 사이즈가 클수록 representation quality가 증가한다.

위 3개 그래프 중 오른쪽을 보면 점의 크기가 커질수록 데이터셋이 크다.

즉 데이터셋이 커질수록 error rate가 작아지는 것을 볼 수 있다.

 

모델 사이즈와 데이터셋 사이즈가 커지면 자연스레 compute가 증가한다.

따라서 왼쪽 그림처럼 나오게 된다.

 

하지만, 모델 사이즈가 커지는 그래프는 saturation된다.

모델 사이즈로 얻을 수 있는 이득에는 한계가 있다.

 

실험결과
실험결과

그리고 fine tuning을 full으로 하든 few shot으로 하든 saturation된다.

이 saturation의 근원은 모델 사이즈 그래프이다.

저자는 이런 현상을 irreducible entropy 혹은 performance ceiling이라고 설명한다.

모델이 아무리 좋아도 특정 task에 대한 퍼포먼스 한계는 존재한다.

 

2. 큰 모델일수록 sample efficient 하다.

실험결과
실험결과

sample efficient의 의미는 모델이 작은 데이터셋에서도 학습을 잘 한다는 것이다.

fine tunning 시, 데이터셋을 작게해서 few shot을 하거나, 유사한 다른 데이터셋을 사용해보았다.

이때 언제나 큰 모델의 퍼포먼스가 좋게 나왔다.

 

3. Large-scale training을 위한 레시피

3.1. Decoupled weight decay for the “head

레시피
레시피

pre-training에서 과적합이 되는 것을 방지하기 위해 MLP에서 weight decay를 사용한다.

다만, Body에 있는 MLP가 아닌 Head에 있는 MLP에서만 진행한다.

pre-training에서 accuracy가 떨어지는 현상이 발생하지만,

fine-tuning까지 끝난 후에는 오히려 퍼포먼스가 더 좋다.

 

3.2. Saving memory by removing [class] token

정확도
정확도

ViT는 [class] token에 모든 패치의 정보를 반영하여 classification에 사용한다.

그래서 [class] token은 핵심으로 떼려는 생각을 해보진 않았을 거다.

저자는 [class] token을 빼서 메모리를 아끼고 차라리

representation 행렬 전체에 대한 MAP와 GAP를 사용하자고 했다.

GAP : Global Average Pooling, MAP : Multi-head Attention Pooling 이다.

 

3.3. Scaling up data (JFT-3B)

데이터셋을 가장 큰 3 Bilion 크기로 스케일링 업한다.

JFT-3B를 사용했다.

 

3.4. Memory-efficient optimizers

옵티마이저로 Adam을 사용하긴 했으나, half-precision momentum을 사용했다.

half-precision은 16비트수를 사용하여 메모리를 아끼는 것인데,

보통 컴퓨터가 32비트 혹은 64비트를 사용하지만 16비트로 제한하는 방법이다.

 

3.5. Learning-rate schedule

learning rate
learning rate

위 그림처럼 2개의 페이즈로 구성된 LR 스케쥴러를 사용했다.

초반에는 warmup 페이즈, 후반에는 cooldown 페이즈 이다.

 

3.6. Selecting model dimensions (G/14)

setting
setting

모델의 사이즈를 scaling up하여 G/14까지 늘렸다.

약 2 billion 파라미터 사이즈를 가진 모델이다.

 

Width : 패치 임베딩과 셀프 어탠션 행렬의 너비

Depth : 인코더 블럭 개수

MLP : MLP 블럭의 hidden dimension

Heads : 멀티 헤드 셀프 어탠션의 헤드 개수

 

논문 구현

자잘한게 다를 뿐 ViT를 그대로 사용했다.

구현은 이 포스팅 맨 아래에 있다.

 

[논문 리뷰] Vision Transformer(ViT) | 논문 원문, 논문 요약, 논문 구현, AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMER

논문을 번역하고 자세히 한단어씩 해석해주는 포스팅은 널리고 널렸다. 나는 논문을 쉽고 간결하게 전달하고자 한다. ViT AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE DOSOVITSKIY, Alexey,

davidlds.tistory.com

 

끝.

 

관련 논문 리스트 (스크롤 내려서 Paper List 참고)

반응형