蒸餾法第二節——蒸餾法&分類任務

【1】A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta,and Y. Bengio. Fitnets: Hints for thin deep nets. arXiv preprint arXiv:1412.6550, 2014 ——分類任務

創新點:不僅僅考慮了教師模型的輸出層,還同時考慮神經網絡的中間隱層,並且在中間層中加入了一個迴歸層用來匹配教師網絡和學生網絡的輸出維度不一致的情形——>只用到了若干個隱層的結果

第一步預訓練:取學生網絡從開始到中間的若干層權重去擬合教師網絡若干層。

具體流程如上圖,公式如下。fitnet是一個學生網絡,希望的是輸入x過教師網絡的權重Whint和輸入過fitnet網絡隨機初始化權重Wguided之後再過Wr的誤差最小化。通過該操作學習到了教師網絡的中間層。紅色框去學習綠色框中參數。

第二步:在上面公式訓練的基礎上,訓練整個fitnet網絡的參數來最小化下面的目標函數,灰色框去學習灰色框。

 

【2】J. Yim, D. Joo, J. Bae, and J. Kim. A gift from knowledge distillation: Fast optimization, network minimization and transfer learning. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), volume 2, 2017. ——分類任務

創新點:考慮神經網絡的多個隱層

step1:對教師網絡使用數據進行訓練。該數據可以和未來學生網絡學習的數據相同或者不同。

第一步最小化學生網絡和教師網,通過最小化FSP矩陣構造的損失函數。

第二步該學生網絡使用正常有標籤的損失函數進行繼續訓練。

網絡整體架構如下所示:

第一步預訓練:

學習學生網絡和教師網絡的FSP矩陣權重,下圖中兩個F分別表示網絡中選擇的兩層Feature Map

網絡的FSP損失構造如下:其中兩個G分別爲教師和學生網絡,通過優化下面的目標函數得到網絡更新的權重w

第二步:使用第一步得到的權重作爲預訓練模型權重,在原始的任務目標上繼續微調訓練。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章