
摘要
我们提出了一种名为“噪声学生训练”(Noisy Student Training)的半监督学习方法,该方法在标注数据充足的情况下仍能表现出色。在ImageNet数据集上,该方法取得了88.4%的top-1准确率,较此前需要35亿条弱标注Instagram图像的最先进模型提升了2.0个百分点。在鲁棒性测试集上,其表现显著优于基线:ImageNet-A的top-1准确率从61.0%提升至83.7%,ImageNet-C的平均扰动误差从45.7降至28.3,ImageNet-P的平均翻转率从27.8降至12.2。噪声学生训练通过引入与教师模型规模相当或更大的学生模型,并在学生模型的学习过程中加入噪声,从而扩展了自训练(self-training)与知识蒸馏(distillation)的思想。在ImageNet上,我们首先使用标注图像训练一个EfficientNet模型作为教师模型,利用该教师模型为3亿张未标注图像生成伪标签。随后,我们使用一个更大的EfficientNet模型作为学生模型,在标注数据与伪标签数据的混合数据集上进行训练。之后,我们将训练完成的学生模型重新作为教师模型,重复上述过程。在学生模型的训练过程中,我们向其引入多种噪声,包括Dropout、随机深度(stochastic depth)以及通过RandAugment进行的数据增强,以促使学生模型的泛化能力超越教师模型。相关模型代码已开源,可访问:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet完整训练代码可在以下地址获取:https://github.com/google-research/noisystudent
代码仓库
stanleyjzheng/PyData
GitHub 中提及
mhd-medfa/NoisyStudent-Based-Object-Recognition
tf
GitHub 中提及
tensorflow/tpu
官方
tf
google-research/noisystudent
官方
tf
GitHub 中提及
leondgarse/Keras_efficientnet_v2
tf
GitHub 中提及
thomasly/PaperTranslation
GitHub 中提及
xultaeculcis/coral-net
pytorch
GitHub 中提及
leondgarse/Keras_efficientnet_v2_test
tf
GitHub 中提及
yakhyo/EfficientNet-PyTorch
pytorch
phamtrancsek12/offensive-identification
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B2) | Number of params: 9.2M Top 1 Accuracy: 82.4% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B7) | GFLOPs: 37 Number of params: 66M Top 1 Accuracy: 86.9% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B5) | Number of params: 30M Top 1 Accuracy: 86.1% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B4) | Number of params: 19M Top 1 Accuracy: 85.3% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B3) | Number of params: 12M Top 1 Accuracy: 84.1% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B0) | Number of params: 5.3M Top 1 Accuracy: 78.8% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B1) | Number of params: 7.8M Top 1 Accuracy: 81.5% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-B6) | Number of params: 43M Top 1 Accuracy: 86.4% |
| image-classification-on-imagenet | NoisyStudent (EfficientNet-L2) | Hardware Burden: 51800G Number of params: 480M Operations per network pass: Top 1 Accuracy: 88.4% |
| image-classification-on-imagenet-real | EfficientNet-L2 | Accuracy: 90.55% Params: 480M |