近日,腾讯优图实验室在模型压缩任务中获得创新性突破,提出的基于滤波器骨架的逐条剪枝算法(Stripe-Wise Pruning,SWP),刷新了滤波器剪枝的SOTA效果。相关论文(Pruning Filter in Filter)已被机器学习领域的国际顶级会议Conference on Neural Information Processing Systems(NeurIPS 2020)收录。
图1 Stripe-Wise Pruning与几种主流Pruning方式的区别
神经网络的具有结构和参数这两个属性,这两个属性都具有重要意义。本文指出神经网络的滤波器除了通常使用的参数属性以外,还有一种形状属性。形状属性之前一直隐含在参数中,通过训练每个滤波器的参数使其获得不同的形状。滤波器的形状属性具有重要的意义。具有合适形状的滤波器,即使参数是随机的,也能具有较好的性能。
因此本文通过一种名为滤波器骨架(Filter Skeleton,FS)的模块来显性地学习滤波器的形状(如图中①)。当训练结束,我们可以将FS乘回参数上,因此不会引入额外的参数(如图中②)。
图2 PFF方法流程示意图
对于不在骨架上的参数,使用逐条裁剪的方法将其整条(stripe,1*1滤波器)裁剪掉。
具体的,首先通过卷积计算顺序的变换,可以将滤波器从Filter wise等价变换为stripe wise(如图中③)。接下来就可以使用正常的滤波器剪枝方法对其进行裁剪(如图中④)。
该方法的创新点包括:
(1) 提出滤波器除了参数属性外,还存在形状属性,并且形状属性具有重要意义。
(2) 提出滤波器骨架的模块来学习滤波器的形状,并可以指导模型剪枝。
(3) 通过变换普通卷积为Stripe-Wise Convolution,结构化的实现逐条剪枝后的模型。
逐条剪枝算法在CIFAR10和ImageNet数据集上达到了SOTA效果。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )