"Towards Optimal Structured CNN Pruning via Generative Adversarial Learning" 这篇文章提出了非常新颖的结构剪枝策略:基于生成对抗的思路,将剪枝网络设置为生成器(Generator),其输出特征作为Fake,并设置Soft Mask门控一些异质结构的输出(如通道、分支、网络层或模块等);将预训练模型设置为Baseline,Baseline的输出特征作为Real;再引入判别器(Discriminator)与正则化约束,一方面对齐生成器与Baseline的输出,另一方面驱使生成器中的Soft Mask稀疏化(mask value介于0到1之间),最终达到低精度损失的结构剪枝的目的。基于GAL(Generative Adversarial Learning)的剪枝策略总体如下图所示:
基于GAL的剪枝策略能够克服现有结构剪枝技术的不足,不足之处具体表现在:1)相对耗时的多阶段优化,迭代执行剪枝与fine-tuning;2)通常采用hard pruning mask,不够松弛、较难优化学习;3)训练或正则化过程依赖于样本