【知識蒸餾】Deep Mutual Learning

【GiantPandaCV導語】Deep Mutual Learning是Knowledge Distillation的外延,經(jīng)過測試(代碼來自Knowledge-Distillation-Zoo), Deep Mutual Learning性能確實超出了原始KD很多,所以本文分析這篇CVPR2018年被接受的論文。同時PPOCRv2中也提到了DML,并提出了CML,取得效果顯著。

引言

首先感謝:https://github.com/AberHu/Knowledge-Distillation-Zoo

筆者在這個基礎上進行測試,測試了在CIFAR10數(shù)據(jù)集上的結果。

學生網(wǎng)絡resnet20:92.29% 教師網(wǎng)絡resnet110:94.31%

這里只展示幾個感興趣的算法結果帶來的收益:

  • logits(mimic learning via regressing logits): + 0.78

  • ST(soft target): + 0.16

  • OFD(overhaul of feature distillation): +0.45

  • AT(attention transfer): +0.71

  • NST(neural selective transfer): +0.38

  • RKD(relational knowledge distillation): +0.65

  • AFD(attention feature distillation): +0.18

  • DML(deep mutual learning): + 2.24 (ps: 這里教師網(wǎng)絡已經(jīng)訓練好了,與DML不同)

DML也是傳統(tǒng)知識蒸餾的擴展,其目標也是將大型模型壓縮為小的模型。但是不同于傳統(tǒng)知識蒸餾的單向蒸餾(教師→學生),DML認為可以讓學生互相學習(雙向蒸餾),在整個訓練的過程中互相學習,通過這種方式可以提升模型的性能。

DML通過實驗證明在沒有先驗強大的教師網(wǎng)絡的情況下,僅通過學生網(wǎng)絡之間的互相學習也可以超過傳統(tǒng)的KD。

如果傳統(tǒng)的知識蒸餾是由教師網(wǎng)絡指導學生網(wǎng)絡,那么DML就是讓兩個學生互幫互助,互相學習。

DML

小型的網(wǎng)絡通常有與大網(wǎng)絡相同的表示能力,但是訓練起來比大網(wǎng)絡更加困難。那么先訓練一個大型的網(wǎng)絡,然后通過使用模型剪枝、知識蒸餾等方法就可以讓小型模型的性能提升,甚至超過大型模型。

以知識蒸餾為例,通常需要先訓練一個大而寬的教師網(wǎng)絡,然后讓小的學生網(wǎng)絡來模仿教師網(wǎng)絡。通過這種方式相比直接從hard label學習,可以降低學習的難度,這樣學生網(wǎng)絡甚至可以比教師網(wǎng)絡更強。

Deep Mutual Learning則是讓兩個小的學生網(wǎng)絡同時學習,對于每個單獨的網(wǎng)絡來說,會有針對hard label的分類損失函數(shù),還有模仿另外的學生網(wǎng)絡的損失函數(shù),用于對齊學生網(wǎng)絡的類別后驗。

image

這種方式一般會產(chǎn)生這樣的疑問,兩個隨機初始化的學生網(wǎng)絡最初階段性能都很差的情況,這樣相互模仿可能會導致性能更差,或者性能停滯不前(the blind lead the blind)。

文章中這樣進行解釋:

  • 每個學生主要是倍傳統(tǒng)的有監(jiān)督學習損失函數(shù)影響,這意味著學生網(wǎng)絡的性能大體會是增長趨勢,這意味著他們的表現(xiàn)通常會提高,他們不能作為一個群體任意地漂移到群體思維。(原文: they cannot drift arbitrarily into groupthink as a cohort.)

  • 在監(jiān)督信號下,所有的網(wǎng)絡都會朝著預測正確label的方向發(fā)展,但是不同的網(wǎng)絡在初始化值不同,他們會學到不同的表征,因此他們對下一類最有可能的概率的估計是不同的。

  • 在Mutual Learning中,學生群體可以有效匯集下一個最后可能的類別估計,為每個訓練實例找到最有可能的類別,同時根據(jù)他們互學習對象增加每個學生的后驗熵,有助于網(wǎng)絡收斂到更平坦的極小值,從而帶來更好的泛華能力和魯棒性。

  • Why Deep Nets Generalise 有關網(wǎng)絡泛化性能的討論認為:在深度神經(jīng)網(wǎng)絡中,有很多解法(參數(shù)組合)可以使得訓練錯誤為0,其中一些在比較loss landscape平坦處參數(shù)可以比其他narrow位置的泛華性能更好,所以小的干擾不會徹底改變預測的效果;

  • DML通過實驗發(fā)現(xiàn):(1)訓練過程損失可以接近于0 。(2)在擾動下對loss的變動接受能力更強。(3)給出的class置信度不會過于高。總體來說就是:DML并沒有幫助我們找到更好的訓練損失最小值,而是幫助我們找到更廣泛/更穩(wěn)健的最小值,更好地對測試數(shù)據(jù)進行泛華。

