结构化剪枝

分类: 剪枝与稀疏化

结构化剪枝

定义

将神经网络中整个结构单元(卷积核、通道、层、注意力头)移除,得到形状规则的稀疏子网络,可直接在标准硬件上加速推理(无需稀疏张量库)。

数学形式

minSunitsL(fS;D)s.t.Sk\min_{S \subseteq \text{units}} \mathcal{L}(f_S; \mathcal{D}) \quad \text{s.t.} \quad |S| \leq k

其中 SS 是保留单元集合,kk 是剪枝后目标结构大小。实际常转化为带重要性分数 IiI_i 的 top-kk 保留:

S=argmaxS=kiSIiS^* = \underset{|S|=k}{\arg\max} \sum_{i \in S} I_i

核心要点

粒度:filter/channel pruning(最常用)、layer pruning、attention head pruning、block pruning

重要性评估:权重幅值(L1/L2 norm)、梯度 × 权重(Taylor expansion)、激活统计量

与非结构化剪枝的区别:非结构化剪枝逐权重置零,理论压缩率高但稀疏矩阵加速困难;结构化剪枝牺牲精度换实际推理加速

后训练恢复:剪枝后通常需要 fine-tuning(少 epoch)或知识蒸馏来恢复精度损失

代表工作

AMP: 自动化通道剪枝策略

DDP: 结构化稀疏 + 动态剪枝

Fast-FoundationStereo: 对迭代细化模块做结构化剪枝,消除通道冗余,结合 KD + NAS 实现实时部署

HiAP: 多粒度 Gumbel-Sigmoid 门控,macro(头+FFN块)+ micro(维度+神经元)统一端到端自动剪枝 ViT

相关概念

Taylor pruning

知识蒸馏

6-NAS与自动化设计