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计算的权值门限值。

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