【Knowledge Distillation】知識(shí)蒸餾總結(jié)

Knowledge Distillation

背景

知識(shí)蒸餾(KD)是想將復(fù)雜模型(teacher)中的dark knowledge遷移到簡(jiǎn)單模型(student)中去朱嘴,一般來(lái)說(shuō)尸诽,teacher具有強(qiáng)大的能力和表現(xiàn)矫废,而student則更為緊湊腾供。通過(guò)知識(shí)蒸餾澳窑,希望student能盡可能逼近亦或是超過(guò)teacher钠怯,從而用更少的復(fù)雜度來(lái)獲得類似的預(yù)測(cè)效果。Hinton在Distilling the Knowledge in a Neural Network中首次提出了知識(shí)蒸餾的概念凭迹,通過(guò)引入teacher的軟目標(biāo)(soft targets)以誘導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練罚屋。近些年來(lái)出現(xiàn)了許多知識(shí)蒸餾的方法,而不同的方法對(duì)于網(wǎng)絡(luò)中需要transfer的dark knowledge的定義也各不相同蕊苗。

論文

1. Do Deep Nets Really Need to be Deep? 【NIPS2014】

動(dòng)機(jī)

shallow net在參數(shù)較少或者一樣的情況下能否和deep net達(dá)到相近的效果沿后?

方法

1)softmax的輸入是logits沿彭、輸出是probability朽砰,文中提出訓(xùn)練shallow net的時(shí)候使用deep net的logits作為label,Hinton稱之為logit匹配喉刘。

2)訓(xùn)練shallow net時(shí)在logits上使用L2 Loss監(jiān)督訓(xùn)練瞧柔。

思考

1)deep net更robust,可以對(duì)一些錯(cuò)誤樣本進(jìn)行矯正睦裳,使shallow net學(xué)習(xí)更容易造锅;同時(shí) deep net學(xué)習(xí)能力更強(qiáng),可以學(xué)習(xí)一些比較難的任務(wù)廉邑,并將其轉(zhuǎn)換成更加容易的soft label給小模型進(jìn)行學(xué)習(xí)哥蔚。

2)為什么不使用probability作為標(biāo)簽?zāi)兀?/p>

假如[2e-9, 4e-5, 0.9999]是softmax的三個(gè)probability,用這個(gè)作為shallow net的目標(biāo)蛛蒙,因?yàn)楦鱾€(gè)probability之間的差異太大糙箍,容易使shallow net注意力集中在較大的probability上,忽略值較小的probability牵祟。并且不同的logits通過(guò)softmax之后可能會(huì)有相近的表達(dá)深夯,因此差別會(huì)被縮小,如[-10, 0, 10]和[10, 20, 30]诺苹,顯然模型對(duì)兩者的特征表達(dá)是大不相同的咕晋。

3)logits比hard label包含更豐富的信息,其中包含deep net本身的知識(shí)提煉收奔。

2. Distilling the Knowledge in a Neural Network【NIPS2015】(Hinton系統(tǒng)詮釋蒸餾)

動(dòng)機(jī)

ensemble模型部署代價(jià)太高掌呜,直接訓(xùn)練小模型效果不夠

方法

該方法采用softmax層內(nèi)特征匹配的策略,其本質(zhì)是使用softmax的輸出作為監(jiān)督坪哄,但為了使得到的得分vector更soft质蕉,在softmax層加上了蒸餾溫度T呢撞,使蒸餾的性能提升。



步驟:
1)在T=1訓(xùn)練teacher;
2)在高溫下利用teacher softmax的輸出概率作為soft label饰剥,與hard label進(jìn)行融合來(lái)監(jiān)督student殊霞,對(duì)兩者的loss進(jìn)行加權(quán)。

3. FITNETS:Hints for Thin Deep Nets【ICLR2015】

動(dòng)機(jī)

deep是DNN主要的功效來(lái)源汰蓉,之前的工作都是用較淺的網(wǎng)絡(luò)作為student net绷蹲,這篇文章的主題是如何mimic一個(gè)更深但是比較小的網(wǎng)絡(luò)。

方法

使用的方法直覺(jué)上來(lái)講也是直接的:既然網(wǎng)絡(luò)很深直接訓(xùn)練會(huì)很困難顾孽,那就通過(guò)在中間層加入loss的方法祝钢,通過(guò)學(xué)習(xí)teacher中間層feature map來(lái)transfer中間層表達(dá)的知識(shí),文章中把這個(gè)方法叫做Hint-based Training若厚。


