Explaining Knowledge Distillation by Quantifying the Knowledge
简介
论文标题
- Explaining Knowledge Distillation by Quantifying the Knowledge
- 可解释性:通过量化知识来解释知识蒸馏
- 2020.3.7
核心内容
- 本研究核心在于通过定义并量化神经网络中层特征的“知识量”,从神经网络表达能力的角度来解释知识蒸馏算法的成功机理,提出并验证以下三个Hypotheses
作者本人知乎在下方链接
摘要
本文提出了一种通过量化和分析深度神经网络(DNN)中间层中与任务相关和与任务无关的视觉概念来解释知识蒸馏成功的方法。更具体地说,提出了以下三个假设。
1.知识蒸馏使DNN比从原始数据中学习更多的视觉概念。
2.知识蒸馏保证了DNN易于同时学习各种视觉概念。然而,在从原始数据学习的场景中,DNN按顺序学习视觉概念。
3.知识蒸馏比从原始数据中学习得到更稳定的优化方向。
如何定义并量化DNN所建模的“知识”?

- 本研究中,知识指不依赖人为主观标注的,与任务相关的一块图像区域,如图中的鸟头、鸟肚子等。
利用输入信息的遗忘程度来衡量神经网络中层特征所建模的“知识量”
依据information-bottleneck[1],DNN对输入信息是逐层遗忘的。因而我们利用输入信息的遗忘程度来衡量神经网络中层特征所建模的“知识量”,并借助条件熵来量化信息遗忘[2,3]。具体如下:
给定输入图片,以及DNN中层特征,则信息遗忘可转化为计算时的信息损失的熵。
我们假设神经网络往往用一个很小的特征范围去表示某一概念||f-f*|| < small constant。我们旨在量化“被神经网络视为表示同一概念的不同图片的概率分布的熵”。即,我们考虑对输入图片加入一个微小扰动,并计算满足||f-f*|| < small constant时,输入图片的熵。
考虑到高斯分布的独立性,整个图片的熵可分解成像素级熵的加和,信息遗忘量越少越小,则输入中蕴含的与任务相关的信息越多,“知识量”也越多
知识点定义
考虑到不同像素上的熵是不一样的,一个图片上的“知识点”被定义为那些信息熵比较小的像素,即其信息损失比“平均背景信息熵”明显小很多的像素点。进一步,这些信息损失比较小的像素点的个数被认为是这个图片上的知识量。这里“平均背景信息熵”是一个参考值,用来大致衡量神经网络在与分类无关的图像区域的信息损失程度。

信息丢弃的定量化
根据信息瓶颈理论[41,36],通过层层逐渐丢弃输入图像的信息。[14,26]提出了一种对DNN特定中间层编码的输入信息进行量化的方法,即度量DNN在提取该层特征时忽略了多少输入信息。在给定中间层特征f∗=f(X)的情况下,信息丢弃被表示为输入的条件熵H(X0),如下所示。
H ( X ′ ) s.t. ∀ x ′ ∈ X ′ , ∥ f ( x ′ ) − f ∗ ∥ 2 ≤ τ H\left(X^{\prime}\right) \text { s.t. } \forall x^{\prime} \in X^{\prime},\left\|f\left(x^{\prime}\right)-f^{*}\right\|^{2} \leq \tau H(X′) s.t. ∀x′∈X′,∥f(x′)−f∗∥2≤τ
X0表示与特定对象实例的概念相对应的一组图像。
假设x’独立同分布并满足高斯分布 x ′ ∼ N ( x , Σ = diag ( σ 1 2 , … , σ n 2 ) ) x^{\prime} \sim \mathcal{N}\left(x, \Sigma=\operatorname{diag}\left(\sigma_{1}^{2}, \ldots, \sigma_{n}^{2}\right)\right) x′∼N(x,Σ=diag(σ12,…,σn2)),其中σ控制每个第i个像素处的扰动大小。n表示输入图像的像素数。这样,高斯分布的假设确保可以将整个图像的熵H(X0)分解成像素级熵{Hi},如下所示。
H ( X ′ ) = ∑ i = 1 n H i H\left(X^{\prime}\right)=\sum_{i=1}^{n} H_{i} H

最低0.47元/天 解锁文章
518





