【技术实现步骤摘要】
处理方法和处理装置
本公开涉及计算机领域,进一步涉及人工智能领域。
技术介绍
神经网络以及机器学习算法已经获得了非常成功的应用。但是随着我们设计更大规模,更深层次的神经网络,将引入更多的权值,而超大规模权值成为神经网络计算的一个巨大挑战。一方面,超大规模的权值数据对存储提出了更高的要求,尤其是在手机等嵌入式设备中,存储相当有限,可能导致无法存放所有的权值数据。另一个方面,大量访问权值数据将带来不可估量的访存能耗,因此,如何压缩神经网络规模成为一个亟待解决的问题。
技术实现思路
(一)要解决的技术问题有鉴于此,本公开提供了一种针对神经网络的压缩方法和压缩装置。(二)技术方案根据本公开的一方面,提供一种数据压缩方法,其中包括:对数据进行粗粒度剪枝,包括:使用滑动窗口从神经网络选取出一组权值,将选取的权值都置为零;对神经网络进行第一重训练,训练过程中已经被置为零的权值保持为零;对数据进行量化,包括:对神经网络的权值进行分组,对每一组权值用聚类算法进行聚类操作,每个类计算出一个中心权值,每个类中的所有权值都用中心权值替换;对中心权值进行编码操作,得到密码本和权值字典,对神经网络进行第二重训练,重训练时只训练密码本,权值字典内容保持不变。在进一步的实施方案中,使用滑动窗口选取神经网络的一组权值的条件为:将组内所有权值绝对值的算术平均值作为该组的第一代表权值,第一代表权值小于第一阈值;或者将组内所有权值绝对值的几何平均值作为该组的第二代表权值,第二代表权值小于第二阈值;或者将组内所有权值绝对值的最大值作为该组的第三代表权值,第三代表权值小于第三阈值。在进一步的实施方案中, ...
【技术保护点】
1.一种处理装置,其中包括:粗粒度选数单元,用于输入神经元和非零权值位置信息,选出需要进行计算的神经元;查找表单元,用于接收量化的非零权值字典和非零权值密码本,进行查表操作并输出神经网络非零权值;运算单元,用于接收被选中的神经元和非零权值,对神经网络进行运算并输出神经元。
【技术特征摘要】
1.一种处理装置,其中包括:粗粒度选数单元,用于输入神经元和非零权值位置信息,选出需要进行计算的神经元;查找表单元,用于接收量化的非零权值字典和非零权值密码本,进行查表操作并输出神经网络非零权值;运算单元,用于接收被选中的神经元和非零权值,对神经网络进行运算并输出神经元。2.根据权利要求1所述的处理装置,其特征在于,所述查找表单元还用于对未量化的非零权值直接通过旁路传输给运算单元。3.根据权利要求1或2所述的处理装置,其特征在于,还包括指令控制单元,用于接收指令并经过译码后生成控制信息控制运算单元。4.根据权利要求1-3任一所述的处理装置,其特征在于,还包括存储单元,用于存储神经网络的神经元、权值以及指令。5.根据权利要求4所述的处理装置,其特征在于,所述存储单元还用于存储存放非零权值以及非零权值的位置信息;还用于存储量化的非零权值密码本和非零权值字典。6.根据权利要求1-5任一所述的处理装置,其特征在于,所述运算单元包括以下至少一种:乘法器,用于将所述第一输入数据和第二输入数据相乘,得到相乘之后的数据;加法树,用于将第三输入数据通过加法树逐级相加,或者将所述第三输入数据通过和第四输入数据相加得到相加之后的数据;激活函数运算单元,对第五数据通过激活函数运算得到输出数据,所述激活函数为sigmoid、tanh、relu或softmax函数操作。7.根据权利要求6所述的处理装置,其特征在于,所述运算单元还包括池化单元,用于对输入的第六数据通过池化运算得到池化操作之后的输出数据,所述池化操作包括:平均值池化,最大值池化或者中值池化。8.根据权利要求1-7任一所述的处理装置,其特征在于,还包括指令控制单元,用来接收存储装置中的指令,经过译码后生成控制信息控制粗粒度选数单元进行选数操作,查找表进行查表操作和运算单元进行计算操作。9.根据权利要求8所述的处理装置,其特征在于,所述指令为神经网络专用指令,包括控制指令,数据传输指令,运算指令和逻辑指令。10.根据权利要求9所述的处理装置,其特征在于,所述神经网络专用指令为Cambricon指令集。11.根据权利要求1-10任一所述的处理装置,其特征在于,还包括指令缓存,用于缓存指令,所述指令缓存为片上缓存。12.根据权利要求1-11任一所述的处理装置,其特征在于,还包括非零权值密码本缓存,用于缓存非零权值密码本,所述非零权值密码本缓存为片上缓存。13.根据权利要求1-12任一所述的处理装置,其特征在于,还包括非零权值字典缓存,用于缓存非零权值字典,所述非零权值字典缓存为片上缓存。14.根据权利要求1-13任一所述的处理装置,其特征在于,还包括非零权值位置缓存,用于缓存非零权值位置,还用于将输入数据中每个连接权值一一对应到相应的输入神经元,所述非零权值位置缓存为片上缓存。15.根据权利要求14所述的处理装置,其特征在于,所述非零权值位置缓存,用于将输入数据中每个连接权值一一对应到相应的输入神经元中的一一对应包括:为采用1表示权值与输入神经元有连接,0表示无连接,每组输出与所有输入的连接状态组成一个0和1的字符串来表示该输出的连接关系。16.根据权利要求14或15所述的处理装置,其特征在于,所述非零权值位置缓存,用于将输入数据中每个连接权值一一对应到相应的输入神经元中的一一对应包括:将一组输出第一个连接所在的输入神经元位置距离第一个输入神经元的距离、所述输出第二组输入神经元距离上一个输入神经元的距离,所述输出第三组输入神经元距离上一个输入神经...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。