Springer知識蒸餾專著解讀:面向影像識別的知識蒸餾綜述

本次文章介紹我們發表於由 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
arXiv地址:
https://arxiv.org/pdf/2306.10687.pdf
基於響應、特徵、關係的知識蒸餾劃分
目前的離線知識蒸餾方法通常涉及知識型別和蒸餾策略。前者側重於探索學生模仿的各種資訊型別。後者旨在幫助學生有效地學習老師。在本節中,我們將研究基於響應、基於特徵和基於關係的知識,以及基於預定義資訊的常用型別。基於響應的 KD 引導教師的最終輸出以指導學生的輸出。
直觀上,學生可以直接學習到老師產生的預測。除了最終輸出外,中間特徵還對神經網路的知識提取過程進行編碼。基於特徵的 KD 可以教學生在整個隱藏層中獲得更有意義的語義資訊。基於響應和基於特徵的 KD 通常考慮從單個數據樣本中提取知識。
相反,基於關係的 KD 試圖挖掘整個資料集的跨樣本關係。在本節中,我們回顧了每種知識型別的一些代表性方法,並總結了它們的差異。示意圖概述如下圖所示。
▲ 圖1 基於響應、特徵、關係的教師-學生知識蒸餾整體示意圖
1.1 基於響應的知識蒸餾
基於響應的 KD 側重於從最後一層學習知識作為響應。它旨在使教師和學生之間的最終預測保持一致。基於響應的 KD 的特性是結果驅動學習,使其易於擴充套件到各種任務。
開創性的 KD 可以追溯到 Hinton 等人工作 [1]。核心思想是透過軟化的 softmax(即“軟標籤”)提取類機率分佈。對於分類任務,軟機率分佈被公式化為:
給定來自教師和學生的類別機率分基於響應的 KD 嘗試使用距離函式 對齊二者。
其中 可以是 Kullback-Leibler(KL)散度、均平方誤差等。
主要講解三個方面的工作內容:
1.1.1 解釋基於響應的知識蒸餾
基於響應的 KD 的核心思想很容易理解。它引導學生學習教師網路生成的最終結果。基於響應的 KD 的有效性也可以與標籤平滑正則化聯絡起來。
Yuan 等人將基於 KL 散度的 KD 方程求解為標籤平滑。Muller 等人觀察到標籤平滑抑制了 KD 的有效性。他們認為,標籤平滑會導致不同類別樣本之間相似性的邏輯資訊丟失,這對基於響應的 KD 很有價值。
然而,Shen 等人提供了一項實證研究,說明標籤平滑通常不會抑制 KD 的有效性。他們發現,在兩種情況下,標籤平滑可能會產生負面影響:長尾類分佈和類數量增加。Mobahi 等人展示了一種理論觀點,即兩個相同網路架構之間的蒸餾放大了 Hilbert 空間中的正則化。
最新的 DKD 將原始 KD 損失解耦為目標類 KD 和非目標類 KD。透過僅引入兩個超引數來靈活平衡兩個項,DKD 提高了原始 KD 的有效性。
1.1.2 透過輔助結構減少教師-學生效能差距
由於教師和學生之間的能力差距,KD 可能存在效能差距,導致效能下降問題。為了緩解這個問題,TAKD 引入了一箇中等規模的網路作為教師助理,並執行了一個連續的 KD 過程。
沿著這條脈絡,HKD 應用了一個輔助教師網路來傳輸分層資訊流。DGKD 提出了一種密集引導模式,並由所有前任教師執行多步 KD。SFTN 首先訓練一名教師和學生分支,然後將更容易傳授的知識傳授給學生。TOFD 和 HSAKD 在教師和學生之間附加了幾個輔助分支,以促進知識互動。然而,這些方法為訓練圖引入了額外的架構,並增加了訓練成本。
1.1.3 透過自適應蒸餾減少教師-學生效能差距
一些工作試圖研究樣本自適應蒸餾以提高效能。WSL 從偏差-方差權衡的角度提出了樣本加權軟標籤。ATKD 使用基於標準偏差的自適應溫度來縮小教師和學生之間的銳度差距。MKD 利用元學習來搜尋可學習的溫度引數。
SCKD 從梯度相似性的角度研究了不匹配問題,使學生自適應地學習其有益的知識。PAD 提出了一種具有資料不確定性的自適應樣本加權機制,該機制基於困難例項可能對 KD 難以處理的這一現象。
除了探索依賴於樣本的蒸餾外,Song 等人和 Li 等人還提出了一種混合前向傳播方案,使學生透過聯合訓練隱式學習教師的知識。在課程學習的驅使下,RCO 引導學生從頭開始模仿老師的訓練軌跡,直至收斂。ESKD 提前停止教師訓練,以產生更柔和的邏輯分佈。
▲ 表1 基於響應的 KD 方法實驗結果對比
總結。我們在表 1 中對各種基於響應的 KD 方法進行了實驗結果對比。大多數方法都應用於卷積神經網路,而最近的 MKD 進一步旨在改進視覺 Transformer。基於響應的 KD 的核心思想是結果驅動學習,並且很容易應用於現有的深度學習任務。
對於目標檢測,Chen 等人建議引導學生模仿老師的目標機率和迴歸邊界框。對於語義分割,結果驅動的知識是逐畫素的類機率分佈。類似地,對於自然語言處理中的 Bert 壓縮,DistilBERT 傳遞掩碼詞彙的類預測。
儘管基於響應的 KD 已成功應用於許多工,但效能差距仍然是一個值得探索的問題。當教師和學生之間的效能差距很大時,學生可能無法吸收有意義的知識,這可能會導致不利的監管效果。此外,基於響應的 KD 忽略了神經網路隱藏層中編碼的中間資訊,導致效能提升有限。
1.2 基於特徵的知識蒸餾
正如我們上面討論的,基於響應的 KD 忽略了中層監督。為了解決這一缺陷,基於特徵的 KD 側重於探索中間特徵資訊,以提供全面的監督,如特徵圖及其提取的資訊。基於特徵的蒸餾損失可以公式化為:
其中 和 表示來自學生和教師的中間特徵圖, 和 是產生蒸餾資訊的轉換函式,如注意力機制、啟用邊界、神經元選擇性和機率分佈等, 是一個距離函式,用於衡量匹配特徵資訊的相似性,例如,均方誤差損失和 KL 散度損失。
主要講解三個方面的工作內容:
1.2.1 知識探索:轉換中間層特徵圖得到有意義的知識
開創性的 FitNet 是第一種基於特徵的 KD 方法,其核心思想是在教師和學生之間以逐層的方式對齊從隱藏層生成的中層特徵圖。這項簡單直觀的工作可能不需要高階知識。
後續的方法試圖探索從原始特徵圖中編碼更有意義的資訊。AT 將特徵圖轉換為空間注意力圖,作為有價值的資訊。NST 提取啟用熱圖作為神經元轉移的選擇性。Srinivas 等人在特徵圖之間應用了雅可比匹配。
PKT 將特徵圖表示為機率分佈,並由 KL 散度模擬。FSP 引入了 Gramian 矩陣來測量不同層特徵圖之間的求解過程流。Seung 等人使用奇異值分解來解析特徵知識。
FT 引入了自動編碼器,以無監督的方式將教師的特徵圖解析為“因素”,並引入了翻譯器,將“因素”轉換為易於理解的知識。AB 考慮隱藏特徵空間中的啟用邊界,並迫使學生學習與老師一致的邊界。Overhaul 重新思考了蒸餾特徵位置,使用新設計的 ReLU 和 L2 距離函式來過濾冗餘資訊。
最近,TOFD 和 HSAKD 將輔助分類器附加到由額外任務監督的中層特徵圖上,以產生資訊豐富的機率分佈。前者利用了原始的監督任務,而後者引入了有意義的自監督增強任務。
MGD 使用自適應通道分配演算法執行細粒度特徵提取。ICKD 從包含特徵空間多樣性和同源性的特徵圖中挖掘通道間相關性。在通道維度之外,TTKD 使用自注意力機制進行空間級特徵匹配。總之,以前的方法通常會為 KD 提取更豐富的特徵資訊,從而獲得比經典 FitNet 更好的效能。
1.2.2 知識遷移:好的模仿演算法讓學生學得更好
除了知識探索,另一個有價值的問題是如何有效地遷移知識。大多數基於特徵的 KD 方法使用簡單的均方誤差損失進行知識對齊。
除此之外,VID 還引用了資訊理論框架,認為 KD 是教師和學生之間互資訊的最大化。Wang 等人將學生視為生成器,並應用了一個額外的鑑別器來區分學生或老師產生的特徵,這種對抗過程引導學生學習與教師相似的特徵分佈。Xu 等人提出對倒數第二層的特徵嵌入進行歸一化,以抑制噪聲的負面影響。
除了研究模仿度量損失外,在教師和學生之間使用共享分類器還可以幫助學生隱式地對齊教師的特徵。
1.2.3 視覺 Transformer 方面的蒸餾工作
Vision Transformer(ViT)在影像識別方面表現出了卓越的效能。然而,基於 ViT 的網路需要很高的計算成本。KD 為訓練具有理想效能的小型 ViT 提供了出色的解決方案。
在關係層次上,流形蒸餾將逐塊關係作為 ViT 蒸餾的知識型別進行探索。在特徵級別上,AttnDistill 將注意力圖從教師轉移到學生。ViTKD 為 ViT 特徵蒸餾提供了實用指南。
除了同質 ViT 之間的特徵模仿外,一些工作還試圖從 CNN 中提取到的歸納偏置蒸餾到 ViT。一些有前景的知識型別仍值得進一步挖掘,如中間特徵、注意力關係和蒸餾位置。
▲ 表2 基於特徵的 KD 方法實驗結果對比
總結。我們在表 2 中對各種基於特徵的 KD 方法進行了實驗結果對比。一般來說,基於特徵的 KD 是對基於響應的 KD 的全面補充,它提供了封裝學習過程的中間特徵。
然而,簡單地在教師和學生之間對齊相同的階段性特徵資訊可能會導致負面監督,特別是在效能差距或架構差異較大的情況下。一個更有價值的方向可能是基於學生友好的特徵 KD,它提供了語義一致的監督。

1.3 基於關係的知識蒸餾

基於響應和基於特徵的 KD 通常考慮從單個樣本中提取知識。相反,基於關係的 KD 將跨樣本或跨層關係視為有意義的知識。
主要講解兩個方面的工作內容:
1.3.1 Relation-based Cross-Sample Knowledge Distillation(跨樣本的知識蒸餾)
基於關係的跨樣本蒸餾損失公式一般為:
其中 和 分別表示教師和學生的特徵集, 和 是第 個和第 個樣本的特徵嵌入相似度度量函式。 是一個距離函式,用於衡量例項圖的相似性,例如,均方誤差損失和 Kullback-Leibler 散度損失。
1.3.1.1 利用不同的邊權重構建關係圖
基於關係的 KD 知識可以看作是一個例項圖,其中節點表示樣本的特徵嵌入。大多數基於關係的 KD 研究各種相似性度量函式來計算邊權重。
DarkRank 是第一種基於深度度量學習嵌入的歐幾里德距離來建模交叉樣本相似性的方法。MHGD 使用多頭注意力網路處理基於圖的表示。RKD 使用相互關係的距離和角度相似性作為結構化知識。
CCKD 使用基於核的高斯 RBF 捕獲例項之間的相關性。SP 在給定一個批資料的情況下構建成對相似性矩陣。IRG 透過頂點和邊變換對例項關係圖進行建模。REFILLED 引導老師重新加權對於學生困難的三元組樣本權重,以進行關係匹配。
所有方法都側重於在樣本級特徵嵌入上對關係圖進行建模,但在各種邊權重生成策略上有所不同。
1.3.1.2 利用有意義的轉換構建關係圖
使用簡單的度量函式直接對邊權重進行建模可能無法有意義地捕捉相關性或高階依賴性。CRD 引入了有監督對比學習,基於 InfoNCE 的誤差形式,使得老師和學生的表徵對齊。在 CRD 上,CRCD 根據特徵及其梯度提出了互補關係對比蒸餾。
為了在原始監督學習的基礎上提取更豐富的知識,SSKD 遵循 SimCLR 框架,並利用影像旋轉的自監督對比蒸餾。為了利用標籤中的類別資訊,CSKD 構建了類內和類間的結構化關係。
以前的方法通常關注例項級特徵及其關係,但忽略了局部特徵和細節。因此,LKD 利用類感知注意力模組來捕獲重要區域,然後使用區域性補丁對區域性關係矩陣進行建模。GLD 構造了一個關係圖,其中包含由區域性空間池化層提取的區域性特徵。
1.3.2 跨層的知識蒸餾
除了在資料樣本上建立關係外,模型內的跨層互動資訊編碼也是一種有價值的知識形式。基於關係的跨層蒸餾損失公式為:
其中 和 分別代表從教師和學生不同層中提取的特徵集合, 和 是來自第 層和第 層的特徵嵌入,。 和 層聚合函式。 是距離函式來衡量跨層特徵的相似度。
FSP 是捕獲 KD 跨層特徵圖之間關係的開創性方法,它引入了 Gramian 矩陣,將求解過程的流程表示為知識。Passalis 等人指出,具有不同效能的教師和學生網路之間的同一層可能會出現語義抽象差距。
以前的方法通常依賴於手工製作的一對一的層分配策略,然而,這種簡單的對齊可能會導致成對師生層之間的語義不匹配問題。許多後續工作考慮在多個特徵層上建模有意義的知識。Jang 等人引入了用於加權層級特徵匹配的元網路。在自注意力機制的啟發下,一些工作利用基於注意力的權重進行自適應層分配。
除了研究層匹配問題外,一些工作還試圖聚合所有階段特徵圖,以構建更具資訊量的特徵作為監督訊號。ReviewKD 利用教師的多層次特徵,根據各種特徵融合模組指導學生的每一層。LONDON 總結了多層次特徵圖,以模擬 Lipschitz 連續性。除了手工策略外,DFA 還應用了搜尋方法來自動找到合適的特徵聚合。
▲ 表3 基於關係的 KD 方法實驗結果對比
總結。我們在表 3 中對各種基於關係的 KD 方法進行了實驗結果對比。不同於基於特徵和基於響應的 KD,基於關係的方法旨在捕捉各種樣本或不同層之間的高階關係。
關係圖捕獲了整個資料集的結構化依賴關係。跨層特徵關係對語義過程的資訊進行編碼。如何使用更有意義的節點轉換和度量函式或聚合適當的層資訊來建模更好的關係仍然是需要進一步研究的核心問題。
蒸餾機制
蒸餾機制通常分為離線知識蒸餾、線上知識蒸餾和自知識蒸餾,如圖 2 所示:
▲ 圖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 的改進版本,在精度和蒸餾時間之間達到了理想的平衡。
從模型壓縮的角度來看,最佳蒸餾的 ResNet-20 的引數和 FLOP 減少了 3 倍,但與教師 ResNet-56 相比,效能僅下降了 0.1%。在實踐中,我們可以根據實際需求和計算資源選擇合適的 KD 演算法。
▲ 表4 不同離線知識蒸餾方法在 CIFAR-100 資料集上效能和訓練時間的權衡
2.2 線上知識蒸餾
▲ 圖3 兩個學生網路基於響應、特徵、關係的線上知識蒸餾整體示意圖
線上 KD 旨在從零開始同時訓練一組學生網路,並在訓練階段相互傳遞知識。與離線 KD 不同,線上 KD 是一個端到端的最佳化過程,不需要事先明確的預訓練教師網路。根據知識型別,當前的線上 KD 主要分為基於響應、基於特徵和基於關係的方法,如圖 3 所示。我們在表 5 中提供了各種線上 KD 方法的實驗結果。
▲ 表5 不同線上知識蒸餾方法在 CIFAR-100 上的準確率對比
線上知識蒸餾按照遷移的知識型別分為基於響應、特徵和關係的線上知識蒸餾:
2.2.1 基於響應的線上知識蒸餾
線上 KD 可以追溯到深度相互學習(Deep Mutual Learning, DML)。DML 表明,在傳統學習方案中,將每個學生的類別後驗與其他學生的類別後驗對齊比單獨訓練更好。
Song 等人將這一想法進一步擴充套件到具有共享淺層和分離的高層分支的分層架構。Anil 等人將相互蒸餾應用於大規模分散式神經網路。DCML 透過在隱藏層中新增精心設計的輔助分類器來增強相互學習。MutualNet 使用不同輸入解析度對應的不同寬度的子網路進行相互學習,以探索多尺度特徵。
MMT 和 PCL 為每個對等體引入了一個時間均值教師,為相互學習生成更好的偽標籤。除了同伴教學方式,ONE 還組裝了整合機率分佈,構建了一個虛擬教師角色,以提供軟標籤。
OKDDip 利用自注意力機制來提高同伴多樣性,然後將輔助同伴的集合知識傳遞給組長。KDCL 研究了從兩個資料增強檢視中使用各種聚合策略生成軟整合目標。一些工作考慮使用特徵融合和額外的分類器來輸出有意義的標籤。
2.2.2 基於特徵的線上知識蒸餾
以前的線上 KD 方法通常側重於學習類機率,主要在各種策略或架構上有所不同,但忽略了線上學習的特徵級資訊。Walawalkar 等人對模型壓縮的中間特徵圖進行了線上蒸餾。Zhang 等人表明,直接對齊特徵圖可能會減小群體多樣性並損害線上 KD。
許多方法都提出了線上對抗特徵提取來相互學習特徵分佈。對抗性線上 KD 的想法是為每個網路新增一個鑑別器,該鑑別器可以將自身的特徵圖分類為偽造,或將另一個網路的特徵圖分類為真實。
2.2.3 基於關係的線上知識蒸餾
相互對比學習(Mutual Contrastive Learning,MCL)將每個網路視為一個單獨的檢視,並從對比表徵學習的角度引入了基於相互關係的蒸餾。
與之前的工作相比,MCL 幫助每個網路學習更好的視覺特徵表示。先前線上知識蒸餾方法的一個共同點是從單個原始任務中提取知識。HSSAKD 在特徵對映後附加分類器,以學習額外的自監督增強任務,並引導網路相互蒸餾自監督分佈。
2.3 自知識蒸餾
Self-KD 旨在從網路中提取知識並自學。與離線和線上 KD 不同,Self-KD 沒有額外的教師或同伴網路進行知識交流。因此,現有的 Self-KD 方法通常利用輔助架構,資料增強或序列快照蒸餾來探索外部知識以實現自我提升。
此外,透過手動設計正則化分佈來代替教師,Self-KD 也可以與標籤平滑聯絡起來。我們在表 6 中提供了各種 Self-KD 方法的實驗結果對比。除了將 Self-KD 應用於傳統的監督學習之外,最近的研究還試圖借鑑 Self-KD 的思想進行自監督學習。
▲ 表6 不同自知識蒸餾方法在 CIFAR-100 上的準確率對比
2.3.1 基於輔助結構的自知識蒸餾
這種方法的想法是附加輔助架構來捕獲額外的知識,以補充主網路。DKS 插入幾個輔助分支,並在這些分支和主骨幹之間進行成對的知識轉移。BYOT 將機率和特徵資訊從網路的較深部分轉移到較淺部分。SAD 使用來自深層的注意力圖,以逐層的方式監督淺層的注意力圖。
除了點對點傳輸,MetaDistiller 還透過自上而下的方式融合特徵圖來構建標籤生成器,並使用元學習對其進行最佳化。FRSKD 以類似 BiFPN 的方式聚合特徵圖,以構建一個自學網路,提供高質量的特徵圖和軟標籤。一個問題是,基於輔助架構的方法高度依賴於人工設計的網路,其可擴充套件性較差。
2.3.2 基於資料增強的自知識蒸餾
基於資料增強的方法通常會強制從兩個不同的增強檢視生成類似的預測。沿著這一思路,DDGSD 對同一影像應用了兩種不同的增強運算元。CS-KD 從同一類別中隨機抽取兩個不同的例項。MixSKD 將 Mixup 影像視為特徵和機率空間中的一個檢視,將線性插值影像視為另一個檢視。
為了挖掘跨影像知識,BAKE 試圖透過加權聚合其他樣本的知識,形成一個軟目標。一般來說,與基線相比,基於資料增強的 Self-KD 需要多個正向過程,因此提高了訓練成本。
2.3.3 基於序列快照的自知識蒸餾
這一思路考慮利用訓練軌跡上的網路快照來提供監督訊號。BAN 在先前受過訓練的網路快照監督下,以連續的方式逐步改進網路。SD 從早期時代獲取網路快照,以教導其後期時代。
PS-KD 建議透過總結真實標籤和過去的預測來逐步完善軟目標。DLB 在上一個和當前的小批次資料之間執行一致性正則化。一般來說,基於快照的 Self-KD 需要儲存訓練模型的多個副本,因此增加了記憶體成本。
2.3.4 自監督學習和自知識蒸餾
自監督學習側重於給定未標註資料學習到好的特徵表示。Self-KD 和自監督學習之間有一些有趣的聯絡。
在自監督的場景中,該框架通常構建兩個角色:線上和目標網路。前者是訓練網路,後者是平均教師,具有來自線上網路的移動平均權重。目標網路與線上網路具有相同的架構,但權重不同。目標網路通常用於提供監督訊號來訓練線上網路。MoCo 利用目標網路生成一致的正負對比樣本。
一些自監督方法將目標網路視為一個自教師來提供迴歸目標,如 BYOL、DINO 和 SimSiam。受 BYOT 的啟發,SDSSL 引導中間特徵嵌入,以對比最終層的特徵。
儘管之前的方法在自監督表示學習方面取得了理想的效能,但可能仍存在兩個值得探索的方向。首先,目標網路是以移動平均的方式從線上網路中構建的。我們是否有更有意義的方法來構建目標網路?其次,損失通常是為了對齊最終的特徵嵌入,未來可以進一步挖掘線上網路和目標網路之間的一些中間特徵或對比關係。
2.4 三種知識蒸餾綜合比較
▲ 表7 三種知識蒸餾方法在不同方面的比較,其中*代表預訓練的教師是現成的
如表 7 所示,本文展示三種知識蒸餾方法在不同方面的比較。離線蒸餾需要一個額外的教師模型來訓練學生,而線上蒸餾或自蒸餾透過端到端最佳化訓練一組模型或單個模型。
當公開可用的預訓練教師模型不可用時,離線蒸餾需要預先訓練一個高效能的教師網路,因此訓練代價較高。自蒸餾利用單一模型實現自我提升,通常具有較低的計算複雜度。值得注意的是,離線蒸餾在預訓練教師模型為公開模型時也具有較低的訓練複雜性,因為訓練過程中教師網路是不需要梯度傳播訓練的。
蒸餾演算法
3.1 多教師知識蒸餾
在傳統的 KD 中,知識從一個高效能的老師轉移到一個輕量的學生身上,但在這種情況下,知識的多樣性和有效性是有限的。不同的老師可以為學生提供他們獨特而有價值的知識。
透過這種方式,學生可以從多個教師網路中學習各種知識表示。遵循傳統的 KD,邏輯分佈或中層特徵形式的知識可以用作監督訊號。多教師 KD 的示意圖如下圖 4 所示。
▲ 圖4 多教師知識蒸餾基本思想示意圖
3.1.1 從整合的邏輯分佈中蒸餾
模型整合的邏輯分佈是多教師知識蒸餾的直接方法之一。基於這一理念,引導學生學習教師整合邏輯的軟輸出。然而,對多教師的預測進行簡單平均可能會忽視教師群體多樣性。因此,一些工作提出了透過自適應地模仿教師的輸出並使用各種聚合權重來學習學生模型。
3.1.2 從整合的特徵表達中蒸餾
除了從邏輯分佈中提取外,中間層特徵的整合可以為學生提供更多的語義資訊。然而,從特徵表示中提取更具挑戰性,因為教師池中的每個成員在特定層中都有不同的特徵表示。
為了解決這個問題,Park 等人在特徵圖級別對多個教師網路應用了非線性變換。Wu 等人提出透過最小化教師和學生的相似性矩陣之間的距離來提取知識。劉等人提出讓學生網路學習教師模型的可學習轉換矩陣。為了利用邏輯和中間特徵,Chen 等人引入了雙教師網路,分別提供響應級和特徵級知識。
3.1.3 從子網路得到計算高效的蒸餾
使用多教師引入了額外的訓練計算成本,因此一些方法從單個教師網路中建立了一些子教師。Nguyen 等人利用隨機塊和跳過教師網路上的連線來生成多個教師角色。一些方法設計了多頭架構,以產生多個教師角色。
3.1.4 多工多教師蒸餾
在大多數情況下,多教師 KD 是基於同一任務的。知識融合旨在透過從所有接受過不同任務訓練的教師那裡學習知識,來培養一個多才多藝的學生。
Luoemph 等人旨在學習一個能夠從異質教師那裡吸收全面知識的多人才學生網路。Ye 等人將目標網路集中用於定製任務,由從不同任務中預先訓練的多名教師指導。學生從異質教師那裡繼承了理想的能力,因此可以同時執行多項任務。Rusu 等人引入了一種多教師策略蒸餾方法,將代理的多種策略轉移到單個學生網路。
總結。總之,由於不同的教師提供不同的知識,因此可以透過多教師蒸餾來培養多才多藝的學生。然而,仍有幾個問題需要解決。一方面,教師數量是訓練成本和效能提高之間的權衡問題。另一方面,有效整合多教師的各種知識仍然是一個值得探索的問題。

