剪枝算法汇总

相关文档

  1. 剪枝方法汇总
  2. 训练剪枝模型方法
  3. 评估剪枝效果
  4. 剪枝的相关知识  代写

1 前言

剪枝目的,就是剪掉w和b种的不重要的部分,留下重要的。

压缩剪枝流程:一般流程为,训练好的模型--剪枝--retrain--剪枝。

剪枝分类,有slimming和pruning之分。怎么分呢?我就不说了。我也没弄懂。就像蠕变时效又叫做蠕变成型一样。

  1. 剪枝分为静态的和动态的。他们的区别是是否边训练边剪枝。
  2. 粗晶粒剪枝和细晶粒剪枝,这里说下,细晶粒剪枝效果更好,不过需要自己写框架。比如据我所知,tf和kera直接调用是不行的。

剪枝的关键在于如何去设置阈值,来剪掉不重要的。如何设置阈值呢?或者说用什么方法去滤掉不重要的值呢?

下面讲讲方法,

2 方法

01 简单粗暴的剪枝

直接剪枝,去掉w和b中百分之多少的值。

我查论文发现几种方法:

  • 只保留正值部分
  • 保留正值和负值中的百分之多少
  • 保留正值中的百分之多少
  • 去掉极大极小值

这种算法很粗暴,那么哪种方法?我的经验是根据激活函数,比如激活函数用relu,人家的目的就是保留正数部分,所以应该考虑是否滤掉非正数。如果用的prelu,那就要看率怎么保留正数与非正数。

02 数学方法--熵

根据概率熵来确定,就是统计某些值,把这个求出来的值作为标准/阈值

猜你喜欢

转载自blog.csdn.net/weixin_39875161/article/details/107916962