ITPub博客

首页 > 人工智能 > 深度学习 > 「AutoML」如何使用强化学习进行模型剪枝?

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

深度学习 作者:AIBigbull2050 时间:2019-11-15 17:02:36 0 删除 编辑
2019-11-13 11:43:44

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

作者&编辑 | 言有三

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

1 AMC

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

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

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

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

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

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

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

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

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

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

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

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

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

「AI不惑境」移动端高效网络,卷积拆分和分组的精髓
「AI不惑境」残差网络的前世今生与原理

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

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

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

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

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

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

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

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

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

模型的优化技术包括设计更高效的模型结构,模型剪枝,量化技术等,如今随着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在模型剪枝中的一个经典案例



https://www.toutiao.com/i6758631933342646797/




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946223/viewspace-2664397/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
SAP虾客(~Suzhou Boy~)

注册时间:2019-08-22

  • 博文量
    1788
  • 访问量
    1223960