知识蒸馏理解为正则化?从标签平滑正则化的角度和 KD 关系的角度提出以下两个论点:KD 是一种可学习的标签平滑正则化。标签平滑正则化为 KD 提供了一个虚拟的 Teacher 模型。基于这些分析,本文进一步提出了一种无教师知识蒸馏方法,并在分类任务上验证了其性能。

 把知识蒸馏理解为正则化:从标签平滑正则化的角度重新审视知识蒸馏

论文名称:Revisiting Knowledge Distillation via Label Smoothing Regularization

论文地址:

 https://arxiv.org/pdf/1909.11723

本文发现:

  • 除了 Teacher 可以帮助提高 Student 性能以外,Student 也可以通过逆向 KD 提高 Teacher 性能
  • 一个缺乏训练的,准确度远低于学生的 Teacher 模型,仍然可以显著提高 Student 模型。

为了解释这些现象,作者从标签平滑正则化的角度和 KD 关系的角度提出以下两个论点:

  1. KD 是一种可学习的标签平滑正则化。
  2. 标签平滑正则化为 KD 提供了一个虚拟的 Teacher 模型。

基于这些分析,本文进一步提出了一种无教师知识蒸馏 (Tf-KD) 方法。Tf-KD 可以直接用于训练深度神经网络。在没有任何额外计算成本的情况下,Tf-KD 在 ImageNet 上比建立好的基线模型提高了 0.65%,优于标签平滑正则化。

1.1.1 背景和动机

知识蒸馏旨在将知识从一个 Teacher 转移到另一个 Student 模型。关于 KD 的一种常见观点是:Teacher 模型的 soft target 的不同类别之间相似度信息的 "dark knowledge" 可以帮助增强学生模型的性能。作者在本文中通过以下几个探索性实验来检查 (并反对) 这一观点,并指出:教师模型中的 soft target 为学生模型提供的有效正则化的作用,才是真正重要的。

1.1.2 探索性实验

首先作者做了两个探索性实验:

  1. Reversed Knowledge Distillation (Re-KD): 让 Student 模型教 Teacher 模型 (通过转移 soft target)。
  2. Defective Knowledge Distillation (De-KD): 让一个缺乏训练的,准确度远低于学生的 Teacher 模型,来教 Student 模型。

按照上面的常见观点,我们应该得到下面的结论:

  1. Teacher 模型不会通过 Student 的训练得到显著的增强。因为性能较弱的 Student 模型太弱,不能提供类别之间可靠的相似度信息。
  2. 缺乏训练的 Teacher 模型也不会增强学生模型的性能。因为缺乏训练的 Teacher 模型不能提供类别之间可靠的相似度信息。比如,假设 Teacher 的准确率只有10%,那么学生将从其软目标中学习,误差为 90%,因此 Student 不应该得到提高,甚至表现会更差。

但是,作者通过大量实验观察到了相互矛盾的结果。实验结果如下。

Re-KD 实验

在图1的 Table.1 中,通过向 Student 学习,Teacher 的性能得到了显著的改善,尤其是 ResNet18 和 ResNet50 的 Teacher 模型。两位教师在以 MobileNetV2 和 ShuffleNetV2 作为 Student 训练时,性能提升的幅度均超过1.1%。同样也可以在 CIFAR10 和 Tiny-ImageNet 上观察到类似的结果。可以看到,在大多数情况下,Normal KD 的效果更好。需要注意的是,Re-KD 以教师的准确率作为基线准确率,比 Normal KD 要高很多。然而,在某些情况下,我们可以发现 Re-KD 优于 Normal KD。例如,在图1的 Table.2 中,通过 MobileNetV2 的教学,学生模型只能提高 0.31%,但是通过向学生学习,教师 MobileNetV2 可以提高 0.92%。

Tf-KD_相似度

图1:Re-KD 实验结果

Re-KD 实验结论: 除了 Teacher 可以帮助提高 Student 性能以外,优秀的 Teacher 也可以通过向较弱的 Student 学习而显著增强。

De-KD 实验

作者在 CIFAR100 和 Tiny-ImageNet 上进行 De-KD 实验。作者采用 MobileNetV2 和 ShuffleNetV2 作为学生模型,ResNet18, ResNet50 和 ResNeXt29 (8×64d) 作为教师模型。Poorly-Trained 的教师被1个 Epoch (ResNet18) 或50个 Epoch (ResNet50 和 ResNeXt29) 训练,性能非常差。例如 ResNet18 在经过1个 Epoch 训练后,在 CIFAR100 上的准确率仅为 15.48%,在 Tiny-ImageNet 上的准确率为 9.41%。ResNet50 在经过50个Epoch (总共200个 Epoch) 的训练后,在 CIFAR100 和 Tiny-ImageNet 上的准确率分别为 45.82% 和 31.01%。

在图2的 Table.4 中,我们可以观察到,即使是一个缺乏训练的,准确度远低于学生的 Teacher 模型,仍然可以显著提高 Student 模型。比如以1 Epoch 训练的 ResNet18 模型作为 Teacher (准确率只有15.48%),MobileNetV2 和 ShuffleNetV2 的性能可以分别提升 2.27% 和 1.48%。对于 Poorly-Trained 的 ResNeXt29 (准确率为51.94%),作者发现 ResNet18 和 MobileNetV2 仍然可以分别提高 1.41% 和 3.14%。

Tf-KD_人工智能_02

