0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不同于针对压缩单个权重的方法

YCqV_FPGA_EETre 来源:未知 2019-11-27 15:49 次阅读

引言

这篇文章介绍一种不同于针对压缩单个权重的方法:多个权重数据组合为向量,将向量视为一个整体,映射到其他向量空间,完成压缩。作者在resnet-50上做了实验,将100MB权重压缩到了5MB(实现了20倍压缩比例),同时在imageNet上测试的top-1精度保持的很好(76.1%)。Resnet是一种经典的残差网络,在2015年的imageNet大赛中获得第一名,被广泛应用在图像识别和分类中。向量压缩方法在resnet上的成功运用,会大大推动resnet在硬件加速中的应用。 1

背景介绍

也许是神经网络较强的泛化能力和较窄的应用场景之间的矛盾,造成了网络参数存在很大冗余。因此各种压缩方法五花八门,层出不穷。

有的是将权重数据低精度化,比如前一篇介绍的二值网络,还有三值,四值网络,8bit,16bit定点网络等等。这些主要是考虑整体上降低每个权重的表达精度。但是随着精度降低越大,网络的分类能力就会越低。

另一类方法是向量量化。其主要思想是将原始高维权重空间分割成低维子空间的乘积,然后对子空间进行重新映射,通过映射到某个新的集合来完成整体数据的压缩。实际上是寻找不同向量之间的共性,用同一个新向量来替代,实现聚类。这样就减少了不同子向量的个数,实现了数据压缩。

还有一种方法是剪枝。即去除一些不重要的网络连接或者参数,比如在LSTM优化中使用的structured compression,就是直接去除多个相邻的不重要的权重参数。

利用以上的方法产生了多个压缩的网络结构,比如squeezeNet,NASNet,ShuffleNet,MobileNet等。这些网络是从网络结构的设计开始,就权衡数据量和分类精度,来实现既有小的权重数据,同时又有好的表现力。

2

压缩方法

这篇论文的创新性在于在采用向量压缩的基础上,最小化激活函数的输入而不是权重的均方差。相比于传统方法,其在测试集中有更好的分类能力,同时不需要任何监督过程,只是给出一定数量的输入图片就行了。

图2.1 绿色的线是论文的方法,在测试集和中有更好的分类能力,而传统方法会在压缩过程中引入噪声,造成分类精度的降低

论文首先从全连接的量化讲解,之后推广到卷积的压缩。假设一个全连接层有权重: 将每列W分割成m个连续的子向量,然后让网络学习一个字典可以表示这mC_out个向量。子向量维度为d=C_in/m。假设字典有k个数据{C_1, C_2, …, C_k}。任何一个d维向量都被映射到这个空间中,于是一个W的列向量映射为: 这个字典是通过最小化权重的均方差来学习: 从实际来讲,我们要减小的并不是权重之间的差异,而是结果的差异。所以论文从更直观的角度来最小化输出结果: 其中,

是全连接层的输出结果。

具体实现步骤为:

1) 为了匹配W子向量,输入x也进行相对应的分割。由BxC_inàBxmxd;

2) 对每个子W向量进行聚类,分配字典中的向量c:

其中v是W的子向量,c为字典中向量。X^为x的子空间。

2) 更新字典数据c:假设对应c向量已经分配了一定数量的v,那么通过以下方法来更新c:

全连接进行的是矩阵运算,而卷积层是由卷积核来实现图像的卷积。两者不同,如何将前面的方法用到卷积层呢?其实向量压缩算法本身不在做什么运算,而是在于对权重的重新分类。从这点来看,一个卷积层权重为: 其中KxK为一个卷积核大小,可以作为一个基本的子向量单位。我们可以选择拆分的W的字向量大小为hxKxK。如果h=1,那么一个卷积核就被当做一个要映射的子向量。而输出不再是矩阵乘法而是卷积运算: 这样就能够应用以上方法来对卷积层权重进行压缩了。

图2.2 卷积层权重数据进行KxK子空间分解

3

实验结果

论文在resnet-18和resnet-50上进行了实验。3x3卷积的子空间被设置为9或者18,而pointwise的权重子空间设置为4或者8.字典的大小设置了四种不同数量:256,512,1024,2048。在开始量化前,从训练集中随机取得1024幅图片作为量化输入,执行2节中的量化步骤。结果综合了存储减小和分类精度两方面,如下图所示: 图3.1 resnet-18和resnet-50的压缩比例

从图中看出,采用小的子空间和大的字典元素数目有更好的分类精度,但是压缩率低。在实际应用中可以根据需要来调节这些参数获得你期望的压缩率和识别精度。

图3.1 resnet-18和resnet-50的压缩比例

从图中看出,采用小的子空间和大的字典元素数目有更好的分类精度,但是压缩率低。在实际应用中可以根据需要来调节这些参数获得你期望的压缩率和识别精度。

图3.2 k=256下,两个网络的压缩率和top-1精确度

结论

本文介绍了一种利用向量压缩来降低复杂的神经网络的数据量的方法,通过resnet上的实验,能够看出这种方法相对于单纯的压缩单个权重,可以保持良好的精确度,同时能够获得一定压缩比例。

文献

1 Pierre Stock, A.J., R´emi Gribonval, Benjamin Graham, Herv´e J´egou, And the Bit Goes Down Revisiting the Quantization of Neural Networks. arXiv preprint, 2019.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4732

    浏览量

    100373

