一种脉冲神经网络加速器制造技术

技术编号:35577800 阅读:16 留言:0更新日期:2022-11-12 16:03
本申请公开了一种脉冲神经网络加速器,控制器在接收到输入数据后驱动时间步生成器生成时间步t;脉冲编码单元基于时间步t将输入数据编码为下一个时间步t+1的脉冲数据;调度器对脉冲数据进行解码后存储到FIFO阵列中;控制器基于当前时间步从FIFO阵列中读取脉冲源地址发送给神经元计算单元;神经元计算单元根据脉冲源地址从状态存储器中读取对应的神经元状态数据,以对对应层的神经元进行状态更新,将更新后的状态数据写回状态存储器中,并将输出的脉冲数据发送给调度器进行存储,以便下一层神经元进行状态更新,改善了现有的加速器在硬件实现上无法确定当前时间下是否剩余未处理的事件,导致加速器的性能较低的技术问题。导致加速器的性能较低的技术问题。导致加速器的性能较低的技术问题。

【技术实现步骤摘要】
一种脉冲神经网络加速器


[0001]本申请涉及脉冲神经网络加速
,尤其涉及一种脉冲神经网络加速器。

技术介绍

[0002]人工智能技术及应用在日常生活中发挥着重大的作用,其中以脉冲神经网络为基础的模型在分类、回归以及目标检测等领域展示极高的准确度以及性能,能够较准确地模拟人类大脑神经网络的运行机制,且随着网络层数的加深,对系统资源的消耗较少,利于推进人工智能应用的发展。
[0003]现有的硬件脉冲神经网络驱动算法普遍为事件驱动,在硬件实现上无法确定当前时间下是否属于未处理的事件,导致加速器的性能较低。

技术实现思路

