基于乒乓架构的稀疏脉冲神经网络加速器

文档序号:35278884发布日期:2023-08-31 22:18阅读:77来源:国知局
基于乒乓架构的稀疏脉冲神经网络加速器

本发明涉及人工智能,尤其涉及一种基于乒乓架构的稀疏脉冲神经网络加速器。


背景技术:

1、脉冲神经网络(spiking nueral network,snn)由于其具有的低功耗、高并发的特性,能够带来机器算力的提升,是一种极具潜力的计算模式,被认为是人工智能研究的未来。

2、由于脉冲神经网络中神经元的信号传导机制与传统的冯诺依曼计算机体系架构并不吻合,因此急需为脉冲神经网络设计合适的硬件加速器来运行脉冲神经网络。目前的神经形态加速器往往采用结构规则且大小固定的突触交叉阵列直接存储snn模型的突触连接矩阵,而无论突触稀疏性如何,所有的突触都会参与运算,增加了计算量,这导致snn模型的空间稀疏性无法在这种神经形态加速器上体现。另一种加速器设计方案是采用位图形式缓存输入脉冲,这会导致硬件需要判断输入脉冲向量中每一位的脉冲有效性,增加了计算时间,其结果是无法利用脉冲信号的时间稀疏性来提高硬件的运算速度。

3、可见,目前的神经网络加速器还不能充分发挥snn模型的潜在性能优势,导致功耗不够低,运算速度不够快,对于snn模型的运行能效不够高。


技术实现思路

1、本发明提供一种基于乒乓架构的稀疏脉冲神经网络加速器,用以解决现有技术中脉冲神经网络加速器中要么所有突触都参与运算要么输入的脉冲信号中的每一个符号都要参与运算从而导致芯片功耗大、计算量大的缺陷,实现脉冲神经网络的低功耗、低延迟运行。

2、本发明提供一种基于乒乓架构的稀疏脉冲神经网络加速器,包括脉冲输入接口、权值和神经元参数输入接口、稀疏脉冲检测模块、压缩权重计算模块、泄漏积分发放模块;其中,

3、所述脉冲输入接口,用于接收脉冲输入信号,并将所述脉冲输入信号输入至稀疏脉冲检测模块;

4、所述权值和神经元参数输入接口,用于接收压缩权重值,并将所述压缩权重值输入至所述压缩权重计算模块;

5、所述稀疏脉冲检测模块,用于从所述脉冲输入信号中提取有效脉冲索引;所述有效脉冲索引用于表征所述脉冲输入信号中非零值的位置;

6、所述压缩权重计算模块,用于根据所述有效脉冲索引,对所述压缩权重值进行解压得到有效权值矩阵;计算所述有效权值矩阵与所述脉冲输入信号的加权和,得到每一神经元上的膜电位增量;利用所述每一神经元上的膜电位增量更新与所述每一神经元对应的膜电位累积量;

7、所述泄漏积分发放模块,用于判断更新后的膜电位累积量与预设阈值的大小关系,根据所述大小关系确定与所述每一神经元对应的输出脉冲结果。

8、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,还包括脉冲缓存模块组;所述脉冲缓存模块组包括第一脉冲缓存模块和第二脉冲缓存模块;

9、所述脉冲缓存模块组,用于以乒乓切换的方式控制每一缓存周期内第一脉冲缓存模块和第二脉冲缓存模块的读写状态,以使每一缓存周期内其中一个脉冲缓存模块处于读状态,另一个脉冲缓存模块处于写状态。

10、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,还包括权重缓存模块组;所述权重缓存模块组包括第一权重缓存模块和第二权重缓存模块;

11、所述权重缓存模块组,用于以乒乓切换的方式控制每一缓存周期内第一权重缓存模块和第二权重缓存模块的读写状态,以使每一缓存周期内其中一个权重缓存模块处于读状态,另一个权重缓存模块处于写状态。

12、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,还包括神经元参数缓存模块组;所述神经元参数缓存模块组包括第一神经元参数缓存模块和第二神经元参数缓存模块;

13、所述神经元参数缓存模块组,用于以乒乓切换的方式控制每一缓存周期内第一神经元参数缓存模块和第二神经元参数缓存模块的读写状态,以使每一缓存周期内其中一个神经元参数缓存模块处于读状态,另一个神经元参数缓存模块处于写状态。

