神经网络压缩(7)Soft weight-sharing for neural network compression

原创 2017年06月29日 16:36:10

Soft weight-sharing for neural network compression

Abstract

  1. soft weight-sharing
  2. achieves both quantization and pruning in one simple (re-)training procedure
  3. the relation between compression and the minimum description length (MDL) principle

Intro

  1. compression直接相关:(variational) Bayesian inference and
    the minimum description principle
  2. Hinton1992,soft weight sharing 这个是作为一种正则化的方法用于降低网络的复杂性,防止过拟合
  3. 他主要的构想也是quant的思想,文章中提到,对比韩松的方法,需要一步一步的进行prune和quant然后在retrain,这篇文章引入soft weight sharing的方法说可以在retain的过程中一起实现prune和quant;

Method

  • 需要优化的目标函数:
    这里写图片描述

损失函数:Le是error cost;Lc是complexity cost;
然后先验概率p(w)分布引入了高斯混合分布,最终的目的是通过训练让weight聚集在cluster周围,让权重形成几个不同的组,优化这些cluster中心使网络得到比较高的预测精度。最后的compresssion是通过对这K个cluster的均值(中心)编码实现。(所以觉得还是quant的思想,聚焦点在于如何寻找quant的分组)

  • 不同高斯成分的中心和方差还有混合系数都作为学习的一部分,为了最小化误差函数,需要计算各个不同参数的导数。为了最小化最终的误差函数,我们必须要把误差函数能够对各种可进行调整的参数进行求导,我们首先需要把{πj}看作先验概率然后引入一个相应的后验概率,就是这个公式,然后分别对各个参数求导:
    这里写图片描述

1.正则化项的影响就是将每个权重拉向第 j 个高斯的中心
2.它是将ui推向权值的均值方向
3.这会驱使delta朝着对应中心附近的权重的平方偏差的权重化均值方向移动
4.pi会被推向成分 j 的平均后验概率的方向。

  • 整个算法流程
    tao是正则化系数,文章设定0.005,给定lr等参数;mean初始化是在pretrain的weights的大小范围内进行均匀初始化;方差:weight decay rate the original network has been trained on;
    最后的结果是每个weights被对应的归为比例最高的那个组件的mean值
    这里写图片描述

  • 细节
    为了保证有一定的prune ratio,文章设定:
    这里写图片描述
    -Weights会分布在聚类中心的附近,然后weights和means之间,means和means之间都是会相互影响的,文章说在这种情况下quant成多少部分是网络 自己学出来的,太相近的聚类之间,如果KL散度小于一定阈值,需要合并,这是合并的规则:
    这里写图片描述

最终的存储格式也是借鉴了韩松的deepcompression的方式

Experiments

Weight值在retrain之前和之后的变化,在0处达到一个很高的峰值。

这里写图片描述
学习过程中,高斯混合模型的一个变化过程,y轴是高斯分布的中心值,可以看到从最初的初始化为17个部分,慢慢互相吸收靠近变成最后6个;散点图也显示了retrain前的weights到最后分布在各个高斯中心点附近的weights
这里写图片描述

和popular network的比较:
这里写图片描述

神经网络压缩:Mimic(一)Do Deep Nets Really Need to be Deep

Do Deep Nets Really Need to be Deep? 论文链接: http://arxiv.org/abs/1312.6184文章主旨 Shallow feed-forwar...
  • cookie_234
  • cookie_234
  • 2017-05-02 14:50:07
  • 638

神经网络压缩:Mimic(二)Distilling the Knowledge in a Neural Network

转载请注明出处:西土城的搬砖日常
  • cookie_234
  • cookie_234
  • 2017-06-09 14:17:56
  • 2351

PRML5-神经网络(2)

本节来自《pattern recognition and machine learning》第5章。 接(PRML5-神经网络(1)) 5.5NN中的正则化         NN的输入层和输出层的单元...
  • shouhuxianjian
  • shouhuxianjian
  • 2015-07-27 09:09:55
  • 1551

5 神经网络(PRML)

之前我们讨论的模型是对于分类的回归模型,包含了线性组合的多个基础函数。但是他的应用范围有一定的限制。另外一个方法在于事先限定基础函数的个数并且使得他可自适应的,也就是说使得他的参数值在训练当中是可以发...
  • StudyFromEveryOne
  • StudyFromEveryOne
  • 2013-11-03 14:52:37
  • 1778

【网络优化】超轻量级网络SqueezeNet算法详解

转自: http://blog.csdn.net/shenxiaolu1984/article/details/51444525 Iandola, Forrest N., et al. “Squ...
  • cookie_234
  • cookie_234
  • 2017-05-19 15:52:51
  • 550

【网络优化】MobileNets

转自:http://blog.csdn.net/cv_family_z/article/details/70847482?locationNum=1&fps=1 MobileNets用于手机或嵌入式视...
  • cookie_234
  • cookie_234
  • 2017-06-28 16:38:31
  • 1806

【深度神经网络压缩】Deep Compression (ICLR2016 Best Paper)

做过深度学习的应该都知道,NN大法确实效果很赞,在各个领域轻松碾压传统算法,不过真正用到实际项目中却会有很大的问题: 1. 计算量非常巨大;2. 模型特别吃内存;怎么办?使用网络压缩技术咯!《Deep...
  • cyh24
  • cyh24
  • 2016-06-19 01:51:39
  • 18219

ThiNet算法详解

论文:ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression 论文链接:https://arxiv.org...
  • u014380165
  • u014380165
  • 2017-09-01 08:04:48
  • 1636

神经网络压缩(2): Dynamic Network Surgery for Efficient DNNs

转自:http://blog.csdn.net/zhangjunhit/article/details/53218211NIPS 2016 http://arxiv.org/abs/1608.044...
  • cookie_234
  • cookie_234
  • 2017-04-28 13:55:50
  • 1403

神经网络压缩(7)Soft weight-sharing for neural network compression

Soft weight-sharing for neural network compressionAbstract achieves both quantization and pruning in...
  • cookie_234
  • cookie_234
  • 2017-06-29 16:36:10
  • 1412
收藏助手
不良信息举报
您举报文章:神经网络压缩(7)Soft weight-sharing for neural network compression
举报原因:
原因补充:

(最多只允许输入30个字)