Runtime Network Routing for Efficient Image Classification

这篇是清华鲁继文组PAMI 2018年的文章,是NIPS 2017年《Runtime neural pruning》的拓展版本
两个版本有稍微的出入,主要是加了“Multi-Path Network”的部分。不过这一部分看起来更像是ensemble多个模型,故此这部分不会细讲,主要讨论“Runtime Neural Pruning”的实现细节。

这篇文章讲了什么

dynamic channle pruning

Motivation

  1. selects an optimal path inside the network
  2. simple image doesn't need complicated network

怎么做

Condition computation:Runtime Nerual Pruning based on the input image and current feature map, that is to say, this is the instance pruning strategy

贡献

提供了剪枝的新思路,不再探索静态的剪枝策略,保留大网络的全部表达能力
但这里会有另一个槽点:个人理解,剪枝是为了可以用更少的参数,追求在廉价设备上保持性能,所以文章提出的保留全部参数,动态选择(剪枝)路径,是否违背了剪枝这个task的motivation

设计了怎样的模型

  1. policy network(RNN):决策保留的channel
  2. backbone

建立在怎样的假设之上

剪枝策略十分粗糙,默认选择每层feature map前面的channel,更难的sample才会用到后面的channel


2019-07-09 10-12-41 的屏幕截图.png

实现细节

主要是Policy Network部分

state

2019-07-09 11-46-59 的屏幕截图.png

将上一层的Fi(feature map) [N, n1, H, W]通过global average pooling得到一个[N, n1],通过encoderi得到固定长度的特征作为state[N, C]输入到RNN中,RNN输出hidden state[N, C],通过decoderi得到这个decision的Q-value
值得注意的是,对每一层都有独立的encoderi跟decoderi。槽点:用大量(冗余)的policy network参数去对backbone剪枝(减少参数)

action

ai表示选择保留前i组的channel

reward

2019-07-09 17-23-16 的屏幕截图.png

architecture

算法

2019-07-09 10-18-44 的屏幕截图.png

十分粗略的解读,主要是方便自己以后查看。
水平有限,希望没有误人子弟,有任何问题欢迎留言或者私信讨论(不定时查看……)

你可能感兴趣的:(Runtime Network Routing for Efficient Image Classification)