神经网络压缩(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的比较:
这里写图片描述

Hinton提出泛化更优的「软决策树」:可解释DNN具体决策

Geoffrey Hinton 等人发表 arXiv 论文提出「软决策树」(Soft Decision Tree)。并且通过层级决策模型把 DNN 所习得的知识表达出来,具体决策解释容易很多。这最终缓...
  • zchang81
  • zchang81
  • 2017年11月29日 17:17
  • 287

神经网络(Neural Network)概述

1.神经网络概况 1943年,心理学家W. Mcculloch和数理逻辑学家W. Pitts根据生物神经元功能和结构,提出M-P神经元模型。 1957年,Rosenblatt提出感知机MLP模型。...
  • ws_20100
  • ws_20100
  • 2015年10月06日 08:43
  • 3400

体验DNN演示平台《A Neural Network Playground》(一)

本篇博客仅暂时记录第一次玩 A Neural Network Playground的体验,如果后面有了进一步体会,会更新新的内容的。...
  • u013534498
  • u013534498
  • 2016年05月08日 15:09
  • 1598

Hinton提出泛化更优的「软决策树」:可解释DNN具体决策

近日,针对泛化能力强大的深度神经网络(DNN)无法解释其具体决策的问题,深度学习殿堂级人物 Geoffrey Hinton 等人发表 arXiv 论文提出「软决策树」(Soft Decision Tr...
  • Uwr44UOuQcNsUQb60zk2
  • Uwr44UOuQcNsUQb60zk2
  • 2017年11月30日 06:46
  • 84

Deep Learning(深度学习)之(六)【深度神经网络压缩】Deep Compression (ICLR2016 Best Paper)

Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman co...
  • boon_228
  • boon_228
  • 2016年06月20日 08:48
  • 9385

PRML5-神经网络(2)

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

当前深度神经网络模型压缩和加速方法速览

“本文介绍的论文全面概述了深度神经网络的压缩方法,主要可分为参数修剪与共享、低秩分解、迁移/压缩卷积滤波器和知识精炼,本论文对每一类方法的性能、相关应用、优势和缺陷等进行独到的分析。” ...
  • Touch_Dream
  • Touch_Dream
  • 2017年11月04日 09:23
  • 602

机器学习公开课笔记(4):神经网络(Neural Network)——表示

http://www.cnblogs.com/python27/p/MachineLearningWeek04.html 动机(Motivation) 对于非线性分类问题,如果用多元线...
  • zdy0_2004
  • zdy0_2004
  • 2015年12月23日 23:04
  • 759

DEEP COMPRESSION(深度学习网络参数压缩)

DEEP COMPRESSION: DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZAT...
  • zijin0802034
  • zijin0802034
  • 2017年01月02日 23:01
  • 3981

ufldl学习笔记与编程作业:Convolutional Neural Network(卷积神经网络)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践。 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl。 于是最近就开始搞这个了...
  • linger2012liu
  • linger2012liu
  • 2014年11月22日 22:50
  • 6121
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:神经网络压缩(7)Soft weight-sharing for neural network compression
举报原因:
原因补充:

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