G.Hinton Dark Knowledge

Model Compression

Caruana06的文章,提出了一種壓縮compressing大規模複雜網絡的方法,對模型進行壓縮與加速,同時不會明顯損失精度。作者首先提到了ensemble model的方法,即利用多個模型預測輸出的加權平均或投票的方法來代替單個模型的輸出結果。傳統方法中,這樣的算法思路很常見,例如,特徵袋,隨機森林,boosting算法等。但是對於神經網絡模型來說,大量模型的聚合需要消耗大量的存儲空間和計算能耗。Caruana提出一種將大模型學習到的函數壓縮進更小更快的模型,而獲得可以匹敵大模型結果的方法。提出了MUNGE的數據增強辦法,並與RANDOM和NBT算法比較。

Distilling the Knowledge in a Neural Network

Distillation:作者說利用該方法去遷移知識,從而通過訓練好的大模型得到更加適合測試的小模型,作者自己也說其實這個思路早在06年就有人提出來了,就是上面提到的那位。
有個細節,Hinton說利用原始訓練數據訓練small model效果最好,尤其是在目標函數里加入cumbersome的soft targets輸出匹配度。
反向傳播時,目標函數更新的方法就是加入這樣一項:計算small與cumbersome兩個模型的交叉熵(cross-entropy)。
dark knowledge主要利用在兩個方面
一, hard target –就是label信息
a) N維的softmax輸出是除了一個1其他全是0的N維向量
二, soft target –是由已經訓練好的model的出來的對Unlabeled數據各個類別的probability信息。

一.模型壓縮
這個思想,早在2006 caruana提出過嗎,見前文。在很多競賽時,會利用不同的網絡架構,不同的初始化或者不同的訓練數據等,來學習到很多網絡模型,然後combine 多個model來提高performance。 如何訓練一個模型,達到這個combine model的效果呢? 這裏提到的模型壓縮是指:原來包括在參加一些競賽時,用到的模型都是通過訓練大量不同的模型,得到每個模型的輸出,然後combine他們,這樣取得的效果較好(ensemble方法),但是這樣訓練大量網絡包含大量的參數。因此Hinton說,當訓練得到這麼一個ensemble網絡之後,假設該網絡性能已經足夠好了,
Transfer learning,作者舉了遷移學習MNIST的例子,
二.專家網絡的學習
類似於一種subcategory的思想,用k-means把容易混淆的一些類聚合在一起,然後針對某些易混淆的類別,進行專家網絡的學習。當然要解決的問題便是overfitting策略,參考6.1
Hinton說,soft Targets(ST)是一種正則器。他說之所以用ST是因爲ST比hardtarget包含更多的信息。利用HT很容易過擬合。
無論是模型壓縮,還是在專家網絡學習,都提到了基於soft target和hard target兩種目標函數。
其中在soft target時,用到了raise the temperature策略,來提高soft target對應的cross entropy。在進行模型壓縮的時候,我們利用hard target 和soft target的loss function sum,來訓練單一模型,努力達到很多模型combine的結果。在進行專家網路訓練的時候,利用hard target loss來優化易混淆的某一子類,用soft target loss來優化其他所有類。

作者在MNIST上實驗驗證的結果是,採用784 -> 800 -> 800 -> 10的small網絡,得到的誤差是146個錯誤,784 -> 1200 -> 1200 -> 10,cumbersome模型的錯誤是67個,明顯性能提升了。接下來採用作者提到的遷移學習方法,使用soft targets,784 -> 800 -> 800 -> 10網絡的性能提升到74個錯誤。作者總結,對於這個small的net幾乎包含了cumbersome model的所有知識。
作者在該試驗中,總計:soft targets可以將原來大規模模型的知識遷移給distilled model。

qi=exp(zi/T)Σjexp(zj/T)

這裏溫度T是distilled model的關鍵,temperature一般指溫度,設爲1。知識是如何從大模型遷移到small model上來的呢?
也就是distillation的過程是什麼樣子的呢?
對於訓練得到的cumbersome模型,利用其訓練數據集,訓練distilled model時,目標函數使用大模型function的soft target distribution交叉熵和correct label交叉熵,訓練過程的T採用訓練cumbersome一致。Hinton認爲,最好的訓練目標函數就是這樣,並且第一個目標函數的權重要大一些。

L=αL(soft)+(1α)L(hard)

其實,這種ensemble的思想就和Dropout類似,也是一種模型平均的方法。利用大量模型的輸出,單個模型產生過擬合,陷入局部極小的劣勢。但是爲了使模型之間的相關性儘量高,數據也要處理,符合類似的分佈。Dropout採用概率代替多個模型的方法,實際上就是用一組參數進行共享。
測試的時候該如何做,選取一小部分,或者全部模型,計算他們分佈的幾何均值。

發佈了34 篇原創文章 · 獲贊 31 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章