訓(xùn)練分為兩個(gè)stage:

stage1(Hints Training): 選取teacher的中間層作為guidance拦英,對(duì)student的中間層進(jìn)行監(jiān)督學(xué)習(xí),通常兩者的維度不一樣测秸,所以需要一個(gè)額外的線性矩陣或卷積層去進(jìn)行維度變換疤估,達(dá)到維度一致,然后使用L2 Loss進(jìn)行監(jiān)督霎冯。

stage2(Knowledge Distillation): 采用論文2中KD對(duì)整個(gè)student進(jìn)行知識(shí)遷移铃拇。

結(jié)果

1)小而深的網(wǎng)絡(luò)可以達(dá)到比teacher更好的效果,并且在參數(shù)量28分之一的前提下沈撞,效果高于論文2中的方法慷荔;

2)作者做了其他實(shí)驗(yàn):通過(guò)深度監(jiān)督(添加額外的中間層直接進(jìn)行分類的loss)去學(xué)習(xí)一個(gè)小而深的網(wǎng)絡(luò),發(fā)現(xiàn)無(wú)法正常學(xué)習(xí)缠俺。因此作者得出結(jié)論:添加teacher中間層的特征作為student學(xué)習(xí)對(duì)象能夠幫助其學(xué)習(xí)一個(gè)deeper的網(wǎng)絡(luò)显晶,而直接使用hard targets的分類信號(hào)去監(jiān)督中間層則難以起到幫助核偿。

4. Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer【ICLR2017】

動(dòng)機(jī)

將feature map作為知識(shí)直接從teacher transfer到student過(guò)于生硬往果,效果不佳。因此辣卒,文章提出將attention map作為知識(shí)從teacher transfer到student墓卦,希望讓student關(guān)注teacher所關(guān)注的區(qū)域倦春。

方法

文章中attention map定義如下:

,即將feature map不同通道的feature plane取絕對(duì)值進(jìn)行power操作然后相加落剪,拉近teacher和student的attention map之間的歐式距離睁本。attention map可以看作全激活feature map的summary,因此會(huì)比直接transfer feature map效果好忠怖。

5. A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning【CVPR2017】

動(dòng)機(jī)

過(guò)去的知識(shí)蒸餾均是利用soft targets或者利用中間特征做hint來(lái)進(jìn)行知識(shí)的transfer呢堰,本文提出:神經(jīng)網(wǎng)絡(luò)的知識(shí)在于如何解決從一個(gè)輸入到輸出的映射,是一個(gè)從輸入到輸出的一個(gè)feature flow(即層與層之間的特征關(guān)系)凡泣,teacher要將這個(gè)flow transfer給student枉疼。層與層之間的特征關(guān)系更能表達(dá)一種提取的手段皮假,讓student學(xué)到這種手段更加像授人以魚不如授人以漁。

方法

文中定義了FSP Matrix矩陣來(lái)刻畫層與層之間的特征關(guān)系骂维。具體做法是:對(duì)于具有相同分辨率的特征圖惹资,低層和高層特征圖的channel兩兩做內(nèi)積,然后將結(jié)果填入FSP Matrix對(duì)應(yīng)位置航闺。FSP Matrix計(jì)算過(guò)程:


其中褪测,F(xiàn)1、F2是低層潦刃、高層特征圖侮措,h、w是特征圖的長(zhǎng)寬乖杠,i分扎、j是低層、高層特征圖的channel index胧洒,x和W是當(dāng)前的輸入和參數(shù)畏吓。

然后用L2 Loss去拉近teacher和student的FPS matrix之間的距離,定義如下:


文章采用resnet作為實(shí)驗(yàn)的backbone略荡,對(duì)teacher和student對(duì)應(yīng)的stage計(jì)算FSP Matrix庵佣,然后用L2 Loss去拉近FSP Matrix之間的距離,以達(dá)到知識(shí)遷移的目的汛兜。


6. Knowledge Distillation in Generations: More Tolerant Teachers Educate Better Students【AAAI2019】

動(dòng)機(jī)

