【論文閱讀】Learning From Multiple Experts: Self-paced Knowledge Distillation for Long-tailed Classification 向多專家學習:用於長尾分類的自定步長知識提煉


向多專家學習:用於長尾分類的自定步長知識提煉


​ 在現實世界中,數據傾向於呈現長尾,不平衡的分布。因此,在實際應用中開發處理這種長尾分布的算法變得必不可少。在本文中,我們提出了一種新穎的自我進度知識提煉框架,稱為“向多專家學習LFME”。我們的方法是受以下觀察啟發的: 在整個長尾分布的較少不平衡子集上訓練的深度卷積神經網絡CNN通常比聯合訓練的對等神經網絡產生更好的性能。我們將這些模型稱為“專家模型”,並且所提出的LFME框架匯總了來自多個專家的知識,以學習統一的學生模型。具體而言,所提出的框架涉及 兩個級別的自定進度的學習時間表,自定進度的專家選擇和自定進度的實例選擇,以便知識從多個專家自適應地轉移到學生。為了驗證我們提出的框架的有效性,我們對兩個長尾基准分類數據集進行了廣泛的實驗。實驗結果表明,與現有方法相比,我們的方法能夠實現卓越的性能。我們還表明,我們的方法可以輕松地插入最新的長尾分類算法中,以進行進一步的改進。

Introduction

深度卷積神經網絡(CNNs)在圖像分類、目標檢測和人臉識別等計算機視覺應用中取得了顯著的成功。訓練CNN通常依賴於大型數據集,比如ImageNet[6]和MS COCO[28],每個類都有數百個例子。這些大規模的數據集是經過精心設計和收集的,因此訓練數據是充分和平衡的。然而,在各種計算機視覺應用中,收集均勻分布的數據集是困難的,因為在真實場景中,底層的自然數據分布往往表現出長尾特性,多數類(head)較少,少數類(tail)較多[35,47,34]。當深度模型在這種不平衡分布下進行訓練時,很難達到預期的效果,需要開發相應的算法。

目前解決這一問題的方法主要有兩個方面。首先是通過度量學習,其中提出重采樣方案或代價敏感的損失函數來減輕數據不平衡的負面影響。二是頭尾知識轉移,即從注釋豐富的類中學習先驗知識或歸納偏差,並將其推廣到少數類中。

與上述兩種方法正交,我們提出了一種新的自定速度的知識蒸餾方法,它可以很容易地應用到以前的方法中。我們的方法是由一個有趣的觀察激發的,學習一個更均勻的分布有更少的樣本有時比學習一個長尾分布有更多的樣本[35]更容易。我們首先引入四個度量標准來度量長尾分布的“長尾度”。然后我們表明,如果我們根據它們的基數對所有類別進行排序,那么將整個長尾數據集拆分為子集將導致更小的長尾性,這表明它們遭受的數據不平衡問題不那么嚴重。因此,在這些子集上進行訓練的cnn,預期會比聯合訓練的cnn表現更好。為了清晰起見,我們將這樣的子集稱為基數鄰接子集,在這些子集上訓練的CNN稱為專家模型

一旦我們獲得了訓練有素的專家模型,就可以用它們來指導培養統一的學生模型。如果我們看看人類學習過程作為學生,我們可以得出兩個特點:1)學生常常需要各種課程從簡單到困難,2)隨着學習的進行,學生獲得更多的知識從selflearning比從老師和他/她甚至可能超過他/她的老師。受這些發現的啟發,我們提出了一個多專家學習(LFME)框架,該框架包含兩個自定速度的學習方案,稱為自定速度的專家選擇和自定速度的實例選擇。具體來說,自定速度的專家選擇自動控制每個專家知識提煉的影響,使學過的學生模型逐漸從專家那里獲取知識,最終超越專家。而自定速實例選擇則為統一模型設計了一個課程,訓練樣本由易到難進行組織,使統一的學生模型的學習計划挑戰性較小,由易到難的樣本逐步學習。我們的LFME框架的示意圖如圖1所示。