[0004]本申请提供了一种脉冲神经网络加速器,用于改善现有的加速器在硬件实现上无法确定当前时间下是否剩余未处理的事件,导致加速器的性能较低的技术问题。
[0005]有鉴于此,本申请第一方面提供了一种脉冲神经网络加速器方法,包括:
[0006]所述控制器,用于在接收到输入数据后驱动所述时间步生成器生成时间步t,并将时间步t和输入数据发送给所述脉冲编码器单元;
[0007]所述脉冲编码单元,用于基于时间步t将输入数据编码为下一个时间步t+1的脉冲数据,并将所述脉冲数据发送给所述控制器,由所述控制器将所述脉冲数据发送给所述调度器;
[0008]所述调度器,用于对所述脉冲数据进行解码得到脉冲源地址和时间步t+1,并将脉冲源地址和时间步t+1存储到FIFO阵列中;
[0009]所述控制器还用于基于当前的时间步从所述FIFO阵列中读取脉冲源地址,并将该脉冲源地址发送给所述神经元计算单元;
[0010]所述神经元计算单元,用于根据脉冲源地址从所述状态存储器中读取对应的神经元状态数据,根据所述神经元状态数据对对应层的神经元进行状态更新,将更新后的状态数据写回所述状态存储器中,并将输出的脉冲数据发送给所述调度器进行存储,以便下一层神经元进行状态更新。
[0011]可选的,所述脉冲编码单元包括:伪随机数生成器和泊松编码器;
[0012]所述伪随机数生成器,用于在接收到时间步后,随机生成0到1之间的随机数;
[0013]所述泊松编码器,用于基于所述随机数对输入数据进行泊松编码,生成下一个时间步t+1的脉冲数据。
[0014]可选的,所述脉冲编码单元,还用于在编码完下一个时间步t+1的输入数据后,触发所述时间步生成器生成下一个时间步t+1。
[0015]可选的,还包括:延迟存储单元和突触延迟计算单元;
[0016]所述延迟存储单元,用于存储目标神经元的突触延迟时间;
[0017]所述突触延迟计算单元,用于根据所述目标神经元的突触延迟和当前时间步计算目标时间步,将所述目标神经元的目标时间步发送给所述调度器,由所述调度器根据所述目标神经元的脉冲源地址和所述目标时间步进行存储。
[0018]可选的,所述神经元计算单元,具体用于:
[0019]当神经元为IF或LIF神经元时,基于四级流水线根据脉冲源地址从所述状态存储器中读取对应的神经元状态数据,根据所述神经元状态数据计算脉冲神经网络参数,基于脉冲神经网络参数更新神经元状态,以及将更新后的神经元状态写回到所述状态存储器中;
[0020]当神经元为Izhikevich神经元时,基于六级流水线根据脉冲源地址从所述状态存储器中读取对应的神经元状态数据,根据所述神经元状态数据计算脉冲神经网络参数,基于脉冲神经网络参数更新神经元状态,以及将更新后的神经元状态写回到所述状态存储器中。
[0021]可选的,当神经元为LIF神经元时,所述脉冲神经网络参数包括基于一阶欧拉方法计算的LIF神经元的膜电位电压,计算公式为:
[0022][0023][0024][0025]β1=α
·
V[n],
[0026]式中,V[n]为当前时刻的膜状态,V[n+1]为所求的膜电位大小,为采用一阶欧拉方法求得的膜电位电压,t
n
为计算时的第n个离散时间步,v
n
为输入膜电位大小,α为神经元膜电阻产生的电压受神经元此时膜电位的影响大小,f1(t,v)为第一目标方程,f2(t,v)为第二目标方程,β1、β2为不同阶段V的大小偏置,V
reset
为神经元静息电位,h为时间步,τ
m
为时间常数。
[0027]可选的,当神经元为Izhikevich神经元时,所述脉冲神经网络参数包括基于一阶欧拉方法计算的Izhikevich神经元的膜电位电压,计算公式为:
[0028]V[n+1]=(0.04V2+5V+140

U+I)
·
h;
[0029]U[n+1]=[a(bV

U)]·
h;
[0030]式中,V为所求的膜电位电压,U为膜电位恢复变量,I为神经元的输入电流,h为时间步,a、b、c、d为神经元的模型参数,V
threhold
为膜电压阈值。
[0031]可选的,所述状态存储器包括用于存储神经元的权重的权重存储器和用于存储神经元参数的神经元参数存储单元。
[0032]可选的,所述调度器中的FIFO阵列为16个并行的FIFO阵列。
[0033]从以上技术方案可以看出,本申请具有以下优点:
[0034]本申请提供了一种脉冲神经网络加速器,包括:脉冲编码单元、控制器、时间步生成器、调度器、状态存储器和神经元计算单元;控制器,用于在接收到输入数据后驱动时间步生成器生成时间步t,并将时间步t和输入数据发送给脉冲编码器单元;脉冲编码单元,用
于基于时间步t将输入数据编码为下一个时间步t+1的脉冲数据,并将脉冲数据发送给控制器,由控制器将脉冲数据发送给调度器;调度器,用于对脉冲数据进行解码得到脉冲源地址和时间步t+1,并将脉冲源地址和时间步t+1存储到FIFO阵列中;控制器还用于基于当前的时间步从FIFO阵列中读取脉冲源地址,并将该脉冲源地址发送给神经元计算单元;神经元计算单元,用于根据脉冲源地址从状态存储器中读取对应的神经元状态数据,根据神经元状态数据对对应层的神经元进行状态更新,将更新后的状态数据写回状态存储器中,并将输出的脉冲数据发送给调度器进行存储,以便下一层神经元进行状态更新。
[0035]本申请中,采用脉冲编码的时间步比时间步生成器产生的时间步延迟一个时间步,使得神经元计算单元在计算t时刻的输入脉冲时,脉冲编码单元在编码t+1时刻的脉冲,从而神经元计算单元在t时刻时便可以直接得到待计算的脉冲,而无需等待编码,提高了计算效率,通过时间步可以确定当前时间下的脉冲是否计算完成,从而改善了现有的加速器在硬件实现上无法确定当前时间下是否剩余未处理的事件,导致加速器的性能较低的技术问题。
附图说明
[0036]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脉冲神经网络加速器,其特征在于,包括:脉冲编码单元、控制器、时间步生成器、调度器、状态存储器和神经元计算单元;所述控制器,用于在接收到输入数据后驱动所述时间步生成器生成时间步t,并将时间步t和输入数据发送给所述脉冲编码器单元;所述脉冲编码单元,用于基于时间步t将输入数据编码为下一个时间步t+1的脉冲数据,并将所述脉冲数据发送给所述控制器,由所述控制器将所述脉冲数据发送给所述调度器;所述调度器,用于对所述脉冲数据进行解码得到脉冲源地址和时间步t+1,并将脉冲源地址和时间步t+1存储到FIFO阵列中;所述控制器还用于基于当前的时间步从所述FIFO阵列中读取脉冲源地址,并将该脉冲源地址发送给所述神经元计算单元;所述神经元计算单元,用于根据脉冲源地址从所述状态存储器中读取对应的神经元状态数据,根据所述神经元状态数据对对应层的神经元进行状态更新,将更新后的状态数据写回所述状态存储器中,并将输出的脉冲数据发送给所述调度器进行存储,以便下一层神经元进行状态更新。2.根据权利要求1所述的脉冲神经网络加速器,其特征在于,所述脉冲编码单元包括:伪随机数生成器和泊松编码器;所述伪随机数生成器,用于在接收到时间步t后,随机生成0到1之间的随机数;所述泊松编码器,用于基于所述随机数对输入数据进行泊松编码,生成下一个时间步t+1的脉冲数据。3.根据权利要求1所述的脉冲神经网络加速器,其特征在于,所述脉冲编码单元,还用于在编码完下一个时间步t+1的输入数据后,触发所述时间步生成器生成下一个时间步t+1。4.根据权利要求1所述的脉冲神经网络加速器,其特征在于,还包括:延迟存储单元和突触延迟计算单元;所述延迟存储单元,用于存储目标神经元的突触延迟时间;所述突触延迟计算单元,用于根据所述目标神经元的突触延迟和当前时间步计算目标时间步,将所述目标神经元的目标时间步发送给所述调度器,由所述调度器根据所述目标神经元的脉冲源地址和所述目标时间步进行存储。5.根据权利要求1所述的脉冲神经网络加速器,其特征在于,所述神经元计算单元,具体用于:当神经元为IF或LIF神经元时,基于四级流水线根据脉冲源地址从所述状态存储器中读取对应的神经元状态数据,根据所述神经元状态数据计算脉冲神经网络参数,基于...

【专利技术属性】
技术研发人员:刘怡俊陈岳海叶武剑
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1