Research/Few Labels

Noisy Student

업무외시간 2021. 6. 7. 22:17

특이하게 ImageNet을 labeled set, JFT를 unlabeled set으로 하여 서로 다른 category set임에도 semi-supervised learning을 수행하였다. 아래 그림이 사실 학습 과정의 전부다. 먼저 labeled set으로 teacher model을 학습하고 unlabeled set에 대해 pseudo label (soft label)을 생성한다. Labeled set과 pseudo labeled set을 모아 student model을 새로 학습시키는데 이때 여러 noise injection 방법을 사용한다. 학습한 student model은 다시 teacher model이 되어 새로운 student 모델을 학습하여 생성한다.

Noisy Student Process

Implementation details

여러 학습 detail이 있다. Teacher model에서 pseudo label 생성 시 confidence < 0.3인 image는 사용하지 않고 confidence가 높은 순으로 unlabeled set을 선택한다. Class balance를 맞추기 위해 oversampling을 하기도 한다. 

 

왜 잘될까?

1) Pseudo label 관점: pseudo label을 생성하는 network와 학습에 사용하는 network가 분리되어 있다. 학습과 pseudo label 생성이 한 network에서 수행되면 학습 초기에 pseudo label이 매우 부정확할 것이다.

2) Teacher-student model 관점: student model은 teacher knowledge를 활용하여 더 많은 parameter와 dataset, noise injection 방법으로 좋은 성능을 얻을 수 있었다.

 

References

[1] Q Xie et al., Self-training with Noisy Student improves ImageNet Classification, CVPR 2020