本次文章介紹我們發表於由 Springer 出版的專著《Advancements in Knowledge Distillation: Towards New Horizons of Intelligent Systems 》中的第一章 “Categories of Response-Based, Feature-Based, and Relation-Based Knowledge Distillation”。
該篇文章的主要內容是整理了面向影像識別的知識蒸餾的相關工作,首先在 response-based、feature-based 和 relation-based 三種知識形式來介紹離線知識蒸餾的相關工作,然後整理了線上知識蒸餾和自知識蒸餾的相關工作,在其中也對自監督學習蒸餾和視覺 Transformer(ViT)蒸餾也進行了介紹。

論文地址:
https://link.springer.com/chapter/10.1007/978-3-031-32095-8_1
https://arxiv.org/pdf/2306.10687.pdf

目前的離線知識蒸餾方法通常涉及知識型別和蒸餾策略。前者側重於探索學生模仿的各種資訊型別。後者旨在幫助學生有效地學習老師。在本節中,我們將研究基於響應、基於特徵和基於關係的知識,以及基於預定義資訊的常用型別。基於響應的 KD 引導教師的最終輸出以指導學生的輸出。
直觀上,學生可以直接學習到老師產生的預測。除了最終輸出外,中間特徵還對神經網路的知識提取過程進行編碼。基於特徵的 KD 可以教學生在整個隱藏層中獲得更有意義的語義資訊。基於響應和基於特徵的 KD 通常考慮從單個數據樣本中提取知識。

▲ 圖1 基於響應、特徵、關係的教師-學生知識蒸餾整體示意圖
基於響應的 KD 側重於從最後一層學習知識作為響應。它旨在使教師和學生之間的最終預測保持一致。基於響應的 KD 的特性是結果驅動學習,使其易於擴充套件到各種任務。
開創性的 KD 可以追溯到 Hinton 等人工作 [1]。核心思想是透過軟化的 softmax(即“軟標籤”)提取類機率分佈。對於分類任務,軟機率分佈被公式化為:


1.1.1 解釋基於響應的知識蒸餾
基於響應的 KD 的核心思想很容易理解。它引導學生學習教師網路生成的最終結果。基於響應的 KD 的有效性也可以與標籤平滑正則化聯絡起來。
Yuan 等人將基於 KL 散度的 KD 方程求解為標籤平滑。Muller 等人觀察到標籤平滑抑制了 KD 的有效性。他們認為,標籤平滑會導致不同類別樣本之間相似性的邏輯資訊丟失,這對基於響應的 KD 很有價值。
然而,Shen 等人提供了一項實證研究,說明標籤平滑通常不會抑制 KD 的有效性。他們發現,在兩種情況下,標籤平滑可能會產生負面影響:長尾類分佈和類數量增加。Mobahi 等人展示了一種理論觀點,即兩個相同網路架構之間的蒸餾放大了 Hilbert 空間中的正則化。
1.1.2 透過輔助結構減少教師-學生效能差距
由於教師和學生之間的能力差距,KD 可能存在效能差距,導致效能下降問題。為了緩解這個問題,TAKD 引入了一箇中等規模的網路作為教師助理,並執行了一個連續的 KD 過程。
沿著這條脈絡,HKD 應用了一個輔助教師網路來傳輸分層資訊流。DGKD 提出了一種密集引導模式,並由所有前任教師執行多步 KD。SFTN 首先訓練一名教師和學生分支,然後將更容易傳授的知識傳授給學生。TOFD 和 HSAKD 在教師和學生之間附加了幾個輔助分支,以促進知識互動。然而,這些方法為訓練圖引入了額外的架構,並增加了訓練成本。
1.1.3 透過自適應蒸餾減少教師-學生效能差距
一些工作試圖研究樣本自適應蒸餾以提高效能。WSL 從偏差-方差權衡的角度提出了樣本加權軟標籤。ATKD 使用基於標準偏差的自適應溫度來縮小教師和學生之間的銳度差距。MKD 利用元學習來搜尋可學習的溫度引數。
SCKD 從梯度相似性的角度研究了不匹配問題,使學生自適應地學習其有益的知識。PAD 提出了一種具有資料不確定性的自適應樣本加權機制,該機制基於困難例項可能對 KD 難以處理的這一現象。