图2:De-KD 实验结果

总结以上两个实验的结果为:

  1. 除了 Teacher 可以帮助提高 Student 性能以外,Student 也可以通过逆向 KD 提高 Teacher 性能
  2. 一个缺乏训练的,准确度远低于学生的 Teacher 模型,仍然可以显著提高 Student 模型。

这样有趣的结果促使作者

Re-KD 和 De-KD 的反直觉结果促使作者重新思考 KD 中的 "dark knowledge" ,作者认为它不仅仅包含相似信息。一个模型缺乏足够的相似度信息,仍然可以提供 "dark knowledge" 来增强其他模型。为了解释这一点,作者将 KD 解释为一个正则化项 (Regularization Term)。作者从标签平滑正则化 (Label Smoothing regularization, LSR) 的角度重新审视 KD 的过程。

1.1.3 标签平滑正则化和知识蒸馏

然后作者从理论上分析了 KD 和 LSR 之间的关系:

  1. 对于标签平滑正则化 (LSR),作者把它分成了2项:即:一个 Ground-Truth 分布 (one-hot label) + 一个虚拟的教师模型,该模型提供了一个均匀分布来教模型

2. KD 也有相对应的两项。即:一个 Ground-Truth 分布 (one-hot label)+ 一个教师模型分布。其中 KD 的第二项的分布来自教师模型,但 LSR 的第二项的分布是人工设计的。也就是说,KD 其实相当于一个可学习的标签平滑正则化过程。这种关系可以解释上述违反直觉的结果。

具体而言,对于标签平滑正则化:

Tf-KD_人工智能_03

 对于知识蒸馏:

Tf-KD_正则化_04

对比6式和1式,不难发现,KD 是 LSR 的一种特殊情况 (即把 LSR 的均匀分布改为了一个由教师模型输出的可学习的分布)。

通过对两个损失函数的比较,可以总结出知识蒸馏与标签平滑正则化之间的关系如下:

  • 知识蒸馏是一种可学习的标签平滑正则化,其功能与后者类似,即对模型的标签进行正则化。
  • 标签平滑是一种特别的知识蒸馏,它可以视为是 Teacher 的输出是均匀分布,然后温度 \tau=1\tau=1 的特殊情况。
  • 温度越高,教师在知识蒸馏过程中的软目标分布越类似于标签平滑的均匀分布。

至此,Re-KD 和 De-KD 的实验结果就可以得到解释了。无论是 Student 教 Teacher,还是 Poorly-Trained 的 Teacher 教 Student,它们都为被教的模型提供了正则化。

1.1.4 无教师知识蒸馏策略

如 1.1.3 节所述,教师模型中的 "dark knowledge" 更多的是一个正则化,而不是类别间的相似度信息。因此,作者使得一个简单的模型替换教师模型的输出分布,提出了一个新的无教师知识蒸馏 (Tf-KD) 框架,它有两种实现方式。

Self-Training KD

Tf-KD_正则化_05

Tf-KD_人工智能_06

图3:手工设计的教师的分布和均匀分布

1.1.5 实验结果

Self-Training KD 实验结果

CIFAR100 实验结果:Baseline 模型包括 MobileNetV2, ShuffleNetV2, GoogLeNet, ResNet18, DenseNet121 和 ResNeXt29(8×64d),训练 200 epochs,使用 SGD 优化器,momentum 设为 0.9,weight decay 为 5e-4。

如下图4所示为六种模型的精度。可以看出,Tf-KD self 始终优于 Baseline。例如,ResNeXt29 作为一个参数为34.52M 的模型,通过自正则化使自身提高了 1.05% 的精度。比如使用 ResNet50 来教 ReseNet18,Student 模型有 1.19% 的提高,但本文方法在没有使用任何更强的教师模型的情况下实现了 1.23% 的提高。

Tf-KD_人工智能_07

图4:CIFAR100 实验结果

Tiny-ImageNet 和 ImageNet 实验结果:分别如图5和6所示。可以看出 Tf-KD self持续改善了基线模型,并与正常 KD 取得了相当的性能提升。

Tf-KD_相似度_08

图5:Tiny-ImageNet 实验结果

Tf-KD_人工智能_09

图6:ImageNet 实验结果   

Manually Designed Regularization 实验结果

Tf-KD_相似度_10

图8:Tiny-ImageNet 实验结果

Tf-KD_均匀分布_11

图9:ImageNet 实验结果

Tf-KD reg 在 ImageNet 上将 ResNet50 的精度提高了 0.65%。即使是对于一个拥有 88.79M 参数的ResNeXt101(32x8d), Tf-KD reg 使用手工设计的教师输出分布也能实现 0.48% 的改进。

Tf-KD_相似度_12

总结

关于 KD 的一种常见观点是:Teacher 模型的 soft target 的不同类别之间相似度信息的 "dark knowledge" 可以帮助增强学生模型的性能。作者在本文中通过以下几个探索性实验来检查 (并反对) 这一观点,并指出:教师模型中的 soft target 为学生模型提供的有效正则化的作用,才是真正重要的。作者从标签平滑正则化的角度和 KD 关系的角度提出以下两个论点:KD 是一种可学习的标签平滑正则化。标签平滑正则化为 KD 提供了一个虚拟的 Teacher 模型。基于这些分析,本文进一步提出了一种无教师知识蒸馏方法,并在分类任务上验证了其性能。