一:剪枝定义
剪枝顾名思义,在冗杂的训练模型中加入一些策略,使得训练完后每层卷积网络能够获得一组权重参数,体现出主次之分。根据主次关系,删减一些没有太大作用的权重结构,达到降低一部分的准确率却提高了模型的时效性的作用。
二:实现方法
其实特征图中每一通道的权重值就是BN层中训练学习到的γ值,首先,我们先来谈一谈BN层的实现方式。
这里贴上图,具体的讲解请看本人另一篇BN的理解
学习到了feature map的channel weight后(即γ),就可以剪去其对应的网络结构,进行fine-tunning后再重新训练,进行迭代。附流程图:
最后附上论文作者的对比试验,可见模型进行完剪枝后,参数量大大减小,牺牲了一小部分微不足道的准确率,却换来了巨大的时效性收益。
至此我对模型剪枝的原理,进行了简单讲解,希望对大家有所帮助,有不懂的地方或者建议,欢迎大家在下方留言评论。
我是努力在CV泥潭中摸爬滚打的江南咸鱼,我们一起努力,不留遗憾!