[发明专利]处理方法和处理装置有效
| 申请号: | 201710689666.6 | 申请日: | 2017-08-09 |
| 公开(公告)号: | CN109389210B | 公开(公告)日: | 2021-06-18 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
| 代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
| 地址: | 201203 上海市浦东新区上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 处理 方法 装置 | ||
本公开提供一种处理装置和处理方法。其中,处理装置包括选数单元,用于输入单元数据和数据位置信息,选出需要进行计算的单元数据;查找表单元,用于接收量化的数值,进行查表操作并输出网络非零数值;运算单元,用于接收被选中的单元数据和非零数值,进行运算并输出数据。本公开中通过设置选数单元等,能够根据非零值位置信息选出需要参与计算的单元,从而减少计算量,减少访存量。
技术领域
本公开涉及计算机领域,进一步涉及人工智能领域。
背景技术
神经网络以及机器学习算法已经获得了非常成功的应用。但是随着我们设计更大规模,更深层次的神经网络,将引入更多的权值,而超大规模权值成为神经网络计算的一个巨大挑战。一方面,超大规模的权值数据对存储提出了更高的要求,尤其是在手机等嵌入式设备中,存储相当有限,可能导致无法存放所有的权值数据。另一个方面,大量访问权值数据将带来不可估量的访存能耗,因此,如何压缩神经网络规模成为一个亟待解决的问题。
发明内容
(一)要解决的技术问题
有鉴于此,本公开提供了一种针对神经网络的压缩方法和压缩装置。
(二)技术方案
根据本公开的一方面,提供一种数据压缩方法,其中包括:
对数据进行粗粒度剪枝,包括:使用滑动窗口从神经网络选取出一组权值,将选取的权值都置为零;对神经网络进行第一重训练,训练过程中已经被置为零的权值保持为零;
对数据进行量化,包括:对神经网络的权值进行分组,对每一组权值用聚类算法进行聚类操作,每个类计算出一个中心权值,每个类中的所有权值都用中心权值替换;对中心权值进行编码操作,得到密码本和权值字典,对神经网络进行第二重训练,重训练时只训练密码本,权值字典内容保持不变。
在进一步的实施方案中,使用滑动窗口选取神经网络的一组权值的条件为:将组内所有权值绝对值的算术平均值作为该组的第一代表权值,第一代表权值小于第一阈值;或者将组内所有权值绝对值的几何平均值作为该组的第二代表权值,第二代表权值小于第二阈值;或者将组内所有权值绝对值的最大值作为该组的第三代表权值,第三代表权值小于第三阈值。
在进一步的实施方案中,处理方法还包括:重复使用滑动窗口从神经网络选取出一组权值,将选取的权值都置为零;以及对神经网络进行第一重训练,直至保证不损失设定精度的前提下没有权值能被置为零,其中,所述设定精度为x%,其中x介于0至5之间。
在进一步的实施方案中,使用滑动窗口从神经网络选取出一组权值包括对神经网络的全连接层、卷积层或LSTM层的权值进行剪枝。
在进一步的实施方案中,对神经网络的全连接层进行剪枝包括:设全连接层的权值为一个二维矩阵(Nin,Nout),其中Nin是输入神经元的个数,Nout是输出神经元的个数,共有Nin*Nout个权值,设定一个大小为Bin*Bout的滑动窗口,其中Bin为大于等于1小于等于Nin正整数,Bout为大于等于1小于等于Nout的正整数;使滑动窗口能够沿着Bin的方向按照Sin的步长进行滑动,也可以沿着Bout方向按照Sout的步长进行滑动,其中Sin为大于等于1小于等于Bin的正整数,Sout为大于等于1小于等于Bout的正整数;当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin*Bout个权值将同时置为零。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710689666.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:处理装置及处理方法
- 下一篇:定点位数的确认方法、存储介质和装置