3.2 跨模態知識蒸餾

在常見的 KD 方法中,教師和學生往往具有相同的模態。然而,另一種模態的訓練資料或標籤可能是不可用的。在不同模態之間轉移知識是一個有價值的實踐領域。跨模態 KD 的核心思想是將知識從受過資料模態訓練的教師轉移到另一種資料模態的學生網路。跨模態 KD 的示意圖如圖 5 所示。
▲ 圖5 跨模態知識蒸餾基本思想示意圖
給定一個在具有良好標記樣本的一種模態上預先訓練的教師模型,Gupta 等人利用無監督配對樣本在帶註釋的 RGB 影像和未帶註釋的光流影像之間傳遞資訊。
透過標籤引導的成對樣本正規化已被廣泛應用於跨模態 KD。Thoker 等人使用配對樣本將 RGB 影片中的知識轉移到 3D 人體動作識別模型中。Roheda 等人提出了使用 GANs 從可用模態到缺失模態的跨模態蒸餾。Do 等人探索了一種基於 KD 的視覺問答方法,並依靠監督學習使用真實標籤進行跨模態遷移。Passalis 等人提出了機率 KD,將知識從文字模態轉移到視覺模態。
總結。一般來說,KD 在跨模式場景中表現良好。然而,當存在顯著的模態缺失時,跨模態 KD 很難對知識互動進行建模。

