[发明专利]神经网络计算的方法、电子设备、计算机可读介质在审
申请号: | 202011496466.7 | 申请日: | 2020-12-17 |
公开(公告)号: | CN114648087A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 吴臻志;祝夭龙 | 申请(专利权)人: | 北京灵汐科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 彭瑞欣;柴亮 |
地址: | 100080 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 计算 方法 电子设备 计算机 可读 介质 | ||
本公开提供了一种神经网络计算的方法,其包括:将权重矩阵分为多组,将各组中的非零权重分别存储在对应的内存片中;其中,权重矩阵为神经元的连接权重矩阵;每个组包括权重矩阵的多个连续列;内存片与组一一对应,其中存储有权重的值和位置;根据该权重矩阵对应的输入数据和内存片存储的权重计算输出数据。本公开还提供了一种电子设备、计算机可读介质。
技术领域
本公开涉及神经网络技术领域,特别涉及一种神经网络计算的方法、电子设备、计算机可读介质。
背景技术
在神经网络的使用过程中,权重矩阵的计算占据了很大的计算量。例如,在基于LIF(Leaky Integrity-and-Fire,线性积分放电)模型的脉冲神经网络中,权重矩阵的突触积分计算是主要的负载。
由此,权重矩阵的计算需要占据较大的内存空间、访问带宽、计算资源等,导致其计算开销较大。
发明内容
本公开提供一种神经网络计算的方法、电子设备、计算机可读介质。
第一方面,本公开实施例提供一种神经网络计算的方法,其包括:
将权重矩阵分为多组,将各组中的非零权重分别存储在对应的内存片中;其中,权重矩阵为神经元的连接权重矩阵;每个组包括权重矩阵的多个连续列;内存片与组一一对应,其中存储有权重的值和位置;
根据该权重矩阵对应的输入数据和内存片存储的权重计算输出数据。
在一些实施例中,每组每行最多有一个权重存储在内存片中;所述根据该权重矩阵对应的输入数据和内存片存储的权重计算输出数据包括:
重复进行以下乘法操作:将各内存片中当前的权重的值同步的分别输入至对应的乘法器,并将输入数据中对应的数据同步的输入至各乘法器;
将每次乘法操作中各乘法器输出的乘法结果根据相应权重的位置移位,将移位后位于相同位置的乘法结果累加,以计算输出数据。
在一些实施例中,所述神经网络为脉冲神经网络,所述权重矩阵为突触连接权重矩阵。
在一些实施例中,在所述将权重矩阵分为多组前,还包括:
将权重矩阵中部分列的位置互换。
在一些实施例中,每组每行有且只有一个权重存储在内存片中,且所有存储在内存片中的权重均为非零权重。
在一些实施例中,所述将各组中的非零权重分别存储在对应的内存片中包括:
响应于一组的一行中的权重均为零权重的情况,将其中的一个零权重存储在对应的内存片中。
在一些实施例中,任意组的列数相同。
在一些实施例中,所述权重的位置为权重在其所在组的所在行中的偏移。
在一些实施例中,所述将每次乘法操作中各乘法器输出的乘法结果根据相应权重的位置移位包括:将每次乘法操作中各乘法器输出的乘法结果分别输入至对应的移位器,并将各对应的权重的位置分别输入至对应的移位器;移位器根据对应的位置将乘法结果移位;
所述将移位后位于相同位置的乘法结果累加包括:将各移位器的输出分别输入至对应的累加器,累加器将位于相同位置的乘法结果累加。
第二方面,本公开实施例提供一种电子设备,包括:
处理单元,所述处理单元包括多个内存片;
存储单元,其上存储有计算机程序;
所述计算机程序被所述处理单元执行时,实现上述任意一种神经网络计算的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京灵汐科技有限公司,未经北京灵汐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011496466.7/2.html,转载请声明来源钻瓜专利网。