文章目录
- 题目:AMC: AutoML for Model Compression and Acceleration on Mobile Devices
- 时间:2018
- 会议:ECCV
- 研究机构:MIT韩松
- Github:https://github.com/mit-han-lab/amc-release
1 缩写 & 引用
- AMC: AutoML for Model Compression
2 abstract & introduction & related work
过去的定点化方法主要是考hand-crafted heuristics和rule-based policies,这里用AutoML强化学习的方法来压缩网络,利用DDPG的方法,面对不同的需求提出了两种压缩策略,一个是看重latency的资源受限的研所,一个是看重精度不看重latency的accuracy-guaranted
相关工作:
- 传统的压缩方法如量化和tensor分解和剪枝
- NAS和AutoML:用网络砖和的方法加速或者用强化学习来channel selection
3 方法论
3.1 问题定义
剪枝可以分成两类:
- 细粒度的剪枝:把权重中不重要的元素去掉,会导致结构不规则,不利已硬件实现
- 结构化剪枝(粗粒度剪枝):网络结构规则,比如说一次剪几个通道
3.2 状态空间
用11个特征来标注一个状态
s
t
=
s_t=
st=
rest表示这层之后的网络层中的FLOP次数
reduced表示之前网络层已经减少的FLOP次数
3.3 动作空间
用连续的动作空间(0,1],可以更精确
3.4 DDPG agent
agent输入的是第t层的状态信息 s t s_t st,输出一个稀疏度 a t a_t at作为action,然后第t层就按照这个稀疏度进行特定的压缩算法如channel pruning;然后是第t+1层;等所有层都搞完了,在validation数据集中可以得到一个准确度
3.5 搜索方案
- 资源受限型压缩:reward取决于Error(我猜测是精度下滑值),如果发现后面几层全部按照最激进的方式压缩都达不到压缩率,就放弃这个方案
- 精度有保证的压缩:reward主要取决于error,稍微取决于计算量或者是参数量
4 实验结果
actor网络
μ
\mu
μ有两个隐藏层,每个有300unit
critic网络Q也有两个隐藏层,每个300unit