背景:模型压缩包括:模型量化、模型剪枝、权值共享等压缩技术,知识蒸馏等配合模型压缩使用的恢复压缩后小模型精度的常用算法
模型简直-细粒度划分: 根据修剪的最小单位区分方法
- 非结构性剪枝:权重剪枝、向量剪枝、kernel剪枝,这些剪枝算法可以造成模型结构的不规则化,所以这些方法需要特殊的硬件设计来支持稀疏操作,但是这些模型剪枝较为精细,所以剪枝后精度较高。
- 结构性剪枝:卷积核剪枝、通道剪枝和层级剪枝,只需改变网络中卷积核和特征通道的数目,所得到的模型就可以运行,无需特殊的算法设计
非结构性剪枝
- 权值剪枝:把权重矩阵中的单个权重值设置为0。
- 神经元剪枝:把权重矩阵中某个神经元节点去掉,则和神经元相连接的突触也要全部去除。相当于同时去除权重矩阵中的某一行和列。
结构化剪枝
- filter-wise:filter-wise剪枝是对完整的卷积核(kxkxc)进行剪枝;
- channel-wise:channel-wise是对所有卷积核中相同layer进行剪枝。
- shape-wise:shape-wise的剪枝颗粒度相对而言则更小一些。剪枝对象是所有卷积核中相同位置的部分权重的剪枝。
- stripe-wise pruning (SWP):针对每个卷积核的depth维度整体剪枝。但是不同卷积核剪枝的位置和数量不相同。