【技术博客】通过量化常识来解释常识蒸馏
常识蒸馏介绍
常识蒸馏(Knowledge Distillation)最早是在 2006 年由 Bulica 提出的,在 2014 年 Hinton 对常识蒸馏做了演绎和倒退。常识蒸馏次要思维是训练一个小的网络模型来模拟一个事后训练好的大型网络或者集成的网络。Hinton 在 2015 年发表的论文中提出了‘softmax temperature’的概念,对 softmax 函数做了改良:
当 T 等于 1 时就是规范的 softmax 参数,前者比后者具备这样一个劣势:经过训练后的原模型,其 softmax 散布蕴含有肯定的常识,实在标签只能通知咱们,某个图像样本是一辆宝马,不是一辆垃圾车,也不是一颗萝卜;而带有温度参数 T 的 softmax 函数可能会通知咱们,它最可能是一辆宝马,不大可能是一辆垃圾车,但不可能是一颗萝卜。
Hinton 等人做了三组试验,大体上验证了常识蒸馏办法的有效性。Hinton 等人促成了常识蒸馏的倒退并从试验的角度来验证了常识蒸馏的有效性,而本篇介绍的论文则提出了一些量化常识的概念来解释常识蒸馏的胜利机理。
该论文为了解释常识蒸馏的胜利机理,提出了三个假如,并依据假如基于可视化的量化规范,提出了三种类型的度量规范来验证了对于常识蒸馏的三个假如,为解释常识蒸馏提供了根据。
假如提出
假如 1:常识蒸馏使 DNN 能够学习更多的视觉概念。咱们将与工作相干的视觉概念和其余概念辨别开来,如下图所示,前景上的视觉概念通常被认为是与工作相干的,而背景上的视觉概念则被认为是与工作无关的。
假如 2:常识蒸馏确保了 DNN 易于同时学习各种视觉概念。相比之下根底网络偏向于程序学习视觉概念,即在不同的 epoch 学习不同的概念。
假如 3:常识蒸馏的模型优化方向更加稳固。DNN 在对原始数据进行学习时,通常会在晚期尝试对各种视觉概念进行建模,而后在前期摈弃某些视觉概念;而在常识蒸馏的过程中,老师网络间接疏导学生网络瞄准特定视觉概念,没有显著的曲折。
在该文章的钻研中,视觉概念被定义为一个图像区域,如物体的一个局部:翅膀、头、爪子等。根底网络被定义为从原始数据中学习的网络。
算法
在该节,咱们给定一个提前训练好的 DNN 网络(老师网络)和一个经蒸馏造成的另一个 DNN 网络(学生网络),为了解释常识蒸馏,咱们将学生网络与从原始数据中学习生成 DNN 网络相比拟,另外咱们将工作限度为分类工作来简化上面的实践剖析。
为了验证假如 1,这里定义几个度量的规范:
这里 和别离代表了背景上的视觉概念的数量和前景上视觉概念的数量,这里对于视觉概念的判断办法来源于信息论,示意背景的均匀熵,咱们通常将背景上的像素认作与工作无关的视觉概念。因而咱们能够将 作为整张图像熵的基线。熵值显著低于 的图像区域能够视为无效的视觉概念,b 为一个正标量。当括号内条件满足时,返回 1,否则返回 0.
(上图为视觉概念(visual concepts)的可视化体现,第二列示意了不同图像每个像素的熵值,在第三列中,具备低熵值的区域被视为视觉概念)
从统计学来看,前景上的视觉概念通常与工作相干,而背景上的视觉概念次要与工作无关,这样当 DNN 具备更强的鉴别能力时,参数会更高。
为了验证假如 2,咱们提出了两个度量规范。给定一组训练图像 ,咱们将每个 epoch 后失去的前景中视觉概念的数量写为 咱们定义 示意具备最多视觉概念的 epoch,“weight distance”来测量在视觉概念最多时的学习过程。没有应用 epoch number 而是应用 weight distance 的起因是后者更好的量化了每个 epoch 后参数更新的总门路,因而咱们应用平均值 和
标准差 来量化一个 DNN 是否同时学习视觉概念:
平均值 和标准差 别离示意 DNN 是否能疾速学习视觉概念和是否同时学习各种视觉概念,因而 和的数值越小,代表 DNN 可能疾速同时地学习各种视觉概念。
(DNN 偏向于在后期学习各种视觉概念,之后次要抛弃与工作无关的概念)
为了验证假如 3,即须要量化 DNN 优化方向的稳定性,这里提出了一种新的度量办法。咱们将在每一个 epoch 中失去的视觉概念的汇合定义为。由此咱们能够将优化方向的稳定性定义为:
该式中分子代表的是最终抉择的视觉概念,如下图彩色方框中所示;而分母代表的是每一个 epoch 中抉择的视觉概念的并集,如下图绿色方框中所示。
大的 值代表了每一个 epoch 中抉择的视觉概念都在最终后果中,阐明优化后的 DNN 走的弯路少,即代表了优化的稳定性好。
试验验证
利用上述提到的 等参数,作者等人基于 ILSVRC-2013 DET 数据集、CUB200-2011 数据集、Pascal VOC 2012 数据集训练了这些 DNN 网络,为了综合比拟,应用了 AlexNet、VGG-11、VGG-16、VGG-19、ResNet-50、ResNet-101、ResNet-152 进行试验。将每个 DNN 作为老师网络,咱们将常识从老师网络提取到学生网络,学生网络与老师网络具备雷同的架构,以便进行偏心的比拟。同时,要求根底网络具备与老师网络雷同的体系结构。
(VGG-11 中 FC1 层中视觉概念的可视化,能够看出学生网络相比于根底网络有更大的 和更小的)
学生网络(S)与根底网络(B)相比,、别离示意值越大、越小越好。依据表中数据,学生网络相比根底网络具备更大的 ,和更小的 ,这间接验证了假如 1 -3。
论断
该文章从对 DNN 的常识进行量化的角度来解释了常识蒸馏的胜利。提出了三种类型的度量规范来验证分类场景中的三种假如,也就是绝对于从原始数据进行学习,常识蒸馏能够确保 DNN 学习更多与工作相干的概念,学习更少与工作无关的概念,具备更高的学习速度,并以更少的弯路进行优化。
参考文献
[1]Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015.
[2]Cheng X , Rao Z , Chen Y , et al. Explaining Knowledge Distillation by Quantifying the Knowledge[J]. 2020.