脉冲神经网络加速器

文档序号:37648419发布日期:2024-04-18 20:22阅读:10来源:国知局
脉冲神经网络加速器

本公开涉及神经网络,更具体地,涉及一种脉冲神经网络加速器。


背景技术:

1、spinal flow是一种基于时间编码的脉冲神经网络加速器架构,它所能部署的网络的神经元最多只发射一个脉冲,因此具有巨大的能效优势。但是正因为每个神经元最多只能发射一个脉冲,所能传递的信息很有限,会有较大的误差并且误差会随着网络层数的增加而增加,所以只能部署简单的浅层网络来处理简单任务比如minist数据集的识别任务。

2、在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:相关技术中的脉冲神经网络加速器在实际使用中由于网络权重的访存功耗较大,从而使得计算效率较低。


技术实现思路

1、有鉴于此,本公开实施例提供了一种脉冲神经网络加速器,包括:

2、控制芯片;

3、片外缓冲器,用于存储图像数据和多层网络权重;

4、在推理过程中,图像数据被加载到左侧的片上缓冲器中,当计算单元接收到数据后上述计算单元基于网络权重对上述图像数据进行计算以生成中间特征图,并将上述中间特征图存储在右侧的片上缓冲器中,从而完成神经网络的第一层推理;在下一层推理时,右侧的片上缓冲器中的中间特征图作为上述计算单元的输入以进行计算,计算得到的中间特征图被存储在左侧的片上缓冲器中,通过两个片上缓存器中存储的图像数据或中间特征图交替地作为上述计算单元的输入和输出模块,直到推理结束;

5、其中,上述计算单元中的每个加速单元包括m*n个处理单元,每行上述处理单元用于并行计算单个输出神经元在所有时间点的状态,并得到上述输出神经元的脉冲输出结果,脉冲输出结果被存入片上缓冲器,上述脉冲输出结果表征上述中间特征图;不同行的处理单元对应不同的输出神经元,不同的加速单元对应不同的输出通道。

6、根据本公开的实施例,上述输出神经元生成上述脉冲输出结果的方式如下:

7、针对每个时间点,根据多个目标权重、脉冲系数和脉冲生成参数,生成脉冲积分值,其中,上述目标权重表征上述输出神经元与生成上一层推理得到的中间特征图的关联输出神经元之间的权重,上述脉冲系数为2的p次方,上述脉冲生成参数为表征是否有脉冲生成的第一数值或第二数值,其中,上述第一数值表征上述时间点有上述中间特征图的生成;

8、根据上述脉冲积分值和上述输出神经元在当前时间点的阈值电压,生成上述脉冲输出结果。

9、根据本公开的实施例,根据上述脉冲积分值和上述输出神经元在当前时间点的阈值电压,生成上述脉冲输出结果,包括:

10、根据上述脉冲积分值和上述输出神经元的初始膜电位,生成上述输出神经元在当前时间点的目标膜电位,其中,上述初始膜电位表征前一时间点的输出神经元的膜电位;

11、在上述目标膜电位不小于上述阈值电压的情况下,生成一个当前时间点的膜电压累计值;

12、对多个时间点下的多个上述膜电压累计值进行累加求和处理,生成所脉冲输出结果。

13、根据本公开的实施例,上述脉冲积分值pj(t)如公式(1)所示,上述目标膜电位vj(t)如公式(2)所示,上述膜电压累计值sj(t)如公式(3)所示:

14、

15、vj(t)=vj(t-1)+pj(t) (2)

16、sj(t)=[vj(t)-vth(t)] ? 1∶ 0 ; (3)

17、其中,m为上一层网络的关联输出神经元的数量,wij为上述输出神经元j与关联输出神经元i之间的权重,d(t)为第t时间点下的脉冲系数,si(t)为脉冲生成参数;vj(t-1)为初始膜电位,当t=1时,vj(t-1)=0,vth(t)为上述阈值电压,?为双目运算符,即在vj(t)≥vth(t)时,输出sj(t)=1,否则输出sj(t)=0。

