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% # 55
Number of params 480M # 935
Hardware Burden 51800G # 1
Operations per network pass None # 1
Image Classification ImageNet NoisyStudent (EfficientNet-B4) Top 1 Accuracy 85.3% # 231
Number of params 19M # 528
Image Classification ImageNet NoisyStudent (EfficientNet-B0) Top 1 Accuracy 78.8% # 738
Number of params 5.3M # 415
Image Classification ImageNet NoisyStudent (EfficientNet-B1) Top 1 Accuracy 81.5% # 577
Number of params 7.8M # 459
Image Classification ImageNet NoisyStudent (EfficientNet-B2) Top 1 Accuracy 82.4% # 491
Number of params 9.2M # 468
Image Classification ImageNet NoisyStudent (EfficientNet-B5) Top 1 Accuracy 86.1% # 170
Number of params 30M # 646
Image Classification ImageNet NoisyStudent (EfficientNet-B6) Top 1 Accuracy 86.4% # 143
Number of params 43M # 694
Image Classification ImageNet NoisyStudent (EfficientNet-B7) Top 1 Accuracy 86.9% # 115
Number of params 66M # 777
GFLOPs 37 # 405
Image Classification ImageNet NoisyStudent (EfficientNet-B3) Top 1 Accuracy 84.1% # 325
Number of params 12M # 496
Image Classification ImageNet ReaL EfficientNet-L2 Accuracy 90.55% # 16
Params 480M # 50

Methods