一、剪枝
拆除网络当中某些参数的方法如下:
1.剪掉权重weight约等于0的weight,让两个神经元之间失去连接
2.查看某个神经元经过activation之后的输出是否接近于零,如果接近于零,则剪掉这个神经元
3.在修剪完整个网络之后,识别的准确度肯定会下降,我们这时保留之前训练好的权重,再利用训练集训练一次,更新当前神经网络的参数
4.技巧:不要在一次修建当中修建过多的参数,不然的话神经网络很难恢复到之前的准确度
二、知识蒸馏
知识蒸馏的核心就是用大的神经网络带着小的神经网络去训练。也就是我们预训练一个Teacher Net,这个模型是比较符合我们预期的。再将神经网络修剪之后得到一个Student Net,或者自定义一个Student Net,用Teacher Net带着Student Net去训练。也就是我们给Student Net和Teacher Net同样的输入,而loss则是衡量Teacher Net和student Net之间的不同。