導(dǎo)讀:知識蒸餾是一種模型壓縮常見方法,模型壓縮指的是在teacher-student框架中,將復(fù)雜、學(xué)習(xí)能力強的網(wǎng)絡(luò)學(xué)到的特征表示“知識”蒸餾出來,傳遞給參數(shù)量小、學(xué)習(xí)能力弱的網(wǎng)絡(luò)。本文對17、18年知識蒸餾的最新進展進行簡評,作者把內(nèi)容分成2到3部分,以下是第一部分。
蒸餾可以提供student在one-shot label上學(xué)不到的soft label信息,這些里面包含了類別間信息,以及student小網(wǎng)絡(luò)學(xué)不到而teacher網(wǎng)絡(luò)可以學(xué)到的特征表示‘知識’,所以一般可以提高student網(wǎng)絡(luò)的精度。
開山之作:Hinton發(fā)表在NIPS2014文章:[1503.02531] Distilling the Knowledge in a Neural Network(https://arxiv.org/abs/1503.02531)
一. Attention Transfer
Attention Transfer , 傳遞teacher網(wǎng)絡(luò)的attention信息給student網(wǎng)絡(luò)。首先,CNN的attention一般分為兩種,spatial-attention,channel-attention。本文利用的是spatial-attention.所謂spatial-attention即一種熱力圖,用來解碼出輸入圖像空間區(qū)域?qū)敵鲐暙I大小。文章提出了兩種可利用的spatial-attention,基于響應(yīng)圖的和基于梯度圖的。
Activation-based
基于響應(yīng)圖(特征圖),取出CNN某層輸出特征圖張量A,尺寸:(C, H, W).定義一個映射F:
將3D張量flat成2D.這個映射的形式有三種供選擇:
1. 特征圖張量各通道絕對值相加:
2. 特征圖張量各通道絕對值p次冪相加:
3. 取特征圖張量各通道絕對值p次冪最大值:
對以上這些映射對應(yīng)的特征圖統(tǒng)計量可視化,可以發(fā)現(xiàn),attention map不僅與輸入圖像中預(yù)測物體有l(wèi)ow-level上的關(guān)聯(lián),而且與預(yù)測準確度也有關(guān)系。不同映射可視化效果也有所差異。
attention transfer的目的是將teacher網(wǎng)絡(luò)某層的這種spatial attention map傳遞給student網(wǎng)絡(luò),讓student網(wǎng)絡(luò)相應(yīng)層的spatial attention map可以模仿teacher,從而達到知識蒸餾目的。teacher-student框架設(shè)計如下:
AT loss是teacher和student對應(yīng)的attention map取L2 LOSS.文章也指出,p次冪取2為佳,所得attention map也要先歸一化。總loss:
Gradient-based
求出loss對輸入x的梯度,如果輸入某像素出梯度很大,表明損失函數(shù)對該點敏感度高,Paying more attention。teacher-student loss 寫成;
反傳過程:
訓(xùn)練過程:先計算teacher,student梯度attention map和兩者MSE,以及student的前傳loss,然后再反向傳播。文章還提出了一種加強flip不變性的方法,即對一個輸入圖片,求出損失對其梯度的attention map之后(即flip圖片所得梯度attention map),優(yōu)化兩者MSE,減少損失:
二. FSP matrix
和之前知識蒸餾的文章不同之處在于之前文章往往是把teacher的某層的輸出作為student的mimic目標,這篇文章將teacger網(wǎng)絡(luò)層與層之間的關(guān)系作為student網(wǎng)絡(luò)mimic的目標。這篇文章介紹的這種知識蒸餾的方法類似風(fēng)格遷移的gram矩陣。
文章提出的描述層與層之間關(guān)系的方法FSP matrix,是某層特征圖與另外一層特征圖之間的偏心協(xié)方差矩陣(即沒有減去均值的協(xié)方差矩陣)。如F1層特征圖配置(H,W,M)M為通道數(shù)。F2層特征圖配置(H,W,N)。得到一個M * N的矩陣G。G(i,j)為F1第i通道與F2第j通道的elemet-wise乘積之和:
文章中FSP矩陣的損失函數(shù)是L2loss,把網(wǎng)絡(luò)層數(shù)分成n個block,每個block計算一個FSP,要求teacher與student的對應(yīng)FSP具有相同spatial size.teacher-student結(jié)構(gòu)如圖:
損失函數(shù)如下:
我的對文章的感想是,文章有意思的地方在于“授之以魚不如授之以漁”。韓國人寫的文章,多少有些東方師道哲學(xué)影響。
三. DarkRank: Accelerating Deep Metric Learning via Cross Sample Similarities
這篇文章提出了一種適合度量學(xué)習(xí)(如檢索,Re-id,人臉識別,圖像聚類)的知識蒸餾方法。所傳遞的知識就是度量學(xué)習(xí)所度量的樣本間相似度,用learn to rank來傳遞知識。所以先說一些Related works。
Learn To Rank
L2R,有監(jiān)督排序算法,廣泛應(yīng)用于文本信息檢索領(lǐng)域。給定一個query,學(xué)習(xí)一個模型對一組樣本根據(jù)相似度排序。常用的排序?qū)W習(xí)分為三種類型:PointWise,PairWise和ListWise。PointWise將L2R看作一種回歸問題,對每個樣本打分,優(yōu)化(如L2 loss)各樣本分數(shù)與query之間的相似度。PairWise將L2R轉(zhuǎn)化為二分類問題,針對一對樣本,如果這對樣本與query中排序一致則模型輸出1,否則輸出0。ListWise直接優(yōu)化整組樣本,可以看作對所有候選排序的分類。如 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2007-40.pdf
(PDF) Listwise approach to learning to rank - Theory and algorithm(https://www.researchgate.net/publication/221345286_Listwise_approach_to_learning_to_rank_-_Theory_and_algorithm)
本文就是基于listwise的方法。該方法根據(jù)candidates(排列候選項)與query之間相似度對每個candidate打分,并計算概率。
其中π為一組樣本索引的排序。xi為一個樣本。S(x) 是模型對樣本的打分。然后是熟悉的交叉熵:
也可以使用最大似然函數(shù)(MLE)
方法
以上是teacher-student框架。文章的實現(xiàn)teacher為Incepton-BN,student為NIN-BN。使用Imagenet的FC層之前的pretrain model,所得特征圖經(jīng)過GAP(全局平均池化),后接FC層,這里加入large margin softmax loss,之后L2歸一化,所得特征向量稱為嵌入特征,輸入到排序?qū)W習(xí)模塊,然后將teacher樣本間相似度知識傳遞給student。
以上過程:
Pretrain-->GAP-->FC-->Large Margin Softmax Loss-->L2-->Verification Loss & Triplet Loss-->Score-->Cross Sample Similarities Transfer
其中,large margin softmax loss為了是類間距離增大而類內(nèi)距離減小,度量學(xué)習(xí),使得度量空間更好。直接施加在FC層的特征輸出。所得特征向量經(jīng)過L2歸一化處理之后,加入verification loss & triplet loss,同樣是度量學(xué)習(xí)目的,獲得更好的嵌入特征,從而得到更好的cross sample similarities知識。
Score是一個歐式距離。取batch中一個樣本q作為query,其他樣本作為candidates,使用歐氏距離作為樣本相似度評分函數(shù)(文章實驗表明α=3,β=3效果最佳):
cross sample similarities transfer:文章在ListNet,ListMLE啟發(fā)下,提出soft/hard兩種傳遞損失函數(shù):
其中P()按照Learn to Rank中介紹的相關(guān)方法計算。這個soft transfer是一個KL散度。
hard transfer是MLE.對比兩種transfer發(fā)現(xiàn)soft是要考慮所有排序,而hard只需要考慮gt一種,計算效率高,效果也不差,所以使用hard transfer。當(dāng)然,最直接的cross sample similiritiestransfer方法是把score直接取L2 loss。后文也做了對照。
文章在Re-id上做了KD,direct similarities transfer,Hard/soft transfer的對比實驗。
對照發(fā)現(xiàn),僅僅用soft transfer cross sample similarities 知識效果并沒有超過KD(T=4),但是結(jié)合KD之后提高了精度,說明這種方法傳遞了KD不包含的知識--cross sample similarities,一種排序,并不包含每個特征量級的大小,而且不要求傳遞雙方特征維度一致。
-
模型
+關(guān)注
關(guān)注
1文章
3268瀏覽量
48929 -
梯度
+關(guān)注
關(guān)注
0文章
30瀏覽量
10332 -
cnn
+關(guān)注
關(guān)注
3文章
353瀏覽量
22254
原文標題:從Hinton開山之作開始,談知識蒸餾的最新進展
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論