[发明专利]神经网络计算的方法、电子设备、计算机可读介质在审
申请号: | 202011491589.1 | 申请日: | 2020-12-17 |
公开(公告)号: | CN114648086A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 吴臻志;金罗军 | 申请(专利权)人: | 北京灵汐科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 彭瑞欣;柴亮 |
地址: | 100080 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 计算 方法 电子设备 计算机 可读 介质 | ||
1.一种神经网络计算的方法,其包括:
将权重矩阵分为多组,将各组中的非零权重分别存储在对应的内存片中;其中,权重矩阵为神经元的连接权重矩阵;每个组包括权重矩阵的多个连续列;内存片与组一一对应,其中存储有非零权重的值和位置;
重复进行以下乘法操作:将各内存片中当前行的非零权重分别输入至解压器,解压器在各组的当前行中无非零权重的位置补充零权重得到各组的还原当前行,并将各还原当前行分别输入至对应的乘法器阵列;将输入数据中对应当前行的数据分别输入至各乘法器阵列;
将每次乘法操作中各乘法器阵列输出的乘法结果累加,以计算输出数据。
2.根据权利要求1所述的方法,其中,
所述神经网络为脉冲神经网络,所述权重矩阵为突触连接权重矩阵。
3.根据权利要求1所述的方法,其中,在所述将权重矩阵分为多组前,还包括:
将权重矩阵中部分列的位置互换;
和/或,
将权重矩阵中部分行的位置互换。
4.根据权利要求1所述的方法,其中,
所述权重矩阵的稀疏度大于或等于50%。
5.根据权利要求1所述的方法,其中,
任意两个组间稀疏度的差别不超过10%。
6.根据权利要求1所述的方法,其中,
任意组的列数相同。
7.根据权利要求1所述的方法,其中,
所述非零权重的位置为非零权重在其所在组中的偏移。
8.根据权利要求1所述的方法,其中,
至少部分所述乘法器阵列为复用乘法器阵列;
每个所述复用乘法器阵列中乘法器的个数小于其对应的组的列数,并通过其中至少部分乘法器的分时复用实现复用乘法器阵列。
9.根据权利要求1所述的方法,其中,
所述将每次乘法操作中各乘法器阵列输出的乘法结果累加包括:将每次乘法操作中各乘法器阵列输出的乘法结果分别输入至对应的累加器,累加器将所述乘法结果累加。
10.根据权利要求1所述的方法,其中,所述将各内存片中当前行的非零权重分别输入至解压器包括:
各内存缓冲区分别从对应的内存片获取非零权重,并根据获取的非零权重的位置确定当前行中的非零权重,将当前行中的非零权重输入至解压器。
11.根据权利要求10所述的方法,其中,所述乘法操作还包括:
更新器确定各内存缓冲区中的非零权重所在的行,在所有内存缓冲区将当前行的非零权重处理完毕后,更新器控制各内存缓冲区更新当前行。
12.一种电子设备,包括:
处理单元,所述处理单元包括:多个内存片、解压器、与内存片一一对应的多个乘法器阵列;
存储单元,其上存储有计算机程序;
所述计算机程序被所述处理单元执行时,实现权利要求1至11中任意一项所述的神经网络计算的方法。
13.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1至11中任意一项所述的神经网络计算的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京灵汐科技有限公司,未经北京灵汐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011491589.1/1.html,转载请声明来源钻瓜专利网。