image

DML具有的特點是:

  • 適合于各種網(wǎng)絡架構,由大小網(wǎng)絡混合組成的異構的網(wǎng)絡也可以進行相互學習(因為只學習logits)

  • 效能會隨著隊列中網(wǎng)絡數(shù)量的增加而增加,即互學習對象增多的時候,性能會有一定的提升。

  • 有利于半監(jiān)督學習,因為其在標記和未標記數(shù)據(jù)上都激活了模仿?lián)p失。

  • 雖然DML的重點是得到某一個有效的網(wǎng)絡,整個隊列中的網(wǎng)絡可以作為模型集成的對象進行集成。

DML中使用到了KL Divergence衡量兩者之間的差距:

D_{K L}\left(\boldsymbol{p}_{2} \| \boldsymbol{p}_{1}\right)=\sum_{i=1}^{N} \sum_{m=1}^{M} p_{2}^{m}\left(\boldsymbol{x}_{i}\right) \log \frac{p_{2}^{m}\left(\boldsymbol{x}_{i}\right)}{p_{1}^{m}\left(\boldsymbol{x}_{i}\right)}

P1和P2代表兩者的邏輯層輸出,那么對于每個網(wǎng)絡來說,他們需要學習的損失函數(shù)為:

\begin{aligned} &L_{\Theta_{1}}=L_{C_{1}}+D_{K L}\left(\boldsymbol{p}_{2} \| \boldsymbol{p}_{1}\right) \\ &L_{\Theta_{2}}=L_{C_{2}}+D_{K L}\left(\boldsymbol{p}_{1} \| \boldsymbol{p}_{2}\right) \end{aligned}

其中L_{C_{1}},L_{C_{2}}代表傳統(tǒng)的分類損失函數(shù),比如交叉熵損失函數(shù)。

可以發(fā)現(xiàn)KL divergence是非對稱的,那么對兩個網(wǎng)絡來說,學習到的會有所不同,所以可以使用堆成的Jensen-Shannon Divergence Loss作為替代:

\frac{1}{2}\left(D_{K L}\left(\boldsymbol{p}_{1} \| \boldsymbol{p}_{2}\right)+D_{K L}\left(\boldsymbol{p}_{1} \| \boldsymbol{p}_{2}\right)\right)

更新過程的偽代碼:

image

更多的互學習對象

給定K個互學習網(wǎng)絡,\Theta_{1}, \Theta_{2}, \ldots, \Theta_{K}(K \geq 2), 那么目標函數(shù)變?yōu)椋?/p>

L_{\Theta_{k}}=L_{C_{k}}+\frac{1}{K-1} \sum_{l=1, l \neq k}^{K} D_{K L}\left(\boldsymbol{p}_{l} \| \boldsymbol{p}_{k}\right)

將模仿信息變?yōu)槠渌W習網(wǎng)絡的KL divergence的均值。

擴展到半監(jiān)督學習

在訓練半監(jiān)督的時候,我們對于有標簽數(shù)據(jù)只使用交叉熵損失函數(shù),對于所有訓練數(shù)據(jù)(包括有標簽和無標簽)的計算KL Divergence 損失。

這是因為KL Divergence loss的計算天然的不需要真實標簽,因此有助于半監(jiān)督的學習。

實驗結果

幾個網(wǎng)絡的參數(shù)情況:

image

在CIFAR10和CIFAR100上訓練效果

image

在Reid數(shù)據(jù)集Market-1501上也進行了測試:

image

發(fā)現(xiàn)互學習目標越多,性能呈上升趨勢:

image

結論

本文提出了一種簡單而普遍適用的方法來提高深度神經(jīng)網(wǎng)絡的性能,方法是在一個隊列中通過對等和相互蒸餾進行訓練。

通過這種方法,可以獲得緊湊的網(wǎng)絡,其性能優(yōu)于那些從強大但靜態(tài)的教師中提煉出來的網(wǎng)絡。
DML的一個應用是獲得緊湊、快速和有效的網(wǎng)絡。文章還表明,這種方法也有希望提高大型強大網(wǎng)絡的性能,并且以這種方式訓練的網(wǎng)絡隊列可以作為一個集成來進一步提高性能。

參考

https://github.com/AberHu/Knowledge-Distillation-Zoo

https://openaccess.thecvf.com/content_cvpr_2018/papers/Zhang_Deep_Mutual_Learning_CVPR_2018_paper.pdf

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內(nèi)容