原文:Xie, Qizhe, Eduard H. Hovy, Minh-Thang Luong and Quoc V. Le. “Self-Training With Noisy Student Improves ImageNet Classification.” 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2020): 10684-10695.
源码:https://github.com/google-research/noisystudent
我们提出了一种简单的自训练方法Noisy Student,在ImageNet上实现了88.4%的Top-1精度,比之前的SOTA模型提高了2.0%。在稳健性测试集上,它将ImageNet-A的Top-1精度从61.0%提高到了83.7%,将ImageNet-C的平均损坏误差从45.7降低到了28.3,并将ImageNet-P的平均翻转率从27.8降低到了12.2。
为了实现这一结果,我们首先在有标签的ImageNet图像上训练了一个EfficientNet模型,并将其作为教师模型给300M无标签图像打上伪标签。然后,我们使用上述有标签图像和伪标签图像训练了一个更大的EfficientNet作为学生模型。接着,我们让学生模型成为新的教师模型来迭代这个过程。在生成伪标签的过程中,教师模型不受干扰,使伪标签尽可能准确。而在学生模型的学习过程中,我们通过RandAugment引入dropout、random depth、data augmentation等噪声,使学生模型的泛化能力优于教师模型。
表1:Noisy Student与之前的SOTA模型结果的比较。
★ 背景知识
计算机视觉中的半监督学习
SimCLR v2:大型自监督模型是强大的半监督学习者
★ 模型方法
首先,我们基于有标签图像,使用标准交叉熵损失训练一个教师模型。然后,我们使用教师模型在无标签的图像上生成伪标签,伪标签可以是软的(连续分布),也可以是硬的(独热分布)。然后,我们基于上述有标签和伪标签图像,使用标准交叉熵损失训练一个学生模型。最后,我们迭代这个过程,将学生模型作为新的教师模型,以生成新的伪标签并训练新的学生模型。
图1:NoisyStudent的方法。
算法1:NoisyStudent的算法。
★ 实验结果
表2:NoisyStudent和之前的SOTA模型在ImageNet上的Top-1和Top-5精度。
图2:NoisyStudent使所有型号的EfficientNet都有了显著的改进。
表3:在ImageNet-A上的鲁棒性结果。
表4:在ImageNet-C上的鲁棒性结果。
表5:在ImageNet-P上的鲁棒性结果。
图3:从ImageNet-A、C和P中选择的图像示例。在ImageNet-A和C上,带NoisyStudent的EfficientNet生成了正确的Top-1预测(黑色),而不带NoisyStudent的EfficientNet生成了错误的Top-1预测(红色)。在ImageNet-P上,不带NoisyStudent的EfficientNet经常改变预测。
图4:NoisyStudent提高了对FGSM攻击的对抗鲁棒性,尽管该模型未针对对抗鲁棒性进行优化。
表6:关于噪声的消融研究。
表7:迭代训练提高了精度,其中Batch Size Ratio表示无标签数据和有标签数据之间的批量大小比率。
表8:本文中使用的EfficientNets的架构规范。
表9:使用我们的最佳模型(Top-1精度为88.4%)作为教师模型可以带来更多的性能提升。
表10:Noisy Student训练的性能随着无标签数据量的增加而提高。
图5:对于低置信度数据(域外数据),软伪标签可以带来更好的性能。
表11:使用更大的学生模型可以提高性能。
表12:对于小型模型,数据平衡会产生更好的结果。
表13:联合训练比预训练和微调的效果更好。
表14:对于固定的有标签数据的批量大小,增大无标签数据的批量大小可以提高EfficientNet-L2的性能,其中Batch Size Ratio表示无标签数据和有标签数据之间的批量大小比率。
表15:由教师模型初始化的学生模型仍然需要至少140个epoch才能表现良好。
表16:在ResNet-50上的实验。
表17:在SVHN上的结果。
表18:使用YFCC100M和JFT作为无标签数据集的结果。
★ 总结讨论
以前关于弱监督学习的工作需要大量的弱标记数据来改进SOTA ImageNet模型。在这项工作中,我们证明了使用无标签图像可以显著提高SOTA ImageNet模型的精度和鲁棒性。我们发现,自训练是一种简单有效的算法,可以大规模利用无标签数据。我们通过给学生模型增加噪声(因此得名NoisyStudent)来改进它,使其可以学到超出教师模型的知识。
我们的实验表明,带NoisyStudent的EfficientNet可以达到88.4%的精度,比不带NoisyStudent时提高了2.9%,这一结果达到了新的SOTA水平,比之前使用弱标记数据的最佳方法提高了2.0%。
我们工作的一个重要贡献是证明NoisyStudent增强了计算机视觉模型的鲁棒性。实验表明,我们的模型在ImageNet-A、C和P上的性能都有显著提高。
多模态人工智能
为人类文明进步而努力奋斗^_^↑
50篇原创内容
欢迎关注“多模态人工智能”公众号,一起进步^_^↑