為了驗證我們提出的框架的有效性,我們在兩個基准的長尾分類數據集上進行了廣泛的實驗,並表明我們的方法能夠產生比最新的方法優越的性能。值得注意的是,我們的方法可以很容易地與其他先進的方法相結合,並實現進一步的改進。此外,我們進行了廣泛的燒蝕研究,以驗證每個組件的貢獻。

我們的貢獻可以總結如下:1)我們將介紹四個指標來評價的“longtailness”分布,並進一步提出了從多個專家知識學習蒸餾框架,2)我們建議兩個級別的自主學習計划,即模型和實例級水平,學習一個統一的學生模型,3)我們建議的方法達到最先進的表現兩個基准長尾分類數據集,並可以很容易地結合技術發展水平進一步改善的方法。

image-20200715105546541

長尾,Data-imbalanced學習。由於數據不平衡問題的普遍存在,長尾學習問題得到了全面的研究[16,35]。大多數以前的方法通過度量學習或“頭到尾”知識轉移來解決這個問題。度量學習方法主要關注於設計有效的重抽樣方案或代價敏感的損失函數。重采樣方法要么對尾部類采用過采樣[3,14],要么對頭部類采用過采樣[8,42,21]。

另一方面,文獻[24,47,7,27,19,2,5]提出了各種成本敏感的損失函數。在這些方法中,距離損失[47]通過最小化各類別的距離來增強對長尾人臉識別的學習,而焦點損失[27]通過降低對分類良好的樣本的損失來處理目標檢測中的類別不平衡。

除了度量學習方法,研究者還嘗試使用頭尾知識轉移來解決數據不平衡問題。在[43,44]中,我們逐步學習了從少數類到多數類的轉化,而在[29]中,我們提出了一種帶有特征記憶的元嵌入來實現這種知識轉移。

少鏡頭學習方法[15,9,11]也試圖將知識從一個豐富注釋的數據集推廣到一個低鏡頭數據集。這通常是通過訓練一個多桿班的金屬制造人員,然后推廣到新的少桿班來實現的。然而,與少鏡頭學習算法不同的是,我們主要關注聯合學習連續的數據分布譜,而不是只關注少鏡頭類。

知識蒸餾。知識蒸餾的概念首先在[18]中被引入,目的是為了進行模型壓縮,在這個模型中,學生網絡被訓練來模仿教師網絡的行為,從而將知識壓縮到緊湊的學生網絡中。然后將精化目標進一步擴展到隱含層特征[39]和視覺注意[46],將教師模型的注意圖轉移到學生身上。除了提取模型壓縮外,當教師和學生的結構相同時,知識提取也被證明是有效的。即自蒸餾[45,10]。知識蒸餾也應用於其他領域,如持續學習[26,37],半監督學習[30]和神經式遷移[20]。

課程設置和自定進度學習。與人類學習類似,設計一個有組織的課程被證明在機器學習和[1]環境下是有效的。課程學習的基本思想是將樣本或任務按難度升序組織起來,被廣泛應用於弱監督學習[25,23,13],強化學習[41,31,32]。除了根據先驗知識設計容易上手的課程外,還努力融入學習過程,動態調整課程。在[22]中,提出了一個由先驗知識和學習動力共同決定的自定進度的課程。在[12]多武裝的土匪算法被用來確定一個大綱,其中在預測精度和網絡復雜性的增加率被用作獎勵信號。在[38]中,采用元學習方法根據梯度方向對訓練樣本進行權值分配。

評估數據不平衡的動機和指標

我們在這項工作中要解決的問題是在一個長尾分類任務上訓練一個CNN。我們的方法受到了一個有趣的經驗發現的啟發,即在一個擁有較少樣本的平衡數據集上訓練CNN,有時會比在擁有更多樣本的長尾數據集上獲得更好的性能。[35]的實驗表明,即使在保留40%的正樣本進行表示學習的情況下,由於分布更加均勻,目標檢測的性能仍然可以有令人驚訝的提高。這一觀察成功地強調了學習均衡、均勻分布的重要性。要了解更均衡的分布,一個自然要問的問題是,如何度量數據的不平衡。因為幾乎每個手動收集的數據集或多或少都包含每個類的不同數量的樣本。為此,我們首先介紹了四個度量數據不平衡的指標。

