Learning both Weights and Connections for Efficient Neural Networks
主要思想
- 训练网络来得知哪些网络连接important和unimportant。
设定一个临界值(shreshold),权重w小于临界值的连接 不重要 - 剪切掉不重要的连接
- 再训练剪切后得到的网络,调整剪切剩下的参数。
- 反复进行2,3 得到一个参数最少的神经网络。
注意点
- 正则化
使用L1范式和L2范式对参数W进行约束。
在剪切后,retrain前的效果L1范式比L2范式的效果。
但在retrain后,L2范式的效果比L1范式要好 - dropout比率的调整
deopout :在训练过程中,按照一定概率将连接的权重置为0,但是下一次训练的时候还是一直存在,文中的pruning(剪切),会使得连接不在存在。
随着剪切的进行,需要按照文中给的公式,进行dropout的比率进行调整。 - Local Pruning and Parameter Co-adaptation
在retrain时直接训练上一次pruning后保留下来的参数,而不是重新初始化参数。这样有两个好处:
- 计算量小
- 避免了梯度消失的问题
- 反复迭代进行pruning和retrain。
- 去掉输入或输出为0的神经元(neurous)
实验
- 选择临界值(shreshold):