paper阅读:Sparse Structure Selection

Data-Drive Sparse Structure Selection for Deep Neural Networks

openaccess.thecvf.com/c

background

模型压缩balabala…

related work and the limit

传统的结构剪枝方法(给出了上古OBD OBS/ Deep compression/ network surgery / 神经元类敏感度剪切(16, 24, 29) / CP/ ThinNet /Slimming / Rethinking等),一般需要训练-剪枝等迭代操作,操作繁杂。因此文章提出一种基于稀疏训练的端到端的模型训练裁剪一体化工作(without bells and whistles).

现有的一些稀疏训练的方法,如[25]实现非结构化的权重稀疏,不利于GPU等硬件的加速部署。[50, 1, 43]等采用了group Lasso的方式来实现结构化的稀疏训练。类似的工作还有Slimming使用subgradient descent 和 Rethinking 使用ISTA的方法来优化L1稀疏问题。

还提到了一些目前用于结构搜索的文章[2, 51, 32, 46,43,38]等。。。结构搜索和剪枝不分家。。。

novel points

1、提出了统一的CNN训练和修剪框架。 特别是,通过在CNN的某些结构(神经元(或通道),残差块,结构块)上引入比例因子和相应的稀疏正则化,将其公式化为联合稀疏正则化优化问题。

2、我们利用改进的随机加速近距离梯度(APG)方法通过稀疏正则化共同优化CNN的权重和缩放因子。与以前使用启发式方法强制稀疏性的方法相比,该方法无需进行微调和多阶段优化即可享有更稳定的收敛性和更好的结果

总结来说:提出了一种端到端的模型训练裁剪方法。首先引入一个缩放因子,来缩放特定结构(neurons,group或者res-block)的输出;然后对其添加稀疏正则化;并且通过一种改进的APG方法解决该优化问题;最后将某些值较小的因子强制为0,从而安全地删除相应结构

methodology

不同层面引入可训练比例因子如下图所示:

对于权重参数的稀疏化和网络的联合优化训练是较难实现的,因此本文中将比例因子的位置放置在某个整体块的输出之后(如一个channel的输出,一个操作块的输出或res-block的输出位置),来进行group的稀疏化。采用APG方法来求解该问题,并对APG进行了优化,避免了梯度计算时重复的前后向计算:

在mx的实现如下(良心。。。):

evaluation(benchmark, experiments design)

由于论文较早,不重点关注精度高低。实验设计上,包括Cifar, ImageNet数据集上的验证,压缩网络包括VGG, ResNet, ResNext,PeleeNet等。与其他SOTA的剪枝方法进行了对比,重点还与类似的工作Rethinking进行了对比。

Thoughts:

1、 is this problem very meaningful? is the idea interesting and inspired?

端到端其实对于大部分稀疏训练的工程来说都是可以实现的,,,但其他部分都非常强悍。包括不同层级的结构稀疏化设计,对于APG的优化等

2、 does the paper clearly explained the considerations and implement?

很清晰

3、 what’s the tradeoff?

APG的优化计算消耗并不大,实现中引入比例因子比直接使用BN的参数肯定要复杂一些,但同时应用范围也更广。

4、 other consideration.

发布于 2020-12-04 17:49