對於一個長尾數據集,我們將N, N i, C分別表示樣本總數,第i類樣本數,類別數,則引入四個度量數據不平衡的指標如下:

不平衡比[40]定義為最大樣本數與最小樣本數之比:

\[I_{R a t i o}=\frac{N_{i_{m a x}}}{N_{i_{m i n}}} \]

不平衡散度定義為長尾分布與均勻分布之間的kl散度:

\[I_{K L}=D(P \| Q)=\sum_{i} p_{i} \log \frac{p_{i}}{q_{i}} \]

where \(p_{i}=\frac{N_{i}}{N}\) is the class probability for class \(i,\) and \(q_{i}=\)\(\frac{1}{N}\) denotes the uniform probability.

不平衡絕對偏差[4]定義為各長尾概率與均勻概率之間的絕對距離之和:

\[I_{A b s}=\sum_{i}\left|\frac{1}{C}-\frac{N_{i}}{N}\right| \]

基尼系數定義為

\[I_{G i n i}=\frac{\sum_{i=1}^{C}(2 i-C-1) N_{i}}{C \sum_{i=1}^{C} N_{i}} \]

其中所有類按基數升序排序時,i是類索引。

對於所有四個指標,較小的值表示更均勻的分布。有了這些度量,我們表明,對於一個長尾數據集,如果我們根據基數對類進行排序,即樣本的數量,那么在這些不平衡測量下,學習基數相鄰的類的子集將變得更短尾。如表1所示,如果我們根據類基數(遵循[29])將長尾基准數據集ImageNet LT分成三部分(多鏡頭、中鏡頭、少鏡頭),那么所有四個指標都變得更小,這表明這些子集比原來的不平衡更少。然后,在這些子集上訓練的cnn會比聯合訓練的cnn表現更好。我們在兩個長尾基准數據集ImageNet LT上驗證了這個假設,並將其放置在[29]上。如圖2所示,在這些子集上訓練的CNNs大大優於聯合模型。這個經驗結果也符合我們的直覺,因為相鄰類的連續譜在基數方面更均衡,而且學習過程中多數和少數之間的干擾更少。

在本節中,我們將詳細描述所提議的LFME框架。正式地,給定一個有C個類的長尾數據集D,我們把整個類別集分成L個基數相鄰的子集S 1, S 2,…使用L−1個閾值T 1, T 2,…, T L−1使S i = {c|T i≤N c≤T i+1},其中N c為c類的基數。然后我們對每個基數鄰接子集訓練L個專家模型,並將它們表示為me1, me2,…, M E L。這些專家模型用於1)提供知識轉移的輸出日志分布2)提供輸出置信度作為實例困難線索(instance difficulty cues)。這些信息使我們能夠從模型級和實例級開發自定速度的學習方案。從自定速專家選擇的角度,我們在專家模型和學生模型的輸出對數之間采用加權知識蒸餾。隨着學習的進行,學生將逐漸接近專家的表現。在這種情況下,我們不希望專家限制學生的學習過程。為了實現這一目標,我們引入了一種基於專家模型和學生模型在驗證集上的表現差距的自定速度加權方案。隨着學生模型同時從數據和專家模型中獲取知識,知識蒸餾的重要性權重會逐漸降低,最終統一的學生模型能夠達到與專家相當甚至優於的效果。從自定速實例選擇的角度,給定專家模型的置信度評分,對訓練數據進行由易到難,即由低到高的重新組織。然后利用軟加權實例選擇方案進行自定速度課程,先訓練容易的樣本,然后逐步將較難的樣本加入到訓練集中。這種循序漸進的學習課程已被證明對訓練深度模型[1]是有益的。最后,通過兩個層次的自定速學習方案,專家模型中的知識將逐漸轉化為統一的學生模型。圖3顯示了LFME框架的概述。

