Knowledge Distillation via Instance Relationship Graph
Authors: Yufan Liu, Jiajiong Cao, Bing Li, Chunfeng Yuan, Weiming Hua, Yangxi Lic and Yunqiang Duan
Motivation
這篇文章是基于傳統(tǒng)KD的改進(jìn)版,類似于同樣發(fā)表在CVPR2019的 Relational Knowledge Distillation丙猬。主要想解決的問(wèn)題是Knowledge Distillation(KD)中knowledge如何定義的問(wèn)題涨颜,傳統(tǒng)的做法僅僅使用logits作為知識(shí),將學(xué)生和老師的對(duì)于單個(gè)sample的logits進(jìn)行逼近(比如阿里AAAI2019的Rocket Launching)茧球。但是知識(shí)不應(yīng)該只局限于約束單個(gè)sample的相似性庭瑰,而應(yīng)該是考慮多個(gè)sample協(xié)同的相似性。因此本文提出了要約束學(xué)生和老師的Instance Relationship Graph(IRG)抢埋,如下圖所示弹灭。本文的圖畫得是真的高級(jí)!
Method
本文主要定義了兩種新的知識(shí)揪垄,一種是IRG穷吮,一種是IRG transformation(IRGt)。
IRG
直觀的說(shuō)饥努,IRG就是將一個(gè)batch內(nèi)的sample兩兩連接捡鱼,建成,節(jié)點(diǎn)是sample的特征酷愧,邊是兩個(gè)sample特征的相似性(距離)堰汉。這樣看公式就比較清楚:
這樣做的好處在于:傳統(tǒng)的知識(shí)只是針對(duì)單個(gè)sample翘鸭,現(xiàn)在變成針對(duì)一個(gè)batch滴铅。因此作者在后面也提到batch size是一個(gè)很重要的參數(shù),因?yàn)楹饬苛酥R(shí)的粒度就乓。
IRGt
IRGt代表的是更進(jìn)一步的知識(shí)汉匙,即知識(shí)的變化∩希可以想象噩翠,信息流(一個(gè)向量)在同一個(gè)網(wǎng)絡(luò)不同兩層之間的流動(dòng)也可以代表這個(gè)網(wǎng)絡(luò)的學(xué)習(xí)情況。因此邦投,作者進(jìn)一步定義了IRG在層之間的變化:
用一句話總結(jié)IRG和IRGt就是:IRG把sample建成了圖,是同一層里的知識(shí)豁鲤;IRGt則衡量了IRG的層間變化吆视。
LOSS
OK,定義好了知識(shí)狞洋,再定義兩個(gè)網(wǎng)絡(luò)之間知識(shí)的相似性度量就可以做KD了。
IRG Loss
IRGt Loss
全部loss加起來(lái)
最后就是把上面提到的loss全加起來(lái)届巩,叫做Multi Type Knowledge:
:用ground truth作為監(jiān)督訓(xùn)練的Loss
:學(xué)生的最后一層的logits向老師的最后一層logits學(xué)習(xí)
:學(xué)生和老師的IRG的鄰接矩陣逼近
:學(xué)生和老師的單sample的特征變化(不是特征)逼近
Experiment
實(shí)驗(yàn)就不詳細(xì)搬運(yùn)了硅瞧,感興趣的同學(xué)可以看看文章。
其中比較有意思的一點(diǎn)是MTK Loss的公式里面的值設(shè)為0.05比較好恕汇,說(shuō)明這個(gè)IRG作為輔助作用比較好好腕唧。