14、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,所述稀疏脉冲检测模块,进一步用于将所述脉冲输入信号对应的脉冲输入序列分为多组子序列;

15、依次将每一组子序列与其自身进行按位或操作,得到按位或操作结果;若所述按位或操作结果为全0,则结束当前组子序列的运算;

16、若所述按位或操作结果不为全0,则将所述按位或操作结果作为当前待检测序列,对当前待检测序列进行多轮检测,每一轮检测中,将当前待检测序列减1后得到差值;将所述差值与当前待检测序列进行按位与操作后得到按位与操作结果;将所述按位与操作结果与当前待检测序列进行按位异或操作后得到有效脉冲独热码;将所述有效脉冲独热码进行二进制转换后得到有效脉冲索引;判断所述按位与操作结果是否为全0,若是,则结束当前待检测序列的检测,并返回所述依次将每一组子序列与其自身进行按位或操作,得到按位或操作结果的步骤;若否,则将所述按位与操作结果作为当前待检测序列,返回所述将当前检测序列减1后得到差值的步骤。

17、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,所述压缩权重计算模块包括行偏移计算模块、列索引权值计算单元、列索引编码模块、非零权值模块、权值分配器和处理单元阵列;其中,

18、所述行偏移运算单元,用于获取当前行的行偏移和与当前行相邻的下一行的行偏移;

19、所述列索引权值运算单元,用于解析所述当前行的行偏移和所述与当前行相邻的下一行的行偏移得到所述列索引编码模块和所述非零权值模块的起始地址和结束地址;根据所述起始地址和所述结束地址,从所述列索引编码模块和所述非零权值模块中获取非零权值和列索引delta编码;

20、所述权值分配器,包括预设数量的加法器构成的加法器链,所述加法器链用于将所述非零权值和所述delta编码作为处理单元阵列的输入;

21、所述处理单元阵列,包括预设数量的处理单元,每个处理单元利用加法器进行运算,根据所述加法器的运算结果更新所述膜电位累积量。

22、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,所述列索引权值运算单元,还用于在所述起始地址超过所述结束地址的情况下,结束当前行的处理。

23、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,每个处理单元中还包括权值掩码生成模块、多路选择器和加法器;

24、所述权值掩码生成模块,用于根据权值分布状态生成权值掩码;

25、所述处理单元,还用于将所述权值掩码、所述非零权值作为多路选择器的输入,使得所述多路选择器根据所述权值掩码过滤后得到有效非零值,并将所述有效非零值和所述膜电位累积量作为加法器的输入,得到所述加法器输出的所述更新后的膜电位累积量。

26、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,所述泄漏积分发放模块,进一步用于将所述更新后的膜电位累积量与预设泄漏值相加后得到泄漏积分值;若所述泄漏积分值大于所述预设阈值,则确定所述输出脉冲结果为发放脉冲信号;若所述泄漏积分值小于或等于预设阈值,则确定所述脉冲结果为不发放脉冲。

27、根据本发明提供的一种基于乒乓架构的稀疏脉冲神经网络加速器,还包括脉冲输出接口;

28、所述泄漏积分发放模块,进一步用于在判断所述更新后的膜电位累积量大于所述预设阈值的情况下,向所述脉冲输出接口发送所述更新后的膜电位累积量,并将所述膜电位累积量复位。

29、本发明提供的基于乒乓架构的稀疏脉冲神经网络加速器,通过传输压缩权重值至压缩权重计算模块,使用稀疏脉冲检测模块从脉冲输入信号中提取有效脉冲索引,避免了后续每一位脉冲信号都参与运算,减少了计算量,压缩权重计算模块根据有效脉冲索引将上述压缩权重值中的非零值累加至神经元的膜电位上,最终决定是否发放脉冲或不发放脉冲。与传统的突触交叉阵列中所有突触都被激活并参与运算相比,本发明中仅对有效脉冲索引对应的突触权重进行激活,其他突触都不参与运算,从而减少了计算量,降低了整个芯片的运行功耗,提高了脉冲神经网络的运行速度、能效和面积效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1