18、根据本公开的实施例,上述每行上述处理单元中的每个处理单元通过时间并行处理技术处理中间特征图或图像数据中一个时间点下的数据。

19、根据本公开的实施例,上述处理单元包括:

20、多个输入线路,上述输入线路用于接收待处理数据,其中,上述待处理数据包括上述中间特征图或图像数据;

21、或门,用于根据多个上述待处理数据生成目标电平;

22、数据选择器,用于从上述控制芯片分配的多个初始权重生成目标权重;

23、与门,用于对上述目标电平和上述目标权重进行相与操作,得到有效值;

24、第一累加器,对上述有效值和膜电位增量进行累加处理,生成累加值;

25、第二累加器,用于根据上述累加值,生成上述膜电位增量;

26、脉冲生成器,用于根据上述膜电位增量,生成上述脉冲输出结果。

27、根据本公开的实施例,上述根据多个上述待处理数据生成目标电平,包括:

28、在多个上述待处理数据中任意一个存在脉冲信号的情况下,输出上述目标电平。

29、根据本公开的实施例,从上述控制芯片分配的多个初始权重生成目标权重,包括:

30、利用上述控制芯片将多个上述网络权重分配至上述处理单元,其中,上述初始权重表征上述网络权重;

31、基于多个上述待处理数据,从多个上述网络权重中确定与每个上述待处理数据对应的中间权重;

32、根据多个上述中间权重,生成上述目标权重。

33、根据本公开的实施例,神经网络加速器中计算单元的每一行处理单元通过并行计算单个输出神经元在所有时间点的状态,并得到所述输出神经元的脉冲输出结果,能够减少消除神经元电路中的移位单元,同时减少了网络权重的移动。本公开的脉冲神经网络加速器能够加速脉冲神经网络,其通过时间并行技术减少了网络权重的访存功耗。



技术特征:

1.一种脉冲神经网络加速器,包括:

2.根据权利要求1所述的脉冲神经网络加速器,其中,所述输出神经元生成所述脉冲输出结果的方式如下:

3.根据权利要求2所述的脉冲神经网络加速器,其中,根据所述脉冲积分值和所述输出神经元在当前时间点的阈值电压,生成所述脉冲输出结果,包括:

4.根据权利要求3所述的脉冲神经网络加速器,其中,所述脉冲积分值pj(t)如公式(1)所示,所述目标膜电位vj(t)如公式(2)所示,所述膜电压累计值sj(t)如公式(3)所示:

5.根据权利要求1所述的脉冲神经网络加速器,其中,所述每行所述处理单元中的每个处理单元通过时间并行处理技术处理中间特征图或图像数据中一个时间点下的数据。

6.根据权利要求1所述的脉冲神经网络加速器,其中,所述处理单元包括:

7.根据权利要求6所述的脉冲神经网络加速器,其中,所述根据多个所述待处理数据生成目标电平,包括:

8.根据权利要求6所述的脉冲神经网络加速器,其中,从所述控制芯片分配的多个初始权重生成目标权重,包括:


技术总结
本公开提供了一种脉冲神经网络加速器,包括控制芯片;片外缓冲器;在推理过程中,当计算单元接收到数据后计算单元基于网络权重对图像数据进行计算以生成中间特征图并存储在右侧的片上缓冲器中;在下一层推理时右侧的片上缓冲器中的中间特征图作为输入以进行计算,计算得到的中间特征图被存储在左侧的片上缓冲器中,通过两个片上缓存器中存储的图像数据或中间特征图交替地作为计算单元的输入和输出模块,直到推理结束;计算单元中的每个加速单元包括m*n个处理单元,每行处理单元用于并行计算单个输出神经元在所有时间点的状态,并得到输出神经元的脉冲输出结果;不同行的处理单元对应不同的输出神经元,不同的加速单元对应不同的输出通道。

技术研发人员:张越,康一
受保护的技术使用者:中国科学技术大学
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1