ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Global Sparse Momentum SGD for Pruning Very Deep Neural Networks 论文阅读笔记

2020-06-14 13:02:28  阅读:530  来源: 互联网

标签:剪枝 这个 权重 Neural Very Global 更新 SGD Momentum


Global Sparse Momentum SGD for Pruning Very Deep Neural Networks

Introduction

这篇论文来自NIPS19,虽然做的是非结构化的剪枝,但是可以直接迁移到结构化剪枝上去做。这篇paper的方法我觉得是非常简单奏效的,作者提出了将网络中的权重动态地进行分类,在一个batch的训练中,用一阶泰勒展开来判断对一个权重进行剪枝会对最终的输出造成多少影响,对这个影响进行排序,然后将整个网络中的权重进行分类,对第一类,即造成影响较大的权重,采用常规的SGD更新,对第二类,只对其进行weight_decay,从而动态地对网络实现剪枝,而且不需要fine-tune。

Method

Momentum SGD

首先回顾一下Momentum SGD的更新规则:

在这里插入图片描述

其中L是目标函数,α是学习率,β是momentum,n是权重衰减参数。

Formulation

假设N是layer的数量,全局的压缩率可以被表示为:

在这里插入图片描述

这个θ=[Wi],剪枝的目的就是让网络达到这个压缩率,同时不提高LOSS=L(X,Y,θ) theta

Rethinking learning-based pruning

这一部分作者主要回顾了一下learning-based 剪枝方法的缺点,即平衡稀疏率和正确率:

在这里插入图片描述

这个问题显然是无法求导的,然后一般的优化函数都长这样:

在这里插入图片描述

这里的R就是正则项,为了让权重逐渐变小,作者指出这样做的缺点有两个:

  1. 常规的正则项L1/L2只能让权重减小到某个程度,但是不能让权重减小到0,这个可以理解为,当权重很大的时候,正则项对权重的衰减影响很大,但是当权重变小了之后,这个weight_decay就会和目标函数产生的梯度”相当“,这样就会让权重不能真下降到0
  2. 超参λ不能直接控制剪枝率,只能人工控制轮数或者用其他的trick来达到目标的剪枝率。
Global sparse gradient flow via momentum SGD

提出了将网络中的权重动态地进行分类,在一个batch的训练中,用一阶泰勒展开来判断对一个权重进行剪枝会对最终的输出造成多少影响,这个metric value被定义为:

这个具体的推导过程,就是用之前nvidia那篇剪枝论文来做的一阶泰勒展开近似来做的:
在这里插入图片描述

然后,重写SGD的更新规则:

在这里插入图片描述

这个B(k)是一个遮挡矩阵,被定义为:

在这里插入图片描述

这个B矩阵的脚标就是前面说道的matrix-kernel的维度。

GSM enables implicit reactivation and fast continuous reduction

这里作者指出,re-activation只会发生在小部分的权重上,大部分的权重会一直被passive update,所以我们必须知道经过多少个training iteration,参数会变得足够小以至于不会增加loss,作者这里很奇怪的直接给了个公式来预测这个轮数:

在这里插入图片描述

这是我觉得这篇文章最大的缺点了,这个东西是非常不可控的,是靠作者的实验来得出来的,非常不具有泛化性:

在这里插入图片描述

Experiment

MNIST

在这里插入图片描述

CIFAR-10

在这里插入图片描述

ImageNet

在这里插入图片描述

Conclusion

这篇论文主要是提出稀疏化的SGD更新方法,主要做法是将要更新的参数基于其对目标函数的值的影响大小分为两类,一类是activate upadate,用的就是常规的Momentum SGD更新方法,一类是passive update,只对参数进行weight decay来让这些参数趋近于0,

标签:剪枝,这个,权重,Neural,Very,Global,更新,SGD,Momentum
来源: https://www.cnblogs.com/zyxxmu/p/13124449.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有