3.3 基於注意力的知識蒸餾

基於注意力的蒸餾利用注意力資訊進行有效的知識轉移。目前的工作遵循兩條主線:(1)提取從特徵圖中提煉出的注意力圖,以及(2)基於自注意力機制的加權提取,如下圖 6 所示。
▲ 圖6 基於注意力機制的知識蒸餾基本思想示意圖
3.3.1 蒸餾注意力圖
注意力圖通常反映有價值的語義資訊,並抑制不重要的部分。開創性的 AT 透過計算通道維度上特徵圖的統計資料來構建空間注意力圖,並在教師和學生網路之間對注意力圖進行對齊。
空間注意力圖包含類別感知語義區域,幫助學生捕捉辨別特徵。CD 採用壓縮和啟用模組生成通道注意力圖,讓學生學習老師的通道注意力權重。CWD 為每個通道提取一個空間注意力圖,表示密集預測的語義掩碼。
TinyBert 轉移 Transformer 層蒸餾的自注意力矩陣。LKD 引入了一個類別感知注意力模組,用於捕獲類相關區域以構建區域性相關矩陣。
3.3.2 自注意力機制加權蒸餾
自注意力技術是一種捕獲特徵之間相似關係的機制。一些方法應用基於注意力的權重進行自適應層間語義匹配。
SemCKD 自動為每個學生層分配從合適的教師層聚合的目標,這些目標具有基於注意力的相似性。AFD 提出了一種基於注意力的元網路來模擬教師和學生特徵之間的相對相似性。ALP-KD 將教師端的資訊與基於注意力的層投影融合,用於 Bert 蒸餾。與特徵層分配正交,TTKD 應用自注意力機制進行空間級特徵匹配。
總結。基於注意力圖捕捉顯著區域並過濾冗餘資訊,幫助學生學習最關鍵的特徵。然而,注意力圖壓縮了特徵圖的維度,可能會丟失有意義的知識。此外,注意力圖有時可能不會聚焦在正確的區域,從而導致負面的監督影響。

