首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【AutoML】如何使用强化学习进行模型剪枝?

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

作者头像
用户1508658
发布2019-11-14 00:12:53
1.7K0
发布2019-11-14 00:12:53
举报
文章被收录于专栏:有三AI有三AI

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

作者&编辑 | 言有三

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

1 AMC

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

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

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

作者们对两类场景进行了实验,第一类是受延迟影响较大的应用如移动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)来控制压缩比率,完整的算法流程如下:

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

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

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

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

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

【完结】总结12大CNN主流模型架构设计思想

【完结】12篇文章带你逛遍主流分割网络

【AI不惑境】残差网络的前世今生与原理

【AI不惑境】移动端高效网络,卷积拆分和分组的精髓

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

【杂谈】为什么要在双十一这一周邀请大家加入有三AI知识星球

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

【直播】深度卷积神经网络模型设计技术

【直播】如何设计性能更强大的深度卷积神经网络

【直播】如何获得更加高效的深度卷积神经网络

模型的优化技术包括设计更高效的模型结构,模型剪枝,量化技术等,如今随着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秋季划

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

有三AI秋季划出炉,模型优化,人脸算法,图像质量等24个项目等你来拿

转载文章请后台联系

侵权必究

往期文章

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有三AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档