网络中包含BN层时,可以用BN的参数来指导剪枝
Network Slimming (NS)(2017)直接使用BN中的缩放参数γ来控制输出通道,在训练之后,对具有接近于零的γ的相应通道进行修剪
Gated Batch Normalization (GBN)(2019)也是用γ,不过提出tick tock剪枝流程,tick阶段用很少的数据训练网络,在一个epoch中只允许更新最终线性层,同时通过全局卷积核排名的一阶泰勒展开计算通道重要性,tock阶段利用稀疏性约束对稀疏网络进行微调
Polarization Regularization (PR) 极化正则化(2020)在L1正则项上增加了一个惩罚项,将不重要的神经元的γ推向0,重要的则增大
Rethinking Smaller-Norm-Less-Informative (RSNLI) (2018)怀疑较小的范数不一定信息量就小
Operation-aware Soft Channel Pruning (SCP)(2020)同时考虑了BN和relu层,该方法在NS的基础上同时考虑了偏置β,那些非常负的β和较大的γ通道认为时不重要的,因为这些通道在relu只会会变为0,该方法使用β和γ参数化的高斯分布cumulative distribution function (CDF)作为指示函数,来优化β和γ,
EagleEye(2020)提出了一个三阶段方法。1,通过简单的随机采样生成修剪策略(即逐层修剪比率)。2,根据修剪策略和滤波器的“L1-范数”生成子网络。3,使用基于自适应BN的候选评估模块来评估子网络的性能。文章认为,过时的BN统计数据对子网络评估不公平,每个候选者的BN统计信息都应该在训练数据集的一小部分上重新计算。在用自适应BN统计评估子网络之后,选择性能最好的子网络作为最终修剪模型。
除了使用网络BN层的参数,还可以引入一些额外的可学习的参数决定剪枝结果
Sparse Structure Selection (SSS) (2017)试图迫使神经元,残差快之类的结构输出为0,在每个结构之后引入比例因子θ,当θ低于阈值时,相应的结构被移除。
Generative Adversarial Learning (GAL)(2019)采用GAN实现无标签学习,在generator中的每个结构之后引入缩放因子形成soft mask,
Discrete Model Compression (DMC) (2020)在特征图之后引入一个二进制门,以反映修建后通道对损失函数的影响
与 PR极化正则化类似的(GDP-Guo)(2021)对引入的二进制门进行极化
Convolutional Re-parameterization and GradientResetting卷积重参数化和梯度重置 (ResRep)(2021)将CNN重参数化为两个部分,一个为记忆部分,保持学习性能,第二个为遗忘部分,在BN层之后插入1*1卷积或者compactors,训练更新梯度时仅作用于compactors,即只允许compactors遗忘,而其他卷积层保持不变(记忆)
Scientific Control Pruning (SCOP) (2020)认为卷积核的重要性会受到输入数据的干扰,于是引入两个和为1的比例因子θ和θ~分别控制真实和knockoff 特征,若θ不能超过θ~则认为真实特征与真实feature没有关系,卷积核重要性由I = θ − ̃θ定义,越小越不重要
Budget-Aware Regularization (BAR)(2019)同样是引入可学习的参数θ,设计性的损失函数由先验损失组成,能根据budget同时进行训练和剪枝,使用知识蒸馏提高准确性
在滤波器上进行正则化
Structured Sparsity Learning (SSL)(2016)使用Group Lasso修剪通道,由于移除L层会导致移除L+1层的输入通道,因此添加了两个单独的正则化项用于按通道修剪和按滤波器修剪
Out-In-Channel Criterion Regularization (OICSR) (2019)使用Group Lasso联合正则化滤波器,若第i层的输出通道和第i+1层的输入通道相互依赖,则相应的filter应该一起正则化
Only Train Once (OTO) (2021)认为即使所有filter权重为0,激活值仍然是非零的,因为还有卷积的偏置,BN的方差和平均值,所以该方法不止对滤波器分组,而是将导致非零激活的参数分组在一起,引入混合L1-L2范数来进行稀疏
Growing Regularization (GREG)(2022)采用L1范数但不会立即删除filter,采用L2惩罚项将其逐渐归零,权重差异会随着正则化参数的增加而增加,权重会自然分离,