[发明专利]神经网络模型分块压缩方法、训练方法、计算装置及系统有效
| 申请号: | 201780042629.4 | 申请日: | 2017-12-29 |
| 公开(公告)号: | CN109791628B | 公开(公告)日: | 2022-12-27 |
| 发明(设计)人: | 张悠慧;季宇;张优扬 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/063 |
| 代理公司: | 北京睿邦知识产权代理事务所(普通合伙) 11481 | 代理人: | 徐丁峰 |
| 地址: | 100084*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 神经网络 模型 分块 压缩 方法 训练 计算 装置 系统 | ||
1.一种用于神经网络的网络模型分块压缩方法,包括:
权重矩阵获得步骤,获得经过训练得到的神经网络的网络模型的权重矩阵;
权重矩阵分块步骤,按照预定阵列大小将权重矩阵划分成由若干初始子块组成的阵列;
待裁剪权值元素集中步骤,根据子块中的矩阵元素的权值绝对值和值,通过行列交换,将权值较小的矩阵元素集中到待裁剪子块中,使得该待裁剪子块中的矩阵元素的权值绝对值和值相对于不是待裁剪子块的其他子块中的矩阵元素的权值绝对值和值更小;和
子块裁剪步骤,将上述待裁剪子块中的矩阵元素的权值裁剪掉,获得最终的权重矩阵,以实现对神经网络的网络模型的压缩,
裁剪后的神经网络的网络模型应用于神经网络硬件芯片以硬件形式执行矩阵向量乘的操作时,与所述待裁剪子块中的矩阵元素所对应的位置未设置电路器件。
2.根据权利要求1所述的网络模型分块压缩方法,其中,根据压缩率或根据阈值来设定所述待裁剪子块的数量。
3.根据权利要求1所述的网络模型分块压缩方法,其中,待裁剪权值元素集中步骤包括如下步骤:
确定预裁剪子块步骤,确定作为裁剪候选的预裁剪子块;
标记行列步骤,选择并标记预裁剪子块所在的所有行和所有列作为换位行和换位列,其中,根据压缩率设定所述预裁剪子块的数量;
交换行步骤和交换列步骤,对每一行中的矩阵元素的权值绝对值求和,并且将和值小的行依次与所标记的换位行进行位置交换,以及,对每一列中的矩阵元素的权值绝对值求和,并且将和值小的列依次与所标记的换位列进行位置交换;
重复上述步骤,直到交换也不能改变所有预裁剪子块中的矩阵元素的权值绝对值的总和,此时的预裁剪子块作为待裁剪子块。
4.根据权利要求3所述的网络模型分块压缩方法,其中,确定预裁剪子块步骤还包括:计算每一个初始子块中的矩阵元素的权值绝对值的总和,将和值小的子块作为预裁剪子块。
5.一种神经网络训练方法,包括如下步骤:
对神经网络进行训练,得到网络模型的权重矩阵;
根据权利要求1-4任一项所述的网络模型分块压缩方法对所述权重矩阵进行压缩;和
迭代进行上述步骤,直至达到预定迭代中止要求。
6.一种用于神经网络计算的计算装置,包括存储器和处理器,存储器中存储有计算机可执行指令,所述计算机可执行指令包括网络模型压缩指令,当处理器执行所述网络模型压缩指令时,执行下述方法:
权重矩阵获得步骤,获得经过训练得到的神经网络的网络模型的权重矩阵;
权重矩阵分块步骤,按照预定阵列大小将权重矩阵划分成由若干初始子块组成的阵列;
待裁剪权值元素集中步骤,根据子块中的矩阵元素的权值绝对值和值,通过行列交换,将权值较小的矩阵元素集中到待裁剪子块中,使得该待裁剪子块中的矩阵元素的权值绝对值和值相对于不是待裁剪子块的其他子块中的矩阵元素的权值绝对值和值更小;
子块裁剪步骤,将上述待裁剪子块中的矩阵元素的权值裁剪掉,获得最终的权重矩阵,以实现对神经网络的网络模型的压缩,其中裁剪后的神经网络的网络模型应用于神经网络硬件芯片以硬件形式执行矩阵向量乘的操作时,与所述待裁剪子块中的矩阵元素所对应的位置未设置电路器件。
7.根据权利要求6所述的计算装置,其中,根据压缩率或根据阈值来设定所述待裁剪子块的数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780042629.4/1.html,转载请声明来源钻瓜专利网。





