1. 程式人生 > >Training Shallow and Thin Networks for Acceleration via KD with Conditional Adversarial Networks

Training Shallow and Thin Networks for Acceleration via KD with Conditional Adversarial Networks

這是2017年的一篇文章。在本文之前的監督學習的方法一般是通過最小化確定的損失函式來擬合學生和老師,本文通過cGANs來學習適合的loss,更好的進行知識的遷移。其訓練過程如下:

Discriminator的更新過程如下:

但Discriminator只使用學生和老師的標籤作為loss函式的輸入會讓訓練不穩定且緩慢,為了解決這個問題,作者將Teacher和Student的輸出的概率分佈的vector同時作為loss函式的輸入,需要注意這裡用的是未加負號的Binary Cross-entropy,所以訓練中對(5)式是最大化:

學生網路更新如下:

(7)式中的等式中的負號是為了保留類級知識。

實驗結果:

可以看到本文的方法錯誤率少於KD,且壓縮了七倍的記憶體,五倍的執行速度,且預測分佈和教師很像。

缺點:精度損失有點大,只使用的教師和學生的輸出結果來進行擬合。改進方式可以從讓教師網路的某些層加入到對學生網路的監督中來。