
摘要
我们提出了一种简单而高效的蒸馏框架,无需使用任何技巧即可将原始的ResNet-50在ImageNet数据集上提升至80%以上的Top-1准确率。该框架通过分析现有分类系统中的问题,并对基于判别器的集成知识蒸馏方法进行简化,具体包括:(1)仅在最终输出层引入相似性损失和判别器;(2)采用所有教师模型softmax概率的平均值作为更强的监督信号。令人瞩目的是,本工作提出了三个新颖的蒸馏视角:(1)由于软标签本身具有正则化作用,权重衰减(weight decay)可被弱化甚至完全移除;(2)为学生模型选择合适的初始化至关重要;(3)若权重初始化得当,蒸馏过程中无需使用one-hot或硬标签。我们证明,这一简洁直接的框架在不依赖任何常见技术的前提下,即可达到最先进的性能,这些技术包括:网络结构修改、超出ImageNet的外部训练数据、AutoAug/RandAug数据增强、余弦退火学习率、Mixup/CutMix训练、标签平滑等。在仅使用单尺度224×224输入的情况下,我们的方法在原始ResNet-50上实现了80.67%的Top-1准确率,显著超越了相同网络结构下的先前最优结果。该成果可被视为知识蒸馏领域的一个强有力基线,据我们所知,这也是首个在不进行结构修改或引入额外训练数据的情况下,成功将原始ResNet-50的性能提升至超过80% ImageNet Top-1准确率的方法。在更小的ResNet-18模型上,我们的蒸馏框架也实现了从69.76%到73.19%的稳定提升,展现出在实际应用中的巨大潜力。相关代码与模型已开源,地址为:https://github.com/szq0214/MEAL-V2。
代码仓库
szq0214/MEAL-V2
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-imagenet | MEAL V2 (ResNet-50) (224 res) | Top 1 Accuracy: 80.67% |
| image-classification-on-imagenet | MEAL V2 (ResNet-50) (380 res) | Number of params: 25.6M Top 1 Accuracy: 81.72% |
| image-classification-on-imagenet | ResNet-18 (MEAL V2) | Top 1 Accuracy: 73.19% |
| image-classification-on-omnibenchmark | MEAL-V2 | Average Top-1 Accuracy: 36.6 |