剪枝系列5:CLIP-Q

CLIP-Q: Deep Network Compression Learning by In-Parallel Pruning-Quantization把剪枝和量化一起做的一个方法。以往的做法,剪枝和量化一般都是分开做的,这样很难达到联合最优化。论文代码是用caffe实现的。

论文方法

方法比较简单,直接放截图了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要注意的是,在训练阶段,量化后的参数和原始参数都需要用到。原始参数用在反向传播更新参数的时候,而前向传播用的是量化后的参数。训练结束后,只有量化后的参数需要被保留。保存的方法是standard sparse encoding scheme——使用index differences来对稀疏矩阵编码。没有被剪枝的参数还需要保存量化比特数。

参数估计

本方法需要确定的参数是 θ i = ( p i , b i ) \theta_i=(p_i,b_i) θi=(pi,bi),即剪枝率和量化比特数。使用贝叶斯优化来估计参数。目标函数是:
m i n θ ϵ ( θ ) − λ ⋅ c i ( θ ) min_\theta \quad\epsilon(\theta)-\lambda \cdot c_i(\theta) minθϵ(θ)λci(θ)
其中, ϵ ( θ ) \epsilon(\theta) ϵ(θ)是结果的top-1 error. c i ( θ ) = m i − s i ( θ ) ∑ i m i c_i(\theta)=\frac{m_i-s_i(\theta)}{\sum_i m_i} ci(θ)=imimisi(θ) m i m_i mi是第 i i i层原来的总存储比特数, s i s_i si是剪枝+量化后第 i i i层需要的总比特数。

实验

对AlexNet on ImageNet从243.9MB压缩到4.8MB,大概51倍压缩,没有精度损失
对GoogLeNet on ImageNet从28.0MB压缩到2.8MB,大概10倍压缩,没有精度损失
对ResNet on ImageNet从102.5M压缩到6.7MB,大概6.7倍压缩,没有精度损失
和其他压缩算法对比
在这里插入图片描述

总结

以前韩松的方法也包含了剪枝和量化,但是是分开做的。这篇把剪枝和量化一起做应该说效果还是很不得错的,也用到了贝叶斯优化的方法。
但是局限性也很明显,就是是属于不规则剪枝,在工程上还需要很高的软件支持才能很好地加速。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值