十歲的小男孩
本文為終端移植的一個小章節。
目錄
概念
論文
概念
教師--學生網絡的方法,屬於遷移學習的一種。遷移學習也就是將一個模型的性能遷移到另一個模型上,而對於教師--學生網絡,教師網絡往往是一個更加復雜的網絡,具有非常好的性能和泛化能力,可以用這個網絡來作為一個soft target來指導另外一個更加簡單的學生網絡來學習,使得更加簡單、參數運算量更少的學生模型也能夠具有和教師網絡相近的性能,也算是一種模型壓縮的方式。
論文
A: Distilling the Knowledge in a Neural Network
較大、較復雜的網絡雖然通常具有很好的性能,但是也存在很多的冗余信息,因此運算量以及資源的消耗都非常多。而所謂的Distilling就是將復雜網絡中的有用信息提取出來遷移到一個更小的網絡上,這樣學習來的小網絡可以具備和大的復雜網絡想接近的性能效果,並且也大大的節省了計算資源。這個復雜的網絡可以看成一個教師,而小的網絡則可以看成是一個學生。
這個復雜的網絡是提前訓練好具有很好性能的網絡,學生網絡的訓練含有兩個目標:一個是hard target,即原始的目標函數,為小模型的類別概率輸出與label真值的交叉熵;另一個為soft target,為小模型的類別概率輸出與大模型的類別概率輸出的交叉熵,在soft target中,概率輸出的公式調整如下,這樣當T值很大時,可以產生一個類別概率分布較緩和的輸出:
作者認為,由於soft target具有更高的熵,它能比hard target提供更加多的信息,因此可以使用較少的數據以及較大的學習率。將hard和soft的target通過加權平均來作為學生網絡的目標函數,soft target所占的權重更大一些。 作者同時還指出,T值取一個中間值時,效果更好,而soft target所分配的權重應該為T^2,hard target的權重為1。 這樣訓練得到的小模型也就具有與復雜模型近似的性能效果,但是復雜度和計算量卻要小很多。
對於distilling而言,復雜模型的作用事實上是為了提高label包含的信息量。通過這種方法,可以把模型壓縮到一個非常小的規模。模型壓縮對模型的准確率沒有造成太大影響,而且還可以應付部分信息缺失的情況。
B: Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer
作者借鑒Distilling的思想,使用復雜網絡中能夠提供視覺相關位置信息的Attention map來監督小網絡的學習,並且結合了低、中、高三個層次的特征,示意圖如下:
教師網絡從三個層次的Attention Transfer對學生網絡進行監督。其中三個層次對應了ResNet中三組Residual Block的輸出。在其他網絡中可以借鑒。 這三個層次的Attention Transfer基於Activation,Activation Attention為feature map在各個通道上的值求和,基於Activation的Attention Transfer的損失函數如下:
其中Qs和Qt分別是學生網絡和教師網絡在不同層次的Activation向量,作者提出在這里在這里對Q進行標准化對於學生網絡的訓練非常重要。
除了基於Activation的Attention Transfer,作者還提出了一種Gradient Attention,它的損失函數如下:
但是就需要兩次反向傳播的過程,實現起來較困難並且效果提升不明顯。 基於Activation的Attention Transfer效果較好,而且可以和Hinton的Distilling結合。
總結
教師學生網絡的方法,利用一個性能較好的教師網絡,在神經元的級別上,來監督學生網絡的訓練,相當於提高了模型參數的利用率。其實可以這么來理解,我們一般訓練一個神經網絡就像是要爬一座山,你的target就是山頂的終點線,給了你一個目標,但是需要你自己去摸索如何找到通往終點的路,你就需要不斷學習不斷嘗試,假如你的體力有效,可能就難以達到目標;但是如果這個時候有一個經驗豐富的老司機,他以及達到過終點,那么他就可以為你指明一條上山的路,或者在路上給你立很多路標,你就只要沿着路標上山就好了,這樣你也能夠很容易的到達山頂,這就是教師--學生網絡的意義。
知識應該是開源的,歡迎斧正。929994365@qq.com