3.4 無需資料的知識蒸餾

傳統的 KD 方法通常需要大量的訓練樣本。然而,出於隱私或安全考慮,訓練資料集有時可能是不可得到的。現有工作已經提出了一些方法來處理這個問題,主要分為無資料 KD 和資料集 KD。無資料 KD 的示意圖如下圖 7 所示。
▲ 圖7 無需資料的知識蒸餾基本思想示意圖
3.4.1 無需資料的蒸餾
訓練樣本通常是使用生成對抗網路(GAN)合成的。教師網路以生成的樣本作為輸入來監督學生網路。Lopes 等人使用不同型別的啟用記錄來重建原始資料。DeepInversion 探索儲存在批歸一化層中的資訊,以生成無資料 KD 的樣本。Nayak 等人透過將 softmax 空間建模為教師引數的狄利克雷分佈,從而引入了一種樣本提取機制。
除了最終輸出之外,還可以使用教師特徵表示的資訊生成目標資料。Paul 等人優化了一個對抗生成器來搜尋困難的影像,然後使用這些影像來訓練學生。CMI 引入了對比學習,使合成例項與已經合成的例項區分開來。FastDFKD 優化了元合成器,以重用共享的通用功能,實現更快的無資料KD。
3.4.2 資料集知識蒸餾
除了無資料 KD 之外,資料集蒸餾是合成小資料集以表示原始完整資料集而不會降低精度的重要方向。
為了利用全監督設定,Radosavovic 等人透過單個模型從未標記資料的多次轉換中組裝預測,以產生新的訓練註釋。DDFlow 提出學習光流估計,並從教師模型中提取預測,以監督學生網路進行光流學習。未標記的資料可能會阻礙圖卷積網路(GCN)學習基於圖的資料。
一般來說,未標記資料的偽標籤可以為訓練 GCN 提供額外的監督。RDD 提出了一種可靠的資料驅動的半監督 GCN 訓練方法,它可以更好地使用高質量的資料,並透過定義節點和邊的可靠性來改進圖表示學習。Cazenavette 等人沿著提取的合成數據和真實資料之間的訓練軌跡進行了長距離引數匹配。
總結。在大多數無資料 KD 方法中,合成數據通常是從預訓練的教師網路的特徵表示中生成的。儘管當前的無資料 KD 工作在處理資料不可用問題方面表現出了顯著的效能,但生成更高質量和多樣化的訓練樣本仍然是一個有待研究的挑戰。
3.5 對抗蒸餾
對抗蒸餾是利用生成對抗網路的基本思想來改進 KD,主要分為三條主線:(1)使用 GAN 生成額外的資料樣本,(2)對抗機制來輔助 KD 演算法,(3)壓縮 GAN 以高效生成影像。對抗性 KD 的示意圖如下圖 8 所示。
▲ 圖8 對抗知識蒸餾基本思想示意圖
3.5.1 使用對抗生成網路產生額外的資料樣本
幾乎現有的 KD 演算法都是資料驅動的,即依賴於原始或替代資料,這在現實世界中可能是不可用的。生成對抗網路可以應用於學習真實的資料分佈並解決這個問題。DFAD 讓教師和學生網路共同發揮鑑別器的作用,以減少差異。同時,它添加了一個額外的生成器來產生困難樣本,以對抗性地放大它。
一些方法引入了條件 GAN(CGAN)來生成資料。Roheda 等人使用 CGAN 在給定其他可用模態的前提下從缺失模態中蒸餾知識。終身 GAN 將以前網路中學習到的知識轉移到新網路中,以持續生成有條件的影像。
3.5.2 對抗機制來輔助知識蒸餾
傳統的 KD 通常透過調整知識分佈來縮小教師和學生之間的差距。對抗機制可以作為提高模仿難度的輔助方法。一般來說,核心思想是引入一個額外的鑑別器來對教師或學生網路中的特徵表示進行分類。
Wang 等人利用鑑別器作為教學助手,使學生與教師學習相似的特徵分佈,以進行影像分類。Wang 等人採用對抗性 KD 進行單階段目標檢測。Liu 等人將逐畫素的類機率以對抗的方式應用於語義分割蒸餾中。除了基於師生的對抗學習外,一些方法還應用了線上對抗 KD 在多個學生網路之間相互提取特徵圖。
3.5.3 壓縮對抗生成網路來進行高效的影像生成
Aguinaldo 等人引導一個較小的“學生” GAN 對齊更大的“教師” GAN。Chen 等人讓學生生成器從相應的老師那裡學習低階和高階知識。
此外,學生鑑別器由教師網路透過 triplet 損失進行監督。Li 等人透過從中間表示中轉移知識並透過神經架構搜尋探索高效架構,提出了一種用於條件 GAN 的通用壓縮框架。Zhang 等人指出,小型 GAN 通常難以生成所需的高頻資訊。小波 KD 透過離散小波變換將影像分解為不同的頻帶,然後只傳輸有價值的高頻帶。
總結。儘管基於對抗的 KD 有助於知識模仿,但在實踐中可能很難確保 GAN 網路的收斂性。對於 GAN 壓縮,從特徵中提取哪些資訊適合蒸餾 GAN 仍然是一個值得探索的問題。
總結
本篇綜述首先按照基於響應、特徵和關係三種層面的知識型別總結了離線知識蒸餾的工作。透過剖析離線知識蒸餾需要預訓練教師的問題,引出了線上知識蒸餾和自知識蒸餾。
面向實際場景中,本文又引入了跨模態知識蒸餾和無資料的知識蒸餾。此外,本文展示了一些用於提升知識蒸餾效果的擴充套件機制,例如多教師知識蒸餾、注意力機制知識蒸餾和對抗知識蒸餾。
本文對以上領域的代表性相關工作進行調研,並總結核心思想與貢獻,對未來知識蒸餾的挑戰進行展望。相比於先前釋出的知識蒸餾綜述 [2,3],本文包含了更多發表於 2022 年以後的工作,以及介紹了一些先進的知識蒸餾方向,例如自監督蒸餾和 ViT 蒸餾。
本文希望可以透過總結過去工作讓讀者更快地學習領域的現狀,從而提出更先進的知識蒸餾方法,推動領域的發展。
參考文獻
[1] Hinton G. Distilling the Knowledge in a Neural Network[J]. arXiv preprint arXiv:1503.02531, 2015.
[2] Gou J, Yu B, Maybank S J, et al. Knowledge distillation: A survey[J]. International Journal of Computer Vision, 2021, 129: 1789-1819.
[3] Wang L, Yoon K J. Knowledge distillation and student-teacher learning for visual intelligence: A review and new outlooks[J]. IEEE transactions on pattern analysis and machine intelligence, 2021, 44(6): 3048-3068.
更多閱讀

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

相關文章