DNN Sparse

思想的由來:觀察的重要性在此體現的玲離盡致。微軟那一撥人觀察發現DNN模型參數權值很大比例(近70%)小於0.1。有了這個觀察結果,他們就開始思考着把這些過小的權值直接置零會如何,如果性能沒有太大損失,那就太好了。實驗一跑,果不其然。

Sparseness DNN: 大部分參數權值爲0的DNN模型;Sparseness DNN優化目標有兩個,目標一,最小化交叉熵,目標二,最小化非零參數個數;可以將多目標問題轉換爲帶約束條件的凸優化問題,約束條件就是非零參數個數小於預先設置的閾值。

模型訓練

step1. 正常的CE準則訓練(該步之後,權值趨於穩定,簡單來說就是幅值大的依然大,幅值小的依舊小)

step2. 基於step1獲得的最終模型,設置每層的置零率,如60%,即60%的參數置零;確定每層的置零率後,統計每層的權值門限值,權值在門限值以下置零

step3. 繼續進行CE準則訓練,並且保持step2制定的sparseness pattern;如何保持?方法一,直接掩蔽爲零的權值,即不更新;方法二,將權值在(0,min{θ/2,0.02}) 範圍的置0,其中θ 爲step2計算的權值門限值。

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