原文标题:【网络压缩二】向量压缩方法

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么Platform Cable USB II和Xilinx并行电缆IV分配引脚不同于14引脚Jtag标准引脚分配?

    为什么Platform Cable USB II和Xilinx并行电缆IV分配引脚不同于14引脚Jtag标准引脚分配(如http://hri.sourceforge.net/tools/jtag_faq_org.html#_Toc63218715中所示),它们真的不同吗?如果是,那么自定义适配器将此14针转换为标准
    发表于 08-13 09:41

    求大佬分享一种针对高斯类波形使用Mu-law压缩方法

    本文描述了一种针对高斯类波形使用Mu-law压缩方法——例如CPRI接口中使用的基带IQ数据。Mu-law压缩在音频应用中很常见,实现效率很高,但对基带信号来说在保真度方面会有过多的
    发表于 05-24 06:52

    为什么起振后的直流工作点电流不同于起振前的静态工作点电流呢?

    为什么起振后的直流工作点电流不同于起振前的静态工作点电流呢?
    发表于 03-28 13:44

    基于反馈信息的特征权重调整方法

    训练集的分布对文本分类质量有重要影响。该文对两类文本分类中的数据集偏斜问题进行研究,提出一种基于反馈信息的特征权重调整方法,该方法综合考虑正确分类和错误分类的
    发表于 04-01 08:59 13次下载

    单个晶体管频带压缩放大器电路图

    单个晶体管频带压缩放大器电路图
    发表于 06-27 10:05 505次阅读
    <b class='flag-5'>单个</b>晶体管频带<b class='flag-5'>压缩</b>放大器电路图

    无线视频的压缩方法

    无线视频的压缩方法              无线视频典型的压缩方法有H.263和J
    发表于 01-06 14:40 607次阅读

    一种漏洞威胁基础评分指标权重分配方法

    针对通用漏洞评分系统( CVSS)的基础评分指标权重分配过多依赖专家经验导致客观性不足的问题,提出一种漏洞威胁基础评分指标权重分配方法。首先,对评分要素的相对重要性进行排序;然后,采用
    发表于 12-01 16:24 0次下载
    一种漏洞威胁基础评分指标<b class='flag-5'>权重</b>分配<b class='flag-5'>方法</b>

    一种新的DEA公共权重生成方法

    针对传统数据包络分析(DEA)公共权重生成方法不同时具备线性、规模无关优点的问题,根据军事训练绩效评估需求,提出了一种新的DEA公共权重生成方法。该方法以DEA有效单位为计算基础,首先
    发表于 01-13 11:03 0次下载

    一种约束权重的改进多目标跟踪方法

    针对高斯混合概率假设密度( GM-PHD)滤波器未检查一对一假设以及难以跟踪跨越目标的问题,在其基础上提出一种约束权重的改进多目标跟踪方法。通过构建权重矩阵,从所有生成的目标中寻找
    发表于 02-24 13:55 0次下载
    一种约束<b class='flag-5'>权重</b>的改进多目标跟踪<b class='flag-5'>方法</b>

    面向“边缘”应用的卷积神经网络如何进行量化与压缩详细方法

    针对卷积神经网络( CNN)推理计算所需内存空间和资源过大,限制了其在嵌入式等“边缘”设备上部署的问题,提出结合网络权重裁剪及面向嵌入式硬件平台数据类型的数据量化的神经网络压缩方法。首
    发表于 12-26 17:01 4次下载
    面向“边缘”应用的卷积神经网络如何进行量化与<b class='flag-5'>压缩</b>详细<b class='flag-5'>方法</b>

    苹果折叠屏专利曝光将不同于华为的横向折叠设计而采用了纵向折叠

    从曝出的苹果折叠屏专利可以看出,可折叠iPhone不同于华为、三星、小米等公司折叠屏手机设计不同,是采用纵向折叠,而非横向折叠。 另一张简图显示,显示屏可以向后折叠。在这种形态下,两部分显示屏之间有一定角度,坐在显示屏两侧的用户,可以同时看到相同的内容。
    发表于 02-27 09:10 1601次阅读
    苹果折叠屏专利曝光将<b class='flag-5'>不同于</b>华为的横向折叠设计而采用了纵向折叠

    一种不同于双线性插值的上采样方法

    我们可以看到,该网络将传统的非线性插值替换成 DUpsample,同时在 feature fuse 方面,不同于之前方法将 Decoder 中的特征上采样与 Encoder 特征融合,本工作将 Encoder 中的特征下采样与 Decoder 融合,大大减少了计算量 ,这
    的头像 发表于 04-08 14:47 6330次阅读
    一种<b class='flag-5'>不同于</b>双线性插值的上采样<b class='flag-5'>方法</b>

    可解决高冲突证据合成问题的证据权重确定方法

    为对证据源进行合理修正,解决高冲突证据合成时存在的问题,提岀了一种新的证据权重确定方法。首先利用证据之间的局部冲突和相似性求出各个证据的全局冲突系数;其次取全局冲突系数的反值作为证据的权重并利用该
    发表于 04-22 14:07 0次下载
    可解决高冲突证据合成问题的证据<b class='flag-5'>权重</b>确定<b class='flag-5'>方法</b>

    一种基于用户偏好的权重搜索及告警选择方法

    用户在现有交互方式下选择最为严重的告警时完全依据其个人偏好,而未考虑处理不同告警所需成本的差异性问题。为此,提出一种基于用户偏好的权重搜索及告警选择方法。挖掘用户对不同严重程度告警的偏好值,针对
    发表于 04-29 16:26 4次下载
    一种基于用户偏好的<b class='flag-5'>权重</b>搜索及告警选择<b class='flag-5'>方法</b>

    折弯机专用激光保护装置为什么不同于一般安全光幕

    折弯机专用激光保护装置为什么不同于一般安全光幕
    的头像 发表于 07-06 14:05 551次阅读
    折弯机专用激光保护装置为什么<b class='flag-5'>不同于</b>一般安全光幕