논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Self-training with Noisy Student improves ImageNet classification

1. Introduction

  • 레이블된 데이터는 그 수의 한계가 있기에 레이블된 되지 않은 데이터를 이용해서 ImageNet의 정확도를 올리고자 한다.
    • ImageNet보다 훨씬 많은 unlabled 이미지를 이용하였고, 이 이미지들은 ImageNet의 카테고리로는 분류되지 않는 이미지들도 있다.
  • Self-training 프레임워크를 사용하여,
    1. 레이블된 이미지를 이용하여 teacher 모델을 학습하고,
    2. Teacher 모델를 통해 레이블되지 않은 이미지에 대해 pseudo label을 생성한다.
    3. 레이블된 이미지와 pseudo label을 가지는 이미지를 모두 이용하여 Student 모델을 학습한다.
    4. Pseudo label을 갱신해가며 이 과정을 몇번 반복한다.

2. Self-training with Noisy Student

  • 알고리즘의 개략적인 부분은 위에서 설명한 바와 같다.
  • Pseudo label은 soft하거나 hard할 수 있다.
    • Soft는 continuous distribution으로 생각하면 된다.
  • 알고리즘은 semi-supervised learning에서 사용하는 self-training의 한 종류이다.
    • 한가지 큰 다른점은 student 모델에 noise를 지닌 소스를 더 많은 준 것이다.
    • Noise 소스에 teacher가 pseudo label을 지정함에 따라 noise가 제거되면서 결과적으로 성능을 높일 수 있다.
  • Dropout, Stochastic depth, data augmentation에서처럼 student 모델이 고의적으로 노이즈를 받도록 훈련하면 노이즈가 없이 훈련된 teacher 모델보다 더 일관된 결과를 내게 된다.
  • Teacher와 student 모델은 같을 수도 있고 달라질 수도 있다.
    • 하지만 Noisy Student가 잘 작동하려면 더 많은 데이터를 받아들이기에 student 모델이 충분히 커야 한다.
    • 이를 위해 ResNet만큼의 capacity를 갖는 EfficientNet을 사용하였고, teacher 모델보다 student 모델이 더 큰 모델을 갖도록 하였다.
  • 추가로 ImageNet에서처럼 레이블되지 않은 데이터도 각 클래스당 동일한 수를 갖도록 하였다. 부족한 클래스는 복제하여 사용하였고, 남는 클래스는 confidence가 높은 이미지를 선택하였다.
  • 또한 실험적으로 soft label이 더 안정적이었다.

3. Experiments


Add a Comment Trackback