\[L_{K D_{l}}=-H\left(\tau\left(\mathbf{z}^{(l)}\right), \tau\left(\hat{\mathbf{z}}^{(l)}\right)\right)=-\sum_{i=1}^{\left|S_{l}\right|} \tau\left(z_{i}^{(l)}\right) \log \left(\tau\left(\hat{z}_{i}^{(l)}\right)\right) \]

\[\tau\left(z_{i}^{(l)}\right)=\frac{\exp \left(z_{i}^{(l)} / T\right)}{\sum_{j} \exp \left(z_{j}^{(l)} / T\right)}, \quad \tau\left(\hat{z}_{i}^{(l)}\right)=\frac{\exp \left(\hat{z}_{i}^{(l)} / T\right)}{\sum_{j} \exp \left(\hat{z}_{j}^{(l)} / T\right)} \]

image-20200715190028144

討論

我們進一步仔細觀察引入知識蒸餾專家模型的影響。專家模型對統一學生模型的學習動力有兩方面的影響。首先,通過知識的提煉提供明確的監督,使學生模型有模仿專家模型行為的傾向。其次,對於低概率類別,它既是隱式監督,又是過度擬合的正則化。當一個多鏡頭類別的實例被輸入網絡時,相應的低鏡頭專家模型也提供了它的輸出預測,以產生梯度流回學生網絡,這可以在兩方面獲益。首先,它可以作為專家模型的隱含分布提示作為額外的監督信號。其次,low-shot類別的分類節點的權值最初只受low-shot樣本的影響,這可能會導致嚴重的過擬合。然而,將多鏡頭數據輸入到low-shot 專家中得到的梯度流將作為額外的正則化,以防止low-shot分類節點對low-shot樣本進行過擬合。

實驗

5.1 實驗設置

我們在兩個基准的長尾分類數據集上評估我們的方法:ImageNet LT和在[29]中提出的Places LT。ImageNet LT是ImageNet對象分類數據集[6]的一個長尾版本,它是通過對一個服從Pareto分布的子集進行采樣,其功率值為Pareto = 6。它包含1000個類別中的115.8K張圖像,類基數從5到1280不等。Places LT也是一個地名場景分類數據集[48]的長尾版本。它包含來自365個類別的184.5K幅圖像,類基數從5到4980不等。

與[29]類似,我們的基線方法包括三種度量學習方法:提升損失[33]、焦點損失[27]和射程損失[47],以及一種最先進的少彈學習方法FSLwF[11],以及OLTR[29]。

在實驗中,我們選擇了[29]中分割后的基數相鄰子集L = 3的個數,閾值為{20,100}。我們將這些子集稱為多鏡頭、中鏡頭、少鏡頭子集。值得注意的是,子集的選擇可以是靈活的,只要子集減少不平衡指標,即保持更均衡的分布。然后我們的LFME框架包括兩個階段:1)培訓專家對應子集,2)使用LFME框架下的專家模型培訓統一的學生模型。我們使用PyTorch[36]來實現實驗。我們首先培訓的專家使用SGD 90年代無鈴聲和哨子。然后使用動量0.9、90個epoch的權重衰減0.0005、批大小256、學習率0.1和每40個epoch除以0.1的SGD優化器對LFME模型進行訓練。我們使用ResNet-10[17]培訓從頭ImageNet LT和ImageNet pretrained Resnet152地方中尉在訓練,采用class-balanced抽樣,每個類都有相同的概率被選中和相同數量的實例將每個類采樣,等於4在我們的實驗中。在實驗過程中,將蒸餾溫度T設置為2,專家權值調度閾值超參數擬值設置為0.6。

5.2 在長尾分類基准上的主要結果