▲ 表1 基於響應的 KD 方法實驗結果對比
總結。我們在表 1 中對各種基於響應的 KD 方法進行了實驗結果對比。大多數方法都應用於卷積神經網路,而最近的 MKD 進一步旨在改進視覺 Transformer。基於響應的 KD 的核心思想是結果驅動學習,並且很容易應用於現有的深度學習任務。
對於目標檢測,Chen 等人建議引導學生模仿老師的目標機率和迴歸邊界框。對於語義分割,結果驅動的知識是逐畫素的類機率分佈。類似地,對於自然語言處理中的 Bert 壓縮,DistilBERT 傳遞掩碼詞彙的類預測。
正如我們上面討論的,基於響應的 KD 忽略了中層監督。為了解決這一缺陷,基於特徵的 KD 側重於探索中間特徵資訊,以提供全面的監督,如特徵圖及其提取的資訊。基於特徵的蒸餾損失可以公式化為:

1.2.1 知識探索:轉換中間層特徵圖得到有意義的知識
開創性的 FitNet 是第一種基於特徵的 KD 方法,其核心思想是在教師和學生之間以逐層的方式對齊從隱藏層生成的中層特徵圖。這項簡單直觀的工作可能不需要高階知識。
後續的方法試圖探索從原始特徵圖中編碼更有意義的資訊。AT 將特徵圖轉換為空間注意力圖,作為有價值的資訊。NST 提取啟用熱圖作為神經元轉移的選擇性。Srinivas 等人在特徵圖之間應用了雅可比匹配。
PKT 將特徵圖表示為機率分佈,並由 KL 散度模擬。FSP 引入了 Gramian 矩陣來測量不同層特徵圖之間的求解過程流。Seung 等人使用奇異值分解來解析特徵知識。
FT 引入了自動編碼器,以無監督的方式將教師的特徵圖解析為“因素”,並引入了翻譯器,將“因素”轉換為易於理解的知識。AB 考慮隱藏特徵空間中的啟用邊界,並迫使學生學習與老師一致的邊界。Overhaul 重新思考了蒸餾特徵位置,使用新設計的 ReLU 和 L2 距離函式來過濾冗餘資訊。
最近,TOFD 和 HSAKD 將輔助分類器附加到由額外任務監督的中層特徵圖上,以產生資訊豐富的機率分佈。前者利用了原始的監督任務,而後者引入了有意義的自監督增強任務。
除了知識探索,另一個有價值的問題是如何有效地遷移知識。大多數基於特徵的 KD 方法使用簡單的均方誤差損失進行知識對齊。
除此之外,VID 還引用了資訊理論框架,認為 KD 是教師和學生之間互資訊的最大化。Wang 等人將學生視為生成器,並應用了一個額外的鑑別器來區分學生或老師產生的特徵,這種對抗過程引導學生學習與教師相似的特徵分佈。Xu 等人提出對倒數第二層的特徵嵌入進行歸一化,以抑制噪聲的負面影響。
Vision Transformer(ViT)在影像識別方面表現出了卓越的效能。然而,基於 ViT 的網路需要很高的計算成本。KD 為訓練具有理想效能的小型 ViT 提供了出色的解決方案。
在關係層次上,流形蒸餾將逐塊關係作為 ViT 蒸餾的知識型別進行探索。在特徵級別上,AttnDistill 將注意力圖從教師轉移到學生。ViTKD 為 ViT 特徵蒸餾提供了實用指南。

總結。我們在表 2 中對各種基於特徵的 KD 方法進行了實驗結果對比。一般來說,基於特徵的 KD 是對基於響應的 KD 的全面補充,它提供了封裝學習過程的中間特徵。
1.3 基於關係的知識蒸餾
基於響應和基於特徵的 KD 通常考慮從單個樣本中提取知識。相反,基於關係的 KD 將跨樣本或跨層關係視為有意義的知識。
基於關係的跨樣本蒸餾損失公式一般為:

基於關係的 KD 知識可以看作是一個例項圖,其中節點表示樣本的特徵嵌入。大多數基於關係的 KD 研究各種相似性度量函式來計算邊權重。
DarkRank 是第一種基於深度度量學習嵌入的歐幾里德距離來建模交叉樣本相似性的方法。MHGD 使用多頭注意力網路處理基於圖的表示。RKD 使用相互關係的距離和角度相似性作為結構化知識。
CCKD 使用基於核的高斯 RBF 捕獲例項之間的相關性。SP 在給定一個批資料的情況下構建成對相似性矩陣。IRG 透過頂點和邊變換對例項關係圖進行建模。REFILLED 引導老師重新加權對於學生困難的三元組樣本權重,以進行關係匹配。
使用簡單的度量函式直接對邊權重進行建模可能無法有意義地捕捉相關性或高階依賴性。CRD 引入了有監督對比學習,基於 InfoNCE 的誤差形式,使得老師和學生的表徵對齊。在 CRD 上,CRCD 根據特徵及其梯度提出了互補關係對比蒸餾。
為了在原始監督學習的基礎上提取更豐富的知識,SSKD 遵循 SimCLR 框架,並利用影像旋轉的自監督對比蒸餾。為了利用標籤中的類別資訊,CSKD 構建了類內和類間的結構化關係。
除了在資料樣本上建立關係外,模型內的跨層互動資訊編碼也是一種有價值的知識形式。基於關係的跨層蒸餾損失公式為:

