[論文解讀]Explaining Knowledge Distillation by Quantifying the Knowledge

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. xX,f(x)f2τ 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
X0表示與特定對象實例的概念相對應的一組圖像。

假設x’獨立同分布並滿足高斯分佈xN(x,Σ=diag(σ12,,σn2))x^{\prime} \sim \mathcal{N}\left(x, \Sigma=\operatorname{diag}\left(\sigma_{1}^{2}, \ldots, \sigma_{n}^{2}\right)\right),其中σ控制每個第i個像素處的擾動大小。n表示輸入圖像的像素數。這樣,高斯分佈的假設確保可以將整個圖像的熵H(X0)分解成像素級熵{Hi},如下所示。
H(X)=i=1nHi H\left(X^{\prime}\right)=\sum_{i=1}^{n} H_{i}
其中Hi=logσi+12log(2πe)H_{i}=\log \sigma_{i}+\frac{1}{2} \log (2 \pi e)測量像素信息的丟棄。

視覺概念的量化–三個假設

假設一

Hypothesis 1旨在證明相比僅從數據集訓練而得的DNN(baseline network),知識蒸餾使得DNN學到更多的“知識點”,即更多的前景“知識量”和更少的背景“知識量”。

分類任務中,相較於背景,前景信息與任務更爲相關。從而,一個性能優越的教師網絡會建模更多的前景“知識點”和更少的背景“知識點”,使得學生網絡會學到更可靠的“知識點”,如圖3所示,驗證了Hypothesis 1的正確性。

基礎網絡和學生網絡結構相同,但一個是用知識蒸餾得到的,一個是直接學習得到的
Nconcept bg (x)=iΛbg  w.rt. x1(HˉHi>b)Nconcept fg (x)=iΛfg wist ,x1(HˉHi>b)λ=ExI[Nconcept fg (x)/(Nconcept fg (x)+Nconcept bg (x))] \begin{array}{l} N_{\text {concept }}^{\text {bg }}(x)=\sum_{i \in \Lambda_{\text {bg }} \text { w.rt. } x} \mathbb{1}\left(\bar{H}-H_{i}>b\right) \\ N_{\text {concept }}^{\text {fg }}(x)=\sum_{i \in \Lambda_{f_{g}} \text { wist }, x} \mathbb{1}\left(\bar{H}-H_{i}>b\right) \\ \lambda=\mathbb{E}_{x \in \mathbf{I}}\left[N_{\text {concept }}^{\text {fg }}(x) /\left(N_{\text {concept }}^{\text {fg }}(x)+N_{\text {concept }}^{\text {bg }}(x)\right)\right] \end{array}
其中NBGX)和NFG(X)分別表示編碼在背景和前景上的視覺概念的數量。

度量λ用於度量特徵的區分能力,λ越大越好

非背景的知識點越多,背景的知識點越多 越好

假設二

Hypothesis 2 意圖證明蒸餾使得DNN能夠同時學到不同的“知識點”,即較快的學習速率。考慮到DNN的優化過程並非“一馬平川”,本研究選擇計算網絡優化的路徑長度非epoch數來刻畫DNN的學習效果。

在網絡的優化過程中,DNN不斷學習新“知識點”,同時遺忘舊“知識點”。因而,我們選擇衡量在第k個epoch,即DNN獲得最豐富前景知識量時,網絡的學習效果(隨輸入圖片的不同而變化)

上圖爲DNN學習的兩個階段 1.學習新知識點 2. 遺忘掉沒有用的知識點

DNN的學習速率快體現在兩個方面:

  1. 對於每個輸入樣本,DNN 能否快速學到不同“知識點”,即網絡優化至epoch時,網絡的優化路徑長度是否短;
  2. 對於不同輸入樣本,DNN能否同時學到不同“知識點”。即,我們在考察對於不同的輸入樣本,

即,我們在考察對於不同的輸入樣本,DNN是否可以同時學習其前景知識點,並在同一訓練階段建模到各個圖片的最豐富的前景知識量。對於所有輸入樣本,當DNN的前景“知識量”最多時,網絡優化的路徑長度的均值 與方差分別定量刻畫了DNN是否快速、同時地學習“知識點”。均值和方差越小,代表DNN能夠快速並同時學到不同知識。
Dmean =EII[k=1m^wkwk1w0]Dstd =VarII[k=1m^wkwk1w0] \begin{aligned} D_{\text {mean }} &=\underset{I \in \mathbf{I}}{\mathbb{E}}\left[\sum_{k=1}^{\hat{m}} \frac{\left\|w_{k}-w_{k-1}\right\|}{\left\|w_{0}\right\|}\right] \\ D_{\text {std }} &=\operatorname{Var}_{I \in \mathbf{I}}\left[\sum_{k=1}^{\hat{m}} \frac{\left\|w_{k}-w_{k-1}\right\|}{\left\|w_{0}\right\|}\right] \end{aligned}
越小就代表着權重收斂的越快

因此,Dean和Dstd的小值表明DNN同時快速地學習各種概念。

假設三

Hypothesis 3 意在證明由於教師網絡的指導,知識蒸餾使得DNN的優化方向更爲穩定,更少“繞彎路”。

如圖5所示,在優化前期,由於DNN的優化方向尚未確定,所建模的前景“知識點”不盡相同

就像狗熊掰棒子,神經網絡早期學習的一些知識點是與任務無關的,並在優化過程後期被逐漸遺忘。

因而DNN在優化過程中那些被遺忘的、錯誤建模的、與任務無關的“知識點”越少,優化方向也就越穩定。所以,我們利用DNN最終用於分類的“知識量”(黑框)與優化過程中學習到的所有“知識量” (綠框)的比值刻畫網絡優化方向的穩定性。比值越高,優化越穩定。


ρ=SM(I)j=1MSj(I) \rho=\frac{\left\|S_{M}(I)\right\|}{\left\|\bigcup_{j=1}^{M} S_{j}(I)\right\|}
ρ的值越高,說明DNN越優化,迂迴越少1,越穩定,拋棄的特徵就越少;

收斂後的模型的知識點比上每次迭代的模型的知識點的並集的一個比例,越大代表遺忘的特徵越少

作者本人知乎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章