[쉽게 설명하는 논문리뷰] How to train your ViT?

JunHyeon Sim·2024년 6월 19일

paper review

목록 보기
3/5
post-thumbnail

Introduction

ViT는 일반적으로 좋은 성능을 내기 위해서 방대한 양의 training data 또는 강력한 augmentation 및 regularization이 필요하다고 알려져있다.
해당 논문에서는 실험을 통해 ViT 학습의 포괄적인 연구를 진행한다.
"주로 데이터와 연산량이 제한된 사용자에게 유용한 인사이트를 얻는 것에 초점을 맞춘다"
augmentation 스키마, 하이퍼파라미터, test-time preprocessing, 데이터셋 분할과 같은 디자인 선택이 일정하지 않으면 부정확한 결과로 이어질 수 있다. 따라서, 모든 모델은 동일한 조건으로 학습되고 평가된다.
해당 논문의 포커싱은 신규성(novelty)에 있지않고, 엄격하게 조정된 세팅에서 비전 트랜스포머 학습에 대한 추정들과 효과를 정량화하는 것에 있다.

Scope of the study

비전 모델 학습 비용의 세 가지 관점
1. 사전학습 비용 + 전이학습 비용 전체
2. 사전학습 비용 (사전 학습 모델을 다운받아 사용하는 경우) -> "practitioner"
3. 학습된 모델의 추론 비용 (배포 비용) -> "deployment"
본 연구는 2, 3번 관점에 집중

Experiment

  • 사전 학습에 사용된 데이터셋
    - ImageNet-21K : 21,000개 객체에 대한 약 1,400만 이미지
    - ImageNet-1K : ImageNet-21K의 일부, 1,000개 객체에 대한 약 130만 이미지
    - ImageNetV2 : 평가 목적

  • 전이 학습에 사용된 데이터셋
    - VTAB benchmark
    - CIFAR-100
    - Oxford IIIT Pets (or Pets37 for short)
    - Resisc45 and Kitti-distance

  • 모델

    기본적인 ViT 모델과 동일하지만, 유일한 차이는 head에서 hidden layer를 제거했다. 모델을 더 정확하게 하지 못했고, 최적화 불안정으로 실험에서 나타났다.
    하이브리드 모델은 ResNet을 백본으로하고 ViT의 initial 패치 임베딩으로써 사용한다.

  • Regularization and data augmentations
    - dropout 적용, stochastic depth regularization 적용
    - data augmentation : Mixup, RandAugment 적용
    - weight decay 적용

  • Pre-training 학습 세팅
    - Adam
    - batch size : 4096
    - cosine learning rate schedule with a linear warmup
    - gradient clipping
    - Inception-style cropping and random horizontal flipping
    - ImageNet-1K는 30 epochs, ImageNet-21K는 30과 300 epochs로 학습하여 사전 학습에 사용된 총 컴퓨팅양을 일정하게 유지하면서 데이터셋의 크기 증가 효과를 측정

  • fine-tuning 학습 세팅
    - SGD

    • batch size : 512
    • gradient clipping
    • cosine learning rate schedule with a linear warmup
    • resolution 224 and 384

Findings (insights)

1. AugReg를 통해 작은 데이터셋으로 성능을 낼 수 있다.

  • 강력한 image augmentation과 model regularization(AugReg)을 적용하여 ImageNet-1K 데이터셋으로 학습했을 때 동일한 모델에서 데이터셋의 크기가 약 10배 더 큰 ImageNet-21K로 학습했을 때와 동등한 결과가 나왔다.
  • 마찬가지로 AugReg를 적용하여 ImageNet-21K로 학습했을 때 데이터셋의 크기가 25배 더 큰 JFT-300M으로 학습했을 때와 비슷하거나 능가하는 결과가 나타났다.
  • 적절한 AugReg를 사용함으로써 더 작은 데이터셋으로 좋은 성능을 낼 수 있다. 이는 JFT-300M이 구글의 비공개 데이터셋이라는 한계점을 극복 가능함을 의미한다.

2. 전이학습은 보통 좋은 옵션이다.

대부분의 ViT를 활용하는 목적에서 사전 학습된 모델을 전이학습하는 것이 더 비용이 효율적이고 좋은 결과를 보인다.

  • Pet37 데이터셋으로 학습했을 때, 전이학습을 한 모델이 압도적으로 더 좋은 정확도를 보이며 사전학습된 모델의 컴퓨팅 비용은 0이기 때문에 비용 측면에서도 전이학습이 유리하다.
  • 더 큰 데이터셋인 Resisc45 데이터셋에서는 격차가 줄었지만 여전히 전이학습 모델이 더 높은 성능을 보인다.
  • 사전학습 검증셋에 대해 가장 좋은 성능을 보이는 모델을 추천 모델로 한다. 추천 모델을 사용할 때 처음부터 학습하는 것보다 몇 번의 시도로 좋은 결과로 이끌 가능성이 높다.

3. 더 많은 데이터를 학습할수록 모델의 일반화 성능이 향상된다.


위 그림은 모델의 크기별로 사전학습 데이터셋의 크기를 다르게하여 VTAB의 세 가지 카테고리로 전이학습한 정확도를 나타내는 그래프이다.

  • ImageNet21K 300 epochs로 학습했을 때 ImageNet1K 300 epochs보다 항상 정확도가 더 높다.

4. 정규화보다 증강

  • mid-sized ImageNet-1k 데이터셋에서 AugReg는 효과가 있다.
  • 하지만 30ep로 컴퓨팅양을 고정시킨 ImageNet-21K로 학습했을 땐 대부분 성능이 하락한다.
  • 또한 300ep로 컴퓨팅양을 증가시켰을 땐 작은 모델들을 제외하곤 AugReg가 효과가 있다.
  • 일반적으로 augmentation이 Regularization보다 더 도움을 주는 경우가 많다.
  • ImageNet-21K를 사용할 때 거의 항상 regularization은 성능을 하락시켰다.

5. 전이학습을 위해 어떤 모델을 선택해야하는가

첫 번째 방법은 이용가능한 사전학습된 모델을 전부 전이학습해보고 가장 좋은 성능을 보이는 모델을 선택하는 것이다. → 비용이 많이 소모될 수 있다.
두 번째 방법은 업스트림 검증 정확도를 기반으로 사전학습된 모델을 하나 골라서 쓰는 방법이다. → 이 방법이 훨씬 비용이 낮다.

  • 본 연구에서는 첫 번째와 두 번째 방법을 모두 테스트하여 성능의 차이를 나타냈다.
  • 두 번째 방법은 첫 번째 방법만큼 일반적으로 동등한 성능을 보였다.
  • 따라서, 두 번째 방법(업스트림의 검증 성능을 보고 모델을 선택하는 방법)이 비용 효율적인 전략이다.
  • 추가적인 컴퓨팅 자원이 있다면, 특정 경우에 추가적으로 사전학습된 모델을 전이학습하여 성능을 더 개선할 수 있다.

6. 패치 크기를 늘리는 것이 모델 크기를 줄이는 것보다 유리하다


위 그림에서 더 큰 패치 사이즈(/32)를 사용하는 것이 더 작은 모델(Ti)를 만드는 것보다 훨씬 성능이 좋다는 것을 보인다.

  • self-attention이 수행되는 토큰의 양을 파라마미터 수에서는 반영하지 못하기 때문에 파라미터의 수는 속도나 모델의 능력을 반영하지 못한다.

Discussion

  • 사회적 영향
    본 연구의 목적은 향후 연구에서 광범위한 탐색의 필요성을 없애주는 좋은 시작점 그리고 모델의 체크포인트를 제공하는 것이다.
  • 한계점
    기본적 ViT 아키텍쳐를 연구하는데 제한되었다. 하지만, 연구에서 발견한 많은 것들이 다른 ViT기반 아키텍쳐를 확장할 것이라고 예상한다.

ViT 추천 사용법 정리

  • ImageNet-1K에 의지하지 말고 더 많은 업스트림 데이터로 사전학습된 체크포인트를 사용하는 것을 추천한다.
  • 데이터 증강과 모델 정규화를 신중하게 적용하면 주어진 데이터셋에서 훨씬 더 잘 학습할 수 있다. AugReg 세팅에는 모델의 capacity, 학습 스케쥴에 따라 달라지기에 단순한 규칙이 존재하지 않는다.
  • 자신의 태스크에서 가장 좋은 업스트림 모델을 선택하는 방법은 가장 좋은 업스트림 검증 성능의 모델을 선택하는 것을 추천한다(ImageNet-21K 체크포인트 외에도). 추가적으로 모든 체크포인트를 파인튜닝 할 컴퓨팅 자원이 있다면, 조금 더 좋은 결과를 얻을 수 있다.

Conclusion

  • 비전 트랜스포머를 사전학습할 때 정규화, 데이터 증강, 모델 크기, 학습 데이터의 크기, 컴퓨팅 예산의 상호작용에 대한 연구이다.
  • 실험을 통해 다양한 기법과 증강과 정규화가 유익할때와 그렇지 않을 때의 영향에 대한 많은 인사이트를 제공한다.

출처

How to train your ViT?, google research

profile
Master's student, Medical Image Segmentation

0개의 댓글