最近在学习模型剪枝的方法,尝试了TF官方的模型剪枝工具tfmot,这里对目前学习到的模型剪枝做简单总结。学习过程中参考了Sayak Paul的一篇文章Scooping into Model Pruning in Deep Learning
1 概念
剪枝是将神经网络中的不重要参数置为0
2 引入
考虑函数 f(x) = x + 5x2,系数分别为1和5。下图可以看到,当第一个参数发生变化时,函数的输出不会发生太大变化。故舍弃这些系数并不会真正改变函数的行为。
同理可以应用到神经网络,在梯度下降的优化过程中,并不是所有的权重都使用相同的梯度幅度进行更新,某些权重比其他权重的梯度幅度更大,优化器认为这些权重很重要,可以最大程度地减少训练。