表2給出了ImageNet LT和Places LT數據集上的長尾分類結果。可以發現,我們的方法能夠取得優於或至少可比的結果,最先進的方法,如OLTR。我們發現,多鏡頭類別從我們的LFME框架中受益最大,而少數鏡頭類也證明了改進,執行類似的度量學習方法。此外,我們還證明了我們的方法可以很容易地與其他先進的方法結合,並給出了LFME+焦損失和LFME+OLTR的結果。我們觀察到,這兩種方法都受益於我們在所有三個子集上的專家模型,並且我們的方法和OLTR的結合大大優於以前的方法。同樣值得注意的是,我們的專家模型是使用沒有花哨功能的單純cnn來訓練的,利用最先進的數據不平衡學習方法將進一步產生優秀的專家模型,而且可以假定,優秀的學生模型。

5.3 消融實驗

我們廣泛地評估了我們方法的每個部分,以便進行詳細的分析,結果如表3所示。我們將與以下變體進行比較:

1)實例級隨機抽樣(in . samp .),其中每個實例都以相等的概率進行抽樣。

2)實例級隨機抽樣+普通知識蒸餾(in . samp .+KD),其中加入專家的非自定速版本知識蒸餾,即wl = 1.0。

3)實例級隨機抽樣+自定速度的專家選擇知識蒸餾(in . samp .+KD+SpES)。

4)類級隨機抽樣(Cls.Samp.),即以相等的樣本數和概率對每個班級進行抽樣。

5)課級隨機抽樣+普通知識蒸餾(Cls.Samp.+KD)。

6)類級隨機抽樣+知識提煉+自定速度的專家選擇(Cls.Samp.+KD+SpES)。

7)自定步調的實例選擇+自定步調的專家選擇(SpIS+SpES),它們構成了我們的LFME框架。

從結果可以得出以下結論:首先,引入專家知識蒸餾可以極大地提高結果,實例級抽樣基線和類級抽樣基線分別提高11.3%和3.2%。其次,自定速度的專家選擇進一步改進了知識的提煉,因為它消除了專家帶來的性能上限,允許學生超越專家。結果表明,SpES分別帶來了0.4%和1.3%的整體性能提升。第三,實例抽樣和選擇方法很重要,從類級抽樣和實例級抽樣方法之間的性能差距就可以看出。另一方面,提出的自定步長實例選擇算法在較少的鏡頭類別上提高了1%的准確率。

自定速專家選擇的可視化在LFME中發揮着重要的作用,從而提高了知識轉移的效率。圖5 (a)-(c)給出了多鏡頭、中鏡頭、少鏡頭模型的專家選擇權重w l的可視化。從可視化上看,wl是自動控制知識轉移的,對於多鏡頭和中鏡頭專家,知識始終被提煉出來,而對於少鏡頭專家,學生的成績立即超過專家,從而導致了少鏡頭的衰退。此外,我們還通過交叉熵損失曲線將自定速專家選擇的影響可視化,如圖5 (d)所示,發現自定速專家選擇的交叉熵損失較低,這也驗證了所提出的自定速專家選擇的有效性。

image-20200715190620348

我們通過TSNE將vanilla CNN和我們的LFME的分類權重可視化,如圖6所示。結果表明,我們的方法得到了更結構化、更緊湊的特征流形。實驗結果表明,在沒有特定的度量學習的情況下,我們的方法也能夠產生識別特征空間和分類器。

image-20200715190631571

圖7顯示了專家權值調度閾值模型的靈敏度分析。從結果來看,我們觀察到我們的模型對大多數的客觀值是穩健的。當自定步長到1.0時,自定步長專家選擇變成了普通的知識提煉,導致性能下降。

image-20200715190644991

Conclusions

在本文中,我們提出了一個多專家學習的框架來解決長尾分類問題。通過引入不那么長尾的基數鄰接子集的思想,我們訓練了幾個專家模型,並提出了兩個層次的自定速度學習將知識從專家模型提取到一個統一的學生模型。從大量的實驗和可視化結果中,我們驗證了我們提出的方法以及它的每個組件的有效性,並表明LFME框架能夠在長尾分類基准上取得最先進的性能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM