On the journey of

[CSE URP]BEiT: BERT Pre-Training of Image Transformers (2) 본문

Experiences & Study/CSE URP' 29

[CSE URP]BEiT: BERT Pre-Training of Image Transformers (2)

dlrpskdi 2023. 8. 24. 23:14

2.4 From the Perspective of Variational Autoencoder

  • BEIT 의 pre-training은 Variational Autoencoder 관점에서 설명할 수 있음
  • 이를 분포를 기반으로 한 수식으로 나타내보면 아래와 같다. 

이때 위 수식은 아래와 같이 변형될 수 있다.

  1. Stage 1 : dVAE에서 Image Tokenizer를 얻는 부분에 대한 Term
  2. Stage 2 : Masked Image가 주어졌을 때, Image Tokenizer를 얻는 것에 대한 Term

2.5 Pre-Training Setup

  • BEIT 모델의 Pre-Training은 아래와 같이 설정되고 진행됨
  • VIT-B(Base) 모델 설정과 비슷하게 설정되어 있음
    • 12-layer Transformer with 768 hidden size
    • 12 attention heads
    • 16x16 patch size
  • Image Tokenizer는 Dall-E [RPG+21] 에서 학습된 것을 사용하였고, visual tokens의 vocabulary size는 8192
  • Training 데이터로 1.2M(120만 장) 갯수가 있는 ImageNet-1K를 사용함
    • Data Augmentation : Random resized cropping, horizontal flipping, color jittering
    • 해상도 및 패치 사이즈 : 224x224 resolution (14x14 image patches)
    • Masking 패치의 개수는 전체 패치의 약 40%인 75개 까지
  • Hyperparameter 설정
    • 500k steps (=800 epochs)
    • 2k(2,000) batch size
    • Nvidia Tesla V100 32GB GPU 16개로 5일동안 돌림
    • Adam Optimizer를 사용하였고, beta_1 = 0.9, beta_2 = 0.999
    • learning rate = 1.5e-3, 10 epochs 동안 warmup, cosine learning rate decay

3. Experiments

3.1 Image Classification

 

  • 기본 해상도 224x224 외에도 해상도를 384x384로 증가시킨 모델에 대해서도 실험
  • ImageNet-1K로 Self-Supervised 사전 학습된 BEIT 모델이 다른 모델과 비교해서 비슷하거나 더 좋은 분류 성능을 보임

  • scratch부터 학습하는 DeiT 모델과 비교했을 때, BEiT를 Fine Tuning 할 때 더 적은 Epochs에서 더 좋은 Top-1 Accuracy 결과가 나오는 것을 실험에서 확인함

3.2 Semantic Segmentation

  • Transformer 모델에서 Image Segmentation을 수행하기 위해서 SETR-PUP [ZLZ+20] Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers 에서 사용한 Downstream task layer를 사용함
  •  

  • 다른 방법에 비해서 BEIT가 mIoU(Mean Intersection over Union) 성능이 더 좋음
  • Intermediate Fine-Tuning은 Image Net으로 Fine-tuning을 하고, 다음에 ADE20K 로 한번 더 Fine-Tuning 한 것

BEiT 모델이 적용된 Self attention map을 확인하였을 때, 사람의 annotation 없이도 이미지 내에서 개별 물체의 구분이 잘 되는 것을 확인할 수 있음

3.3 Ablation study on classification, segmentation

  • Visual token을 사용했을 때 classification, segmentation에서 성능이 좋음
  • Blockwise Masking이 사용되었을 때 segmentation에서 성능이 좋아짐
  • 300Epochs 보다 800 Epochs로 학습이 더 많이 되었을 때 성능이 좋음

4. Conclusion

  • 이전 연구들(Contrastive learning, Self-distillation) 보다 BEIT 모델의 성능이 뛰어남
  • Vision Transformer에서 BERT 모델과 같이 masked 처리 된 input을 사용하여 pre-training을 하였을 때 좋은 결과를 나오는 것을 보여줌
  • 사전 Annotation 없이 Vision Transformer 모델을 통해서 Semantic Segmentation Task를 잘 수행하는 것을 확인 함