
摘要
深度神经网络的泛化能力已通过应用多种正则化方法得到显著提升,例如限制函数空间、在训练过程中引入随机性、数据增强等。本文提出了一种简单而有效的正则化方法——渐进式自知识蒸馏(Progressive Self-Knowledge Distillation, PS-KD),该方法在训练过程中逐步将模型自身知识蒸馏出来,用于软化硬目标(即独热向量,one-hot vectors)。因此,该方法可被理解为知识蒸馏框架中的一种特殊情形:模型自身逐渐从学生演变为教师。具体而言,目标标签通过融合真实标签与模型自身历史预测结果,实现自适应调整。我们证明,PS-KD通过根据样本分类难度重新缩放梯度,实现了硬样本挖掘(hard example mining)的效果。所提方法适用于所有具有硬目标的监督学习任务,且可轻松与现有正则化技术结合,进一步提升模型泛化性能。此外,实验验证表明,PS-KD不仅显著提高了模型精度,还在校准性(calibration)和置信度排序(ordinal ranking)方面提供了高质量的置信度估计。在图像分类、目标检测和机器翻译三个不同任务上的大量实验结果表明,该方法能够持续提升现有最先进基线模型的性能。代码已开源,地址为:https://github.com/lgcnsai/PS-KD-Pytorch。
代码仓库
lgcnsai/ps-kd-pytorch
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-cifar-100 | PyramidNet-200 + Shakedrop + Cutmix + PS-KD | Percentage correct: 86.41 |
| image-classification-on-imagenet | PS-KD (ResNet-152 + CutMix) | Top 1 Accuracy: 79.24% |
| machine-translation-on-iwslt2015-english | PS-KD | BLEU score: 30.00 |
| machine-translation-on-iwslt2015-german | PS-KD | BLEU score: 36.20 |
| multimodal-machine-translation-on-multi30k | PS-KD | BLUE (DE-EN): 32.3 |
| object-detection-on-pascal-voc-2007 | PS-KD (ResNet-152, CutMix) | MAP: 79.7% |