하루에 논문 한편씩, 핵심만 읽고 요약하기 : Paper 10




Paper Link : Link / Github



1. Abstract

Pre-training은 computer vision에서 거의 필수적(dominant paradigm)으로 사용됩니다. 예를 들어, supervised ImageNet pre-training은 object detection과 segmentation 모델의 backbone을 초기화(initialization)하기 위해 흔히 사용됩니다.

하지만, Kaming He는 2019 ICCV에서 ImageNet pre-training이 COCO object detection에 제한적인 영향 (limited impact)을 미친다는 놀라운 결과를 발표하였습니다. Self-training을 추가 데이터를 활용하기 위한 다른 방법으로 설정하고 ImageNet pre-training과 비교합니다. 이를 통해 3가지 통찰(insight)과 함께 
다음과 같은 self-training의 범용성(generality)과 유연성(flexibility)을 보여주었습니다.

1) 강력한 data augmentation과 labeling된 데이터의 추가는 pre-training의 가치(value)를 떨어뜨린다.
2) pre-training과 달리, self-training은 데이터 수에 상관없이 강력한 data augmentation을 사용하는 것이 항상 도움이 된다.
3) pre-training이 도움이 되는 경우에, self-training이 pre-training보다 더욱 좋은 결과를 보인다.




2. Methodology

- 1) Data Augmentation : 아래와 같은 4가지 data augmentation 방법으로 나누어 실험하였습니다.
   * Augment-S1 - Weakest augmentation : Flips and Crops
   * Augment-S2 - Second strongest augmentation : AutoAugment, Flips and Crops
   * Augment-S3 - Third strongest augmentation : Large Scale Jittering, AutoAugment, Flips and Crops

   * Augment-S4 - Strongest augmentation : Large Scale Jittering, RandAugment, Flips and Crops



- 2) Pre-training : 아래와 같은 3가지 initialization으로 나누어 pre-training을 설계하였습니다.
   * Rand Init - Random weights로 initialization
   * ImageNet Init - ImageNet pre-trained weights로 initialization (84.5% top-1)
   * ImageNet++ Init - 더욱 성능이 좋은 ImageNet pre-trained weights로 initialization (86.9% top-1)

   (여기서 ImageNet++ Init은 unlabeled 데이터셋인 JFT-300M을 추가로 사용하는 Noisy Student method를 사용한 학습 방법입니다.)



- 3) Self-training : 해당 논문에서 사용한 self-training은 Noisy Student method에 기초하여 3가지 단계를 거칩니다.
   * First step - Teacher model을 labeled data (ex - COCO Dataset)로 학습합니다. 

   * Second step - 해당 teacher model을 이용하여 unlabeled data(ex - ImageNet Dataset)에 대해 가짜인pseudo label을 생성합니다. 
   * Third step - 마지막으로, student model이 사람이 직접 만든 human label과 pseudo label에 대한 loss를 동시에 최적화하도록 학습됩니다. 다시 말해, human label된 COCO Dataset과 pseudo label된 ImageNet을 동시에 이용하여 학습됩니다.





3. Experiments

- 1) Pre-training에서 augmentation와 labeled dataset 크기가 미치는 영향

왼쪽 그래프 : 다양한 ImageNet pre-trained checkpoint 상태와 data augmentation 정도에 따른
COCO object detection 성능

오른쪽 그래프 : 다양한 COCO 데이터셋 사이즈와 ImageNet pre-trained checkpoint 상태에 따른
object detection 성능. 모든 모델은 Augment-S4로 학습되었습니다.

해당 그래프를 통해 확인할 수 있는 점들은 아래와 같습니다.



i. 강력한 data augmentation이 사용되었을 때 pre-training은 성능을 저하시킨다.

ii. Labeled data 수의 증가는 pre-training의 가치를 떨어뜨린다.





- 2) Self-training에서 augmentation와 labeled dataset 크기가 미치는 영향

i. 데이터 수가 많고 data augmentation이 심하여 pre-training은 성능을 저하시키는 경우에도 self-training은 성능에 도움이 된다.




ii. Self-training은 dataset 크기에 상관없이 잘 작동하며 pre-training보다 성능이 뛰어나다.






- 3)
 데이터 수가 많고 data augmentation이 심할 때 self-supervised pre-training 또한 성능을 저하시키지만 self-training은 도움이 된다.


해당 실험에서 사용한 self-supervised pre-training 방법은 SimCLR입니다.







4. Discussion

- Rethinking pre-training and universal feature representations : Computer vision의 장대한 목표 중 하나는 여러가지 종류의 task를 해결할 수 있는 universal feature representation을 만드는 것입니다. 해당 논문은 classification과 self-supervised task가 universal representation을 학습하지 못한다는 한계를 보여주었습니다. 해당 논문의 저자들의 직관에 의하면, pre-training이 잘 작동하지 못하는 것은 pre-training이 task of interest를 알지 못하며 adaptation에 실패할 수도 있기 때문이라고 합니다. 이러한 adaptation은 task를 바꿀 때 필요한데, 예를 들어, ImageNet을 위한 좋은 features가 COCO에 필요한 위치 정보를 담고 있지 못할 수도 있습니다. 그리고 이러한 adaptation을 self-training이 더 잘해낼 수 있다고 주장합니다.