神经网络加速器、神经网络加速方法、设备及介质与流程
- 国知局
- 2024-08-19 14:22:23
本发明涉及计算机,尤其涉及一种神经网络加速器、神经网络加速方法、设备及介质。
背景技术:
1、随着人工智能的发展以及相关技术水平的提升,神经网络所需要的计算力也越来越高,为了加速对神经网络的运算,有必要提供一种神经网络加速器。
2、通常,神经网络加速器中不仅需要采用至少一个用于加法计算的计算单元实现脉冲累加卷积操作,还需要使用用于乘法计算的计算单元对缓存所有的电压值计时进行乘法更新,以保证神经网络计算的完整信息,由此导致神经网络加速器所需的硬件资源成本较高。
3、因此,亟需一种神经网络加速器、神经网络加速方法、设备及介质来解决上述技术问题。
技术实现思路
1、本发明提供一种神经网络加速器、神经网络加速方法、设备及介质,用以解决现有技术中需要多个不同功能的计算单元实现神经网络加速计算,导致神经网络加速器所需的硬件资源成本较高的缺陷,实现降低神经网络加速器的硬件资源成本。
2、本发明提供一种神经网络加速器,包括计算阵列单元和比较器;
3、所述比较器,与所述计算阵列单元连接,用于接收所述计算阵列单元发送的目标电压值,并将所述目标电压值与电压阈值进行比较,在所述目标电压值小于所述电压阈值的情况下,向所述计算阵列单元发送更新指令;所述目标电压值是由所述计算阵列单元根据包含脉冲信号的目标特征数据进行卷积累加计算获取的;
4、所述计算阵列单元,用于在接收到所述更新指令的情况下,将所述目标电压值与所述目标电压值在当前时间点的目标衰减系数,按照比特位进行清零选择操作、移位操作和累加计算操作,得到新的目标电压值,继续将所述新的目标电压值传输至所述比较器,直到确定新的目标电压值大于所述电压阈值。
5、根据本发明提供的一种神经网络加速器,所述神经网络加速器还包括第一缓存器,所述第一缓存器包括膜电压缓存区间和衰减系数缓存区间;
6、所述计算阵列单元,与所述第一缓存器连接,还用于:
7、在接收到所述更新指令的情况下,根据所述目标特征数据的位置信息,在所述膜电压缓存区间中,获取所述目标电压值的缓存位置;
8、根据所述缓存位置,将所述目标电压值更新至所述膜电压缓存区间中;
9、根据所述更新指令,获取所述目标电压值;
10、在所述衰减系数缓存区间中,获取所述目标衰减系数;
11、对所述目标电压值中每一比特位执行如下操作:
12、在当前比特位的值为0的情况下,对所述目标衰减系数进行清零操作,得到所述当前比特位对应的电压值;
13、在所述当前比特位的值为1的情况下,获取所述目标衰减系数中的有效数据,以及所述当前比特位的位置编号,并根据所述当前比特位的位置编号,对所述有效数据进行位移操作,得到所述当前比特位对应的电压值;
14、将各所述比特位对应的电压值进行逐位累加计算,得到所述新的目标电压值。
15、根据本发明提供的一种神经网络加速器,所述计算阵列单元,还用于:
16、判断所述当前时间点是否属于无脉冲信息传输的时间区间;
17、在判断获知所述当前时间点属于无脉冲信息传输的时间区间的情况下,根据所述更新指令,获取所述目标电压值;或者,
18、在判断获知所述当前时间点属于脉冲信息传输的时间区间的情况下,获取所述当前时间点传输的包含脉冲信号的其他特征数据,对所述其他特征数据进行卷积累计计算,并将卷积累计计算得到的其他电压值发送至所述比较器,以供所述比较器根据所述其他电压值进行电压比较。
19、根据本发明提供的一种神经网络加速器,所述计算阵列单元,还用于:
20、根据所述目标特征数据的位置信息与衰减系数之间的关联关系,以及所述当前时间点与衰减系数之间的关联关系,在所述衰减系数缓存区间中关联获取所述目标衰减系数。
21、根据本发明提供的一种神经网络加速器,所述比较器,还用于在所述目标电压值大于或等于所述电压阈值的情况下,向所述计算阵列单元发送清零指令;
22、所述计算阵列单元,还用于在接收到所述清零指令的情况下,将所述目标电压值对应的脉冲信息输出,并根据所述清零指令,获取所述目标电压值的缓存位置,将所述膜电压缓存区间中所述缓存位置处的电压值清零。
23、根据本发明提供的一种神经网络加速器,所述神经网络加速器还包括第二缓存器;
24、所述计算阵列单元,与所述第二缓存器连接,还用于:
25、在脉冲信息传输的时间区间内获取到所述目标特征数据的情况下,根据所述目标特征数据的位置信息,在所述第二缓存器中获取所述目标特征数据对应的权重矩阵;
26、根据所述目标特征数据中每一比特位的值,对所述权重矩阵进行权重参数选择操作或清零操作,得到各比特位对应的目标权重参数;
27、对各比特位对应的目标权重参数进行累加操作;
28、根据累加操作结果,获取所述目标电压值。
29、本发明还提供一种神经网络加速方法,应用于如上述任一项所述神经网络加速器,所述方法包括:
30、通过比较器接收计算阵列单元发送的目标电压值,并将所述目标电压值与电压阈值进行比较,在所述目标电压值小于所述电压阈值的情况下,向所述计算阵列单元发送更新指令;所述目标电压值是由所述计算阵列单元根据包含脉冲信号的目标特征数据进行卷积累加计算获取的;
31、在接收到所述更新指令的情况下,通过所述计算阵列单元将所述目标电压值与所述目标电压值在当前时间点的目标衰减系数,按照比特位进行清零选择操作、移位操作和累加计算操作,得到新的目标电压值,继续将所述新的目标电压值传输至所述比较器,直到确定新的目标电压值大于所述电压阈值。
32、根据本发明提供的一种神经网络加速方法,所述通过所述计算阵列单元将所述目标电压值与所述目标电压值在当前时间点的目标衰减系数,按照比特位进行清零选择操作、移位操作以及累加计算操作,得到新的目标电压值,包括:
33、在判断获知所述当前时间点属于无脉冲信息传输的时间区间的情况下,根据所述更新指令,获取所述目标电压值;
34、在衰减系数缓存区间中,获取所述目标衰减系数;
35、对所述目标电压值中每一比特位执行如下操作:
36、在当前比特位的值为0的情况下,对所述目标衰减系数进行清零操作,得到所述当前比特位对应的电压值;
37、在所述当前比特位的值为1的情况下,获取所述目标衰减系数中的有效数据,以及所述当前比特位的位置编号,并根据所述当前比特位的位置编号,对所述有效数据进行位移操作,得到所述当前比特位对应的电压值;
38、将各所述比特位对应的电压值进行逐位累加计算,得到所述新的目标电压值。
39、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述神经网络加速方法。
40、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述神经网络加速方法。
41、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述神经网络加速方法。
42、本发明提供的神经网络加速器、神经网络加速方法、设备及介质,通过设置单一计算阵列单元,不仅可以根据包含脉冲信号的目标特征数据进行卷积累加计算,以得到目标电压值,而且还可以与比较器交互,以在依据交互信息确定目标电压值小于电压阈值时,将目标电压值与目标电压值在当前时间点的目标衰减系数,按照比特位进行清零选择操作、移位操作和累加计算操作,以实现非线性衰减计算,由此实现通过单一加速阵列结构,即可实现脉冲卷积计算和衰减计算,无需使用额外的乘法硬件模块,提高了脉冲神经网络计算的硬件资源使用率,降低了加速器的设计面积和硬件资源成本,进而有效提高了神经网络推理计算的加速性能。
本文地址:https://www.jishuxx.com/zhuanli/20240819/274938.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表