Centripetal SGD for Pruning Very Deep Convolutional Networks with Complicated Structure
- 核心思想是用C-SGD,将多个filter在parameter space中collapse成一个点,并且在训练完后之后删除掉一样的
- 理论上没有精度损失
- Merge Multiple Filters
- 作者认为由于NN本质上是在做Linear变换,所以去掉完全一样的Fliter不会带来精度损失
- 切入点是Channel Prunning或者说是Filter Prunning
- 这种方法可以适用于各种网络结构
- 不会引入额外的网络结构
- 与其他模型压缩方法正交
## Related Work
- Filter Prunning
- 直接把filter按照重要性排序,去除末尾,再Reconstruct网络
- 对当前一些有特殊结构的网络比如Dense不是很友好,需要带有Constraint的压缩方法
- 为了能够更好的recover网络,预先将一部分内容置0
- Group Lasso Regularization
- 可以更好的恢复出NN * How 2 Measure Filter IMportance? * Accuracy Reduction * Channel Contribution Variance * Taylor-Expansion criterion * magnitude (好暴力)
- 直接把filter按照重要性排序,去除末尾,再Reconstruct网络
- Connection Prunning
- 只能让网络变得更稀疏,但是需要特殊的硬件设计才能让加速加速起来
- 一般来说都是layer-by-Layer或者是filter-by-filter的
- 都需要几个stage的Finetune