FSP 是捕獲 KD 跨層特徵圖之間關係的開創性方法,它引入了 Gramian 矩陣,將求解過程的流程表示為知識。Passalis 等人指出,具有不同效能的教師和學生網路之間的同一層可能會出現語義抽象差距。
以前的方法通常依賴於手工製作的一對一的層分配策略,然而,這種簡單的對齊可能會導致成對師生層之間的語義不匹配問題。許多後續工作考慮在多個特徵層上建模有意義的知識。Jang 等人引入了用於加權層級特徵匹配的元網路。在自注意力機制的啟發下,一些工作利用基於注意力的權重進行自適應層分配。

▲ 表3 基於關係的 KD 方法實驗結果對比
總結。我們在表 3 中對各種基於關係的 KD 方法進行了實驗結果對比。不同於基於特徵和基於響應的 KD,基於關係的方法旨在捕捉各種樣本或不同層之間的高階關係。


▲ 圖2 離線知識蒸餾、線上知識蒸餾和自知識蒸餾機制示意圖
2.1 離線知識蒸餾
離線 KD 是所謂的基於教師和學生的學習,之前的研究已經對其進行了廣泛的研究。離線 KD 的核心思想是將知識從一個高效能的大型預訓練教師網路轉移到一個小型快速的學生網路。
在實踐中,離線 KD 通常會進行兩階段的訓練:1)教師網路在任務上進行預訓練,以實現卓越的效能;以及 2)在訓練階段引導學生模仿老師的資訊。當離線 KD 使用公開的預訓練模型來訓練學生網路時,離線 KD 也可以被視為一個單階段的訓練流程。由於教師網路是預先訓練和凍結的,我們將基於教師-學生的學習稱為離線 KD。
離線知識蒸餾的工作主要在第一章節 “Categories of response-based, feature-based, and relation-based knowledge distillation(基於響應、特徵、關係的知識蒸餾劃分)” 進行講解。因此在這裡僅展示了不同蒸餾方法對於蒸餾效能和蒸餾時間的權衡,如表 4 所示。我們全面比較了代表性的離線 KD 方法在準確性和蒸餾時間方面的表現。
我們可以觀察到,各種 KD 方法具有不同的性質。傳統的 KD 蒸餾時間最短,但僅能獲得適度的增益。相比之下,HSAKD 實現了最佳的蒸餾效能,甚至與教師的準確率相匹配,但時間比傳統 KD 高出 3 倍。DKD 是傳統 KD 的改進版本,在精度和蒸餾時間之間達到了理想的平衡。

▲ 表4 不同離線知識蒸餾方法在 CIFAR-100 資料集上效能和訓練時間的權衡


MMT 和 PCL 為每個對等體引入了一個時間均值教師,為相互學習生成更好的偽標籤。除了同伴教學方式,ONE 還組裝了整合機率分佈,構建了一個虛擬教師角色,以提供軟標籤。
2.2.2 基於特徵的線上知識蒸餾
以前的線上 KD 方法通常側重於學習類機率,主要在各種策略或架構上有所不同,但忽略了線上學習的特徵級資訊。Walawalkar 等人對模型壓縮的中間特徵圖進行了線上蒸餾。Zhang 等人表明,直接對齊特徵圖可能會減小群體多樣性並損害線上 KD。
許多方法都提出了線上對抗特徵提取來相互學習特徵分佈。對抗性線上 KD 的想法是為每個網路新增一個鑑別器,該鑑別器可以將自身的特徵圖分類為偽造,或將另一個網路的特徵圖分類為真實。
相互對比學習(Mutual Contrastive Learning,MCL)將每個網路視為一個單獨的檢視,並從對比表徵學習的角度引入了基於相互關係的蒸餾。
2.3 自知識蒸餾
Self-KD 旨在從網路中提取知識並自學。與離線和線上 KD 不同,Self-KD 沒有額外的教師或同伴網路進行知識交流。因此,現有的 Self-KD 方法通常利用輔助架構,資料增強或序列快照蒸餾來探索外部知識以實現自我提升。

