模型剪枝

基本原理

对以训练好的模型进行裁剪的方法,是目前模型压缩中使用最多的方法,通常是寻找一种有效的评判手段,来判断参数的重要性,将不重要的connection或者filter进行裁剪来减少模型的冗余

如何找到一个有效的对参数重要性的评价手段,在这个方法中就尤为重要


样例

yolov3
稀疏训练->剪枝->fine tune训练 必要的话,可以对这三个环节进行多次迭代

- 稀疏训练
    深度神经网络的稠密连接引入稀疏性 对需要剪枝的层对应的bn gamma系数进行大幅压缩
- 剪枝
    对不重要的通道或者层进行剪枝
-fine turn
    对模型进行微调恢复精度 保持权重文件中参数的平衡

详细解释

1. 对每个conv channel通道做scale

2. 然后对scale factor做lasso回归(L1 Regularization)
	看看最终哪些channel的scale facctor很小,接近于0,如果某些channel的scale factor很小,那说明它们对模型output没啥贡献,可以考虑把它们从网络模型去除掉
注意,是把网络模型中整条通道上参数(从输入到输出)都去除掉。

3. 一些不必要的卷积核及其参数删除掉
	删除的原则就是设置一阈值,当小于某一个阈值的时候踢出该卷积核和对应的参数
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值