【AutoML】如何使用强化学习进行模型剪枝?

大家好,欢迎来到专栏《AutoML》,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在模型剪枝中的应用。

作者&编辑 | 言有三

我们往期的文章中介绍了各种各样的模型压缩技巧,那么是否也可以使用AutoML技术来用于模型压缩,比如剪枝呢。

1 AMC

AutoML for Model Compression(AMC)是一个利用强化学习自动搜索并提高模型剪枝算法质量的框架,其完整的流程如下:

640?wx_fmt=png

在一般的剪枝算法中,我们通常遵循一些基本策略:比如在提取低级特征的参数较少的第一层中剪掉更少的参数,对冗余性更高的FC层剪掉更多的参数。然而,由于深度神经网络中的层不是孤立的,这些基于规则的剪枝策略并不是最优的,也不能从一个模型迁移到另一个模型。

AMC方法便是在该背景下,利用强化学习自动搜索并提高模型压缩的质量,该框架是每一层进行独立压缩,前一层压缩完之后再往后层进行传播,t层接受该层的输入特征s_t,输出稀疏比率a_t,按照a_t对该层进行压缩后,智能体移动到下一层L_t+1,使用验证集精度作为评估,伪代码如下:

640?wx_fmt=png

作者们对两类场景进行了实验,第一类是受延迟影响较大的应用如移动APP,使用的是资源受限的压缩,这样就可以在满足低FLOP和延迟,小模型的情况下实现最好的准确率;这一类场景作者通过限制搜索空间来实现,在搜索空间中,动作空间(剪枝率)受到限制,使得被智能体压缩的模型总是低于资源预算。

另一类是追求精度的应用如Google Photos,就需要在保证准确率的情况下压缩得到更小的模型。对于这一类场景,作者定义了一个奖励,它是准确率和硬件资源的函数。基于这个奖励函数,智能体在不损害模型准确率的前提下探索压缩极限。

每一层的状态空间为(t, n, c, h, w, stride, k, FLOP s[t], reduced, rest, at−1),t是层指数,输入维度是n×c×k×k,输入大小是c×h×w,reduces就是前一层减掉的flops,rest是剩下的flops。

因为剪枝对通道数特别敏感,所以这里不再是使用离散的空间,如{128,256},而是使用连续的空间,使用deep deterministic policy gradient (DDPG)来控制压缩比率,完整的算法流程如下:

640?wx_fmt=png

对于细粒度的剪枝,可以使用权重的最小幅度作为阈值,对于通道级别的压缩,可以使用最大响应值。

在谷歌Pixel-1 CPU和MobileNet模型上,AMC实现了1.95 倍的加速,批大小为1,节省了34%的内存。在英伟达Titan XP GPU 上,AMC实现了1.53 倍的加速,批大小为50。

2 关于模型优化的推荐资料

如果说要我在深度学习这么多方向里选择一个的话,我会毫不犹豫地选择模型优化,这也是我一直在做的事情。

公众号写过很多的模型解读了,如下是一些总结:

知识星球也有一个模型结构1000变板块,是比公众号的内容更深更广。如果感兴趣的话这周加入最合适,双十一优惠还在。

640?wx_fmt=png
640?wx_fmt=jpeg
640?wx_fmt=jpeg

之前在阿里天池也做了几场直播,往期视频如下:

模型的优化技术包括设计更高效的模型结构,模型剪枝,量化技术等,如今随着AutoML技术的发展,也有了更广阔的空间,下面提供了一些参考资料大家可有阅读。

[1] He Y, Lin J, Liu Z, et al. Amc: Automl for model compression and acceleration on mobile devices[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 784-800.

[2] Luo J H, Wu J. Autopruner: An end-to-end trainable filter pruning method for efficient deep model inference[J]. arXiv preprint arXiv:1805.08941, 2018.

[3] Zhou D, Jin X, Wang K, et al. Deep Model Compression via Filter Auto-sampling[J]. arXiv preprint arXiv:1907.05642, 2019.

[4] Carreira-Perpinán M A, Idelbayev Y. “Learning-Compression” Algorithms for Neural Net Pruning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8532-8541.

总结

这次我们介绍了AutoML在模型剪枝中的一个经典案例,实际上还有更多的内容,感兴趣的欢迎后续到有三AI知识星球中获取。

下期预告:AutoML在模型量化中的应用。

有三AI秋季划

640?wx_fmt=png

有三AI秋季划已经正式启动报名,模型优化,人脸算法,图像质量共24个项目,助力提升深度学习计算机视觉算法和工程项目能力。

转载文章请后台联系

侵权必究

640?wx_fmt=gif
640?wx_fmt=png
640?wx_fmt=png

往期文章

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值