▲ 表6 不同自知識蒸餾方法在 CIFAR-100 上的準確率對比
這種方法的想法是附加輔助架構來捕獲額外的知識,以補充主網路。DKS 插入幾個輔助分支,並在這些分支和主骨幹之間進行成對的知識轉移。BYOT 將機率和特徵資訊從網路的較深部分轉移到較淺部分。SAD 使用來自深層的注意力圖,以逐層的方式監督淺層的注意力圖。
2.3.2 基於資料增強的自知識蒸餾
基於資料增強的方法通常會強制從兩個不同的增強檢視生成類似的預測。沿著這一思路,DDGSD 對同一影像應用了兩種不同的增強運算元。CS-KD 從同一類別中隨機抽取兩個不同的例項。MixSKD 將 Mixup 影像視為特徵和機率空間中的一個檢視,將線性插值影像視為另一個檢視。
這一思路考慮利用訓練軌跡上的網路快照來提供監督訊號。BAN 在先前受過訓練的網路快照監督下,以連續的方式逐步改進網路。SD 從早期時代獲取網路快照,以教導其後期時代。
自監督學習側重於給定未標註資料學習到好的特徵表示。Self-KD 和自監督學習之間有一些有趣的聯絡。
在自監督的場景中,該框架通常構建兩個角色:線上和目標網路。前者是訓練網路,後者是平均教師,具有來自線上網路的移動平均權重。目標網路與線上網路具有相同的架構,但權重不同。目標網路通常用於提供監督訊號來訓練線上網路。MoCo 利用目標網路生成一致的正負對比樣本。
一些自監督方法將目標網路視為一個自教師來提供迴歸目標,如 BYOL、DINO 和 SimSiam。受 BYOT 的啟發,SDSSL 引導中間特徵嵌入,以對比最終層的特徵。

如表 7 所示,本文展示三種知識蒸餾方法在不同方面的比較。離線蒸餾需要一個額外的教師模型來訓練學生,而線上蒸餾或自蒸餾透過端到端最佳化訓練一組模型或單個模型。

3.1 多教師知識蒸餾
在傳統的 KD 中,知識從一個高效能的老師轉移到一個輕量的學生身上,但在這種情況下,知識的多樣性和有效性是有限的。不同的老師可以為學生提供他們獨特而有價值的知識。

除了從邏輯分佈中提取外,中間層特徵的整合可以為學生提供更多的語義資訊。然而,從特徵表示中提取更具挑戰性,因為教師池中的每個成員在特定層中都有不同的特徵表示。
在大多數情況下,多教師 KD 是基於同一任務的。知識融合旨在透過從所有接受過不同任務訓練的教師那裡學習知識,來培養一個多才多藝的學生。
Luoemph 等人旨在學習一個能夠從異質教師那裡吸收全面知識的多人才學生網路。Ye 等人將目標網路集中用於定製任務,由從不同任務中預先訓練的多名教師指導。學生從異質教師那裡繼承了理想的能力,因此可以同時執行多項任務。Rusu 等人引入了一種多教師策略蒸餾方法,將代理的多種策略轉移到單個學生網路。
3.2 跨模態知識蒸餾

▲ 圖5 跨模態知識蒸餾基本思想示意圖
給定一個在具有良好標記樣本的一種模態上預先訓練的教師模型,Gupta 等人利用無監督配對樣本在帶註釋的 RGB 影像和未帶註釋的光流影像之間傳遞資訊。
透過標籤引導的成對樣本正規化已被廣泛應用於跨模態 KD。Thoker 等人使用配對樣本將 RGB 影片中的知識轉移到 3D 人體動作識別模型中。Roheda 等人提出了使用 GANs 從可用模態到缺失模態的跨模態蒸餾。Do 等人探索了一種基於 KD 的視覺問答方法,並依靠監督學習使用真實標籤進行跨模態遷移。Passalis 等人提出了機率 KD,將知識從文字模態轉移到視覺模態。
3.3 基於注意力的知識蒸餾

注意力圖通常反映有價值的語義資訊,並抑制不重要的部分。開創性的 AT 透過計算通道維度上特徵圖的統計資料來構建空間注意力圖,並在教師和學生網路之間對注意力圖進行對齊。
空間注意力圖包含類別感知語義區域,幫助學生捕捉辨別特徵。CD 採用壓縮和啟用模組生成通道注意力圖,讓學生學習老師的通道注意力權重。CWD 為每個通道提取一個空間注意力圖,表示密集預測的語義掩碼。
自注意力技術是一種捕獲特徵之間相似關係的機制。一些方法應用基於注意力的權重進行自適應層間語義匹配。
SemCKD 自動為每個學生層分配從合適的教師層聚合的目標,這些目標具有基於注意力的相似性。AFD 提出了一種基於注意力的元網路來模擬教師和學生特徵之間的相對相似性。ALP-KD 將教師端的資訊與基於注意力的層投影融合,用於 Bert 蒸餾。與特徵層分配正交,TTKD 應用自注意力機制進行空間級特徵匹配。
3.4 無需資料的知識蒸餾

訓練樣本通常是使用生成對抗網路(GAN)合成的。教師網路以生成的樣本作為輸入來監督學生網路。Lopes 等人使用不同型別的啟用記錄來重建原始資料。DeepInversion 探索儲存在批歸一化層中的資訊,以生成無資料 KD 的樣本。Nayak 等人透過將 softmax 空間建模為教師引數的狄利克雷分佈,從而引入了一種樣本提取機制。
3.4.2 資料集知識蒸餾
除了無資料 KD 之外,資料集蒸餾是合成小資料集以表示原始完整資料集而不會降低精度的重要方向。
為了利用全監督設定,Radosavovic 等人透過單個模型從未標記資料的多次轉換中組裝預測,以產生新的訓練註釋。DDFlow 提出學習光流估計,並從教師模型中提取預測,以監督學生網路進行光流學習。未標記的資料可能會阻礙圖卷積網路(GCN)學習基於圖的資料。
一般來說,未標記資料的偽標籤可以為訓練 GCN 提供額外的監督。RDD 提出了一種可靠的資料驅動的半監督 GCN 訓練方法,它可以更好地使用高質量的資料,並透過定義節點和邊的可靠性來改進圖表示學習。Cazenavette 等人沿著提取的合成數據和真實資料之間的訓練軌跡進行了長距離引數匹配。
總結。在大多數無資料 KD 方法中,合成數據通常是從預訓練的教師網路的特徵表示中生成的。儘管當前的無資料 KD 工作在處理資料不可用問題方面表現出了顯著的效能,但生成更高質量和多樣化的訓練樣本仍然是一個有待研究的挑戰。

幾乎現有的 KD 演算法都是資料驅動的,即依賴於原始或替代資料,這在現實世界中可能是不可用的。生成對抗網路可以應用於學習真實的資料分佈並解決這個問題。DFAD 讓教師和學生網路共同發揮鑑別器的作用,以減少差異。同時,它添加了一個額外的生成器來產生困難樣本,以對抗性地放大它。
3.5.2 對抗機制來輔助知識蒸餾
傳統的 KD 通常透過調整知識分佈來縮小教師和學生之間的差距。對抗機制可以作為提高模仿難度的輔助方法。一般來說,核心思想是引入一個額外的鑑別器來對教師或學生網路中的特徵表示進行分類。
Aguinaldo 等人引導一個較小的“學生” GAN 對齊更大的“教師” GAN。Chen 等人讓學生生成器從相應的老師那裡學習低階和高階知識。
此外,學生鑑別器由教師網路透過 triplet 損失進行監督。Li 等人透過從中間表示中轉移知識並透過神經架構搜尋探索高效架構,提出了一種用於條件 GAN 的通用壓縮框架。Zhang 等人指出,小型 GAN 通常難以生成所需的高頻資訊。小波 KD 透過離散小波變換將影像分解為不同的頻帶,然後只傳輸有價值的高頻帶。

本篇綜述首先按照基於響應、特徵和關係三種層面的知識型別總結了離線知識蒸餾的工作。透過剖析離線知識蒸餾需要預訓練教師的問題,引出了線上知識蒸餾和自知識蒸餾。
面向實際場景中,本文又引入了跨模態知識蒸餾和無資料的知識蒸餾。此外,本文展示了一些用於提升知識蒸餾效果的擴充套件機制,例如多教師知識蒸餾、注意力機制知識蒸餾和對抗知識蒸餾。
本文對以上領域的代表性相關工作進行調研,並總結核心思想與貢獻,對未來知識蒸餾的挑戰進行展望。相比於先前釋出的知識蒸餾綜述 [2,3],本文包含了更多發表於 2022 年以後的工作,以及介紹了一些先進的知識蒸餾方向,例如自監督蒸餾和 ViT 蒸餾。

參考文獻

更多閱讀



#投 稿 通 道#
讓你的文字被更多人看到
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
• 投稿郵箱:[email protected]
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿

△長按新增PaperWeekly小編
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