硬標(biāo)簽會(huì)導(dǎo)致模型產(chǎn)生過(guò)擬合現(xiàn)象,soft label對(duì)于模型的泛化能力有所幫助通今。文中指出:一個(gè)更加tolerant的teacher(即使得teacher的輸出更加soft一些)粥谬,盡管在一定程度上降低了teacher的精度,但能給student更高的泛化學(xué)習(xí)的寬容度辫塌,反而能帶來(lái)student的提升漏策。常用的方法有l(wèi)abel smoothing regularization(lsr)和confidence penalty(CP)兩種方法,但其缺點(diǎn)是考慮了所有的類臼氨。本文提出了一個(gè)更合理的方法掺喻,沒(méi)有計(jì)算所有類的額外損失,而是挑選了幾個(gè)具有最高置信度分?jǐn)?shù)的類储矩。

方法

1)訓(xùn)練teacher時(shí)感耙,對(duì)teacher的loss加了一項(xiàng)約束:置信度top1和topK其余K-1個(gè)平均值之間的gap,命名為top score difference持隧。

2)訓(xùn)練student時(shí)即硼,用1)得到的teacher的soft label與hard label融合;
論文中實(shí)驗(yàn)在CIFAR-100和ILSVRC2012分類數(shù)據(jù)集上漲點(diǎn)3%~8%不等屡拨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載只酥,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者褥实。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市裂允,隨后出現(xiàn)的幾起案子损离,更是在濱河造成了極大的恐慌,老刑警劉巖绝编,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件草冈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瓮增,警方通過(guò)查閱死者的電腦和手機(jī)怎棱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绷跑,“玉大人拳恋,你說(shuō)我怎么就攤上這事≡夷螅” “怎么了谬运?”我有些...
    開(kāi)封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)垦藏。 經(jīng)常有香客問(wèn)我梆暖,道長(zhǎng),這世上最難降的妖魔是什么掂骏? 我笑而不...
    開(kāi)封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任轰驳,我火速辦了婚禮,結(jié)果婚禮上弟灼,老公的妹妹穿的比我還像新娘级解。我一直安慰自己,他們只是感情好田绑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布勤哗。 她就那樣靜靜地躺著,像睡著了一般掩驱。 火紅的嫁衣襯著肌膚如雪芒划。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天欧穴,我揣著相機(jī)與錄音民逼,去河邊找鬼。 笑死苔可,一個(gè)胖子當(dāng)著我的面吹牛缴挖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播焚辅,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼映屋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苟鸯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起棚点,我...
    開(kāi)封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤早处,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后瘫析,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體砌梆,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年贬循,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咸包。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杖虾,死狀恐怖烂瘫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奇适,我是刑警寧澤坟比,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站嚷往,受9級(jí)特大地震影響葛账,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜皮仁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一籍琳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧魂贬,春花似錦巩割、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)愈犹。三九已至键科,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漩怎,已是汗流浹背勋颖。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勋锤,地道東北人饭玲。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像叁执,于是被迫代替她去往敵國(guó)和親茄厘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矮冬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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

  • 所謂“知識(shí)精煉”我的理解就是將一個(gè)訓(xùn)練好的復(fù)雜模型的“知識(shí)”遷移到一個(gè)結(jié)構(gòu)更為簡(jiǎn)單的網(wǎng)絡(luò)中,或者通過(guò)簡(jiǎn)單的網(wǎng)絡(luò)去學(xué)...
    信步閑庭v閱讀 2,023評(píng)論 0 2
  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    網(wǎng)事_79a3閱讀 11,722評(píng)論 2 19
  • 最近讀了朱光潛的《厚積落葉聽(tīng)雨聲》次哈。起初我是不知道他的胎署,作為現(xiàn)代美學(xué)的奠基人,我好像只聽(tīng)過(guò)他的名字窑滞。第一篇《談美》...
    初夏lea閱讀 2,045評(píng)論 2 7
  • 忘記在哪里聽(tīng)到過(guò)一句話“演講是思想的饋贈(zèng)”琼牧。主題很重要,但好的技巧去呈現(xiàn)主題哀卫,會(huì)讓更多的聽(tīng)眾受益巨坊。 其中書里提到5...
    向佳麗閱讀 169評(píng)論 0 0
  • ”你更喜歡弟弟么?” 哥哥問(wèn)此改。 ”你們兩個(gè)都愛(ài)”趾撵。 老二的到來(lái)把我原本...
    李昊同閱讀 211評(píng)論 0 0