【神经网络压缩】Deep Compression ( ICLR 2016 best paper)

本文深入解析了2016年ICLR最佳论文,介绍了一种通过剪枝、量化及霍夫曼编码来压缩神经网络模型的技术,显著降低了存储需求而不影响准确性,使大型网络能在嵌入式系统上运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主题:对2016年ICLR最佳论文进行初步解读

原因:希望能够在这个方向上想到合适的idea,有共同爱好或者有想法的朋友可以私信我。一起脱发一起科研,不出意外的话接下来应该还有会找同类的论文进行比对思考,有推荐同类型经典高引用文献可推荐给我谢谢。

内容:对一篇讲神经网络的压缩的论文进行整理。后续能不能搞成系列就随缘

论文链接:https://arxiv.org/pdf/1510.00149.pdf

PS:不知道这种内容写成博客的话用不用经过原作者的同意,需要的话请告知,立删。如在解读过程中有错误也请指出。

PPS: 作者是斯坦福大学博士韩松,同时也是深鉴科技创始人兼首席科学家。。。。。给大佬点烟。

 

摘要:摘要部分总结来说就是现在深度学习发展的很快,计算量大很吃内存,为了能够用内存有限的嵌入式系统中实现它,需要对模型进行压缩。方法呢就是pruning(剪枝),trained quantization(量化) , Huffman coding(霍夫曼编码)三个步骤来进行,相互协同,在不影响准确性的基础上,使得存储需求降低几十倍(很强QAQ),然后经过AlexNet网络结构ImageNet数据集上的检验, 证明了效果很强。这样的好处就是我们可以在cache上面跑而不是内存。

这个图就是对整个压缩步骤的结构化解释,对摘要的一个形象化表示吧

一.Introduction

 以百度,facebook的例子说明了一些神经网络经典模型究竟有多大,为了迎合硬件迫切需要压缩的意思。论文的目标是让大型的网络结构能够移植到移动设备上运行。

 

文章主干:

二.剪枝

       PS:作者自己在2015年也发表了文章关于如何在不影响acc的基础上进行剪枝(作者没有明说,但是我觉得应该是这个SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5MB model size

附上大佬论文连接:https://zz.glgoo.top/extdomains/scholar.google.com.hk/citations?user=E0iCaa4AAAAJ&hl=zh-CN&oi=sra

操作方法:

1.正常输入,然后将网络中的小于某个阈值的参数丢弃,再重新进行训练。处理之后得到的稀疏结构(出来好多0当然稀疏)作为CSC或者CSR.

2.为了能够进一步的压缩,用相对位置取代绝对位置。其中卷积层需8bit长度,全连接层设置为5bit长度

上图位卷积层相对位置的参数保存示例,diff行意味着距离前一位有效值的相对距离,若相对位置超过8,则额外添加一个0.

 

 

三.量化和权值共享

  1. 减少网络结构中全职所占有的比特数(简单粗暴的理解大概是取近似值或保留整数)
  2. 对有多个连接的权重共享权重值,提高效率。
  3. 对权重值进行微调

OS:结合上图理解,4输入4输出的神经元,权重位4*4的矩阵,相同颜色的权值可量化为同一个值(centroids),在更新网络的时候,也可以将需要更新的值进行量化。试验证明,在不影响acc的前提下,AlexNet网络中卷积层量化到8bit(256个共享权值),全连接层可量化到5bit(32个共享权值)。

接下来论文计算了一波压缩率:k:cluster(在这里看作颜色可能比较好理解),那么需要的比特数是log2(k),n为共享前的权值数,每一个权值需要b bits。

上图中k=4,b=32,n=16

决定共享权重值的方法

K-means聚类

初始化权重值的方法:

1.Forgy:随机选取(黄色的点,可能看不清),2.

2.Density-based基于累积分布函数的,中心点集中在两个峰值之间,比随机选取的离散化强。

3.Linear:线性分割,顾名思义,高度离散化。

后来经实验证明,在这种情况下Linear初始化的方法最好。

 

四.霍夫曼编码

   常见的是可变字长编码技术,论文中没有详细介绍。简单概括来说就是符号出现的概率越大(表示这个权重的值越常见),那么它所对应的码长就越短。

 

五.实验过程

   照着论文原文中的table看就ok了,就是进行了一些对比试验,证明了压缩效果很好

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值