Self-training with Noisy Student improves ImageNet classification

We present Noisy Student Training, a semi-supervised learning approach that works well even when labeled data is abundant. Noisy Student Training achieves 88.4% top-1 accuracy on ImageNet, which is 2.0% better than the state-of-the-art model that requires 3.5B weakly labeled Instagram images. On robustness test sets, it improves ImageNet-A top-1 accuracy from 61.0% to 83.7%, reduces ImageNet-C mean corruption error from 45.7 to 28.3, and reduces ImageNet-P mean flip rate from 27.8 to 12.2. Noisy Student Training extends the idea of self-training and distillation with the use of equal-or-larger student models and noise added to the student during learning. On ImageNet, we first train an EfficientNet model on labeled images and use it as a teacher to generate pseudo labels for 300M unlabeled images. We then train a larger EfficientNet as a student model on the combination of labeled and pseudo labeled images. We iterate this process by putting back the student as the teacher. During the learning of the student, we inject noise such as dropout, stochastic depth, and data augmentation via RandAugment to the student so that the student generalizes better than the teacher. Models are available at https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet. Code is available at https://github.com/google-research/noisystudent.

PDF Abstract CVPR 2020 PDF CVPR 2020 Abstract

Results from the Paper


Ranked #16 on Image Classification on ImageNet ReaL (using extra training data)

     Get a GitHub badge
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Image Classification ImageNet NoisyStudent (EfficientNet-L2) Top 1 Accuracy 88.4% # 53
Number of params 480M # 937
Hardware Burden 51800G # 1
Operations per network pass None # 1
Image Classification ImageNet NoisyStudent (EfficientNet-B4) Top 1 Accuracy 85.3% # 230
Number of params 19M # 530
Image Classification ImageNet NoisyStudent (EfficientNet-B0) Top 1 Accuracy 78.8% # 737
Number of params 5.3M # 418
Image Classification ImageNet NoisyStudent (EfficientNet-B1) Top 1 Accuracy 81.5% # 576
Number of params 7.8M # 462
Image Classification ImageNet NoisyStudent (EfficientNet-B2) Top 1 Accuracy 82.4% # 490
Number of params 9.2M # 471
Image Classification ImageNet NoisyStudent (EfficientNet-B5) Top 1 Accuracy 86.1% # 169
Number of params 30M # 648
Image Classification ImageNet NoisyStudent (EfficientNet-B6) Top 1 Accuracy 86.4% # 142
Number of params 43M # 696
Image Classification ImageNet NoisyStudent (EfficientNet-B7) Top 1 Accuracy 86.9% # 114
Number of params 66M # 779
GFLOPs 37 # 405
Image Classification ImageNet NoisyStudent (EfficientNet-B3) Top 1 Accuracy 84.1% # 324
Number of params 12M # 498
Image Classification ImageNet ReaL EfficientNet-L2 Accuracy 90.55% # 16
Params 480M # 50

Methods