Command Palette
Search for a command to run...
Ting Chen Simon Kornblith Kevin Swersky Mohammad Norouzi Geoffrey Hinton

Abstract
One paradigm for learning from few labeled examples while making best use of a large amount of unlabeled data is unsupervised pretraining followed by supervised fine-tuning. Although this paradigm uses unlabeled data in a task-agnostic way, in contrast to common approaches to semi-supervised learning for computer vision, we show that it is surprisingly effective for semi-supervised learning on ImageNet. A key ingredient of our approach is the use of big (deep and wide) networks during pretraining and fine-tuning. We find that, the fewer the labels, the more this approach (task-agnostic use of unlabeled data) benefits from a bigger network. After fine-tuning, the big network can be further improved and distilled into a much smaller one with little loss in classification accuracy by using the unlabeled examples for a second time, but in a task-specific way. The proposed semi-supervised learning algorithm can be summarized in three steps: unsupervised pretraining of a big ResNet model using SimCLRv2, supervised fine-tuning on a few labeled examples, and distillation with unlabeled examples for refining and transferring the task-specific knowledge. This procedure achieves 73.9% ImageNet top-1 accuracy with just 1% of the labels ($\le$13 labeled images per class) using ResNet-50, a $10\times$ improvement in label efficiency over the previous state-of-the-art. With 10% of labels, ResNet-50 trained with our method achieves 77.5% top-1 accuracy, outperforming standard supervised training with all of the labels.
Code Repositories
Benchmarks
| Benchmark | Methodology | Metrics |
|---|---|---|
| self-supervised-image-classification-on | SimCLRv2 (ResNet-50 x2) | Number of Params: 94M Top 1 Accuracy: 75.6% Top 5 Accuracy: 92.7% |
| self-supervised-image-classification-on | SimCLRv2 (ResNet-50) | Number of Params: 24M Top 1 Accuracy: 71.7% Top 5 Accuracy: 90.4% |
| self-supervised-image-classification-on | SimCLRv2 (ResNet-152 x3, SK) | Number of Params: 795M Top 1 Accuracy: 79.8% Top 5 Accuracy: 94.9% |
| self-supervised-image-classification-on-1 | SimCLRv2 (ResNet-152, 3×+SK) | Number of Params: 795M Top 1 Accuracy: 83.1% |
| semi-supervised-image-classification-on-1 | SimCLRv2 (ResNet-152 x3, SK) | Top 1 Accuracy: 74.9% Top 5 Accuracy: 92.3% |
| semi-supervised-image-classification-on-1 | SimCLRv2 distilled (ResNet-50 x2, SK) | Top 1 Accuracy: 75.9% Top 5 Accuracy: 93.0% |
| semi-supervised-image-classification-on-1 | SimCLRv2 distilled (ResNet-50) | Top 1 Accuracy: 73.9% Top 5 Accuracy: 91.5% |
| semi-supervised-image-classification-on-1 | SimCLRv2 self-distilled (ResNet-152 x3, SK) | Top 1 Accuracy: 76.6% Top 5 Accuracy: 93.4% |
| semi-supervised-image-classification-on-1 | SimCLRv2 (ResNet-50) | Top 1 Accuracy: 57.9% Top 5 Accuracy: 82.5% |
| semi-supervised-image-classification-on-1 | SimCLRv2 (ResNet-50 ×2) | Top 1 Accuracy: 66.3% Top 5 Accuracy: 87.4% |
| semi-supervised-image-classification-on-2 | SimCLRv2 (ResNet-152 x3, SK) | Top 1 Accuracy: 80.1% Top 5 Accuracy: 95.0% |
| semi-supervised-image-classification-on-2 | SimCLRv2 (ResNet-50) | Top 1 Accuracy: 68.4% Top 5 Accuracy: 89.2% |
| semi-supervised-image-classification-on-2 | SimCLRv2 distilled (ResNet-50 x2, SK) | Top 1 Accuracy: 80.2% Top 5 Accuracy: 95.0% |
| semi-supervised-image-classification-on-2 | SimCLRv2 distilled (ResNet-50) | Top 1 Accuracy: 77.5% Top 5 Accuracy: 93.4% |
| semi-supervised-image-classification-on-2 | SimCLRv2 (ResNet-50 x2) | Top 1 Accuracy: 73.9% Top 5 Accuracy: 91.9% |
| semi-supervised-image-classification-on-2 | SimCLRv2 self-distilled (ResNet-152 x3, SK) | Top 1 Accuracy: 80.9% Top 5 Accuracy: 95.5% |
Build AI with AI
From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.