一种可重构的自主学习脉冲神经网络处理器制造技术

技术编号:26531837 阅读:135 留言:0更新日期:2020-12-01 14:13
本发明专利技术提供一种可重构的自主学习脉冲神经网络处理器,包括由多个处理单元组成的处理单元阵列及东、南、西、北四个方向的通道;处理单元包括外部路由模块、排序模块、脉冲队列模块、控制器模块、搜索模块、存储器模块、客户端模块、服务器模块、内部路由模块、多个独占计算资源和多个可借用计算资源;处理器采用由脉冲产生时间和源神经元ID组成的脉冲包传输信号;计算资源执行计算的模式分为推理模式和学习模式,采用可重构的电路更新目的神经元膜电位、突触权值相关变量或突触权值;计算资源包括自适应的clock‑driven与event‑driven计算机制模块,根据更新时间间隔,自适应改变计算单元执行更新计算的计算方式。

【技术实现步骤摘要】
一种可重构的自主学习脉冲神经网络处理器
本专利技术涉及脉冲神经网络
,尤其涉及一种可重构的自主学习脉冲神经网络处理器。
技术介绍
神经网络是根据生物脑部神经系统特点抽象出来的数学模型,可用来解决物体识别等实际问题,其发展过程可分为三代:感知机(Perceptron)、人工神经网络(ArtificialNeuralNetwork,ANN)、脉冲神经网络(SpikingNeuralNetwork,SNN)。早期的感知机仅能够解决线性问题,对非线性问题(如异或问题)则无能为力;ANN在感知机的基础上增加了非线性的激活函数,使其能够解决非线性的问题。近年来,随着计算机计算能力的提升,ANN在一些复杂问题的解决上有较好的表现,但随着问题复杂度的提高,需要更深的网络才能解决问题,这导致完成任务的功耗和硬件开销大大增大,且ANN学习算法的计算量大,导致其难以实现在线学习。为降低网络运行的功耗和硬件资源使用,科研人员提出了SNN的概念。一方面,SNN从人脑神经元更底层的生理特征进行建模,仅在有输入时才更新网络部分神经元,相比于ANN每个时刻更新网络全部神本文档来自技高网...

【技术保护点】
1.一种可重构的自主学习脉冲神经网络处理器,其特征在于,包括由多个处理单元组成的处理单元阵列,以及分布在处理单元阵列周围的东向通道、南向通道、西向通道、北向通道;所述处理单元包括数据端口、控制端口、外部路由模块、排序模块、脉冲队列模块、控制器模块、搜索模块、存储器模块、客户端模块、服务器模块、内部路由模块和多个计算资源;所述多个计算资源中一部分为独占计算资源,其余为可借用计算资源;/n处理单元的外部路由模块通过数据端口与指定处理单元的外部路由模块连接,指定处理单元发送脉冲包至处理单元的外部路由模块,所述脉冲包由脉冲产生时间和源神经元ID组成;外部路由模块根据预先配置的路由表查询脉冲包是否需要进...

【技术特征摘要】
1.一种可重构的自主学习脉冲神经网络处理器,其特征在于,包括由多个处理单元组成的处理单元阵列,以及分布在处理单元阵列周围的东向通道、南向通道、西向通道、北向通道;所述处理单元包括数据端口、控制端口、外部路由模块、排序模块、脉冲队列模块、控制器模块、搜索模块、存储器模块、客户端模块、服务器模块、内部路由模块和多个计算资源;所述多个计算资源中一部分为独占计算资源,其余为可借用计算资源;
处理单元的外部路由模块通过数据端口与指定处理单元的外部路由模块连接,指定处理单元发送脉冲包至处理单元的外部路由模块,所述脉冲包由脉冲产生时间和源神经元ID组成;外部路由模块根据预先配置的路由表查询脉冲包是否需要进行本地处理或通过数据端口路由至东、南、西、北四个方向的处理单元;
若处理单元需要对接收的脉冲包进行本地处理,则外部路由模块将脉冲包传输至排序模块进行时间戳排序,排序后的脉冲包传输至脉冲队列模块等待,待所有处理单元的排序模块均将接收的脉冲包全部排序完成后,控制器模块触发搜索模块依次取出排序后的脉冲包,搜索模块根据排序后脉冲包的源神经元ID在存储器查找由对应目的神经元ID、突触ID和突触更新计数值信息组成的目的神经元-突触ID信息;搜索模块将目的神经元-突触ID信息传输至客户端模块,客户端模块在存储器中查找对应目的神经元状态信息和突触状态信息,并将脉冲产生时间与目的神经元ID、目的神经元状态信息、突触ID、突触更新计数值、突触状态信息组成待更新目的神经元-突触状态信息,其中,所述目的神经元状态信息包括待更新目的神经元膜电位、目的神经元上次更新时间和目的神经元阈值,所述突触状态信息包括待更新突触权值相关变量、上次更新后突触权值和突触上次更新时间;客户端模块将待更新目的神经元-突触状态信息传输至服务器模块,服务器模块按照分配规则分配待更新目的神经元-突触状态信息至处理单元的独占计算资源,处理单元的可借用计算资源,和/或东、南、西、北四个方向处理单元的可借用计算资源执行计算;计算完成后,执行计算的计算资源将更新后目的神经元-突触状态信息经服务器模块回传至客户端模块,客户端模块将更新后目的神经元-突触状态信息写回存储器,更新目的神经元状态信息和/或突触状态信息;
计算资源执行计算的模式分为推理模式和学习模式,所述推理模式更新目的神经元膜电位,所述学习模式更新目的神经元膜电位、突触权值相关变量和突触权值;采用的计算用以下通式表示:



其中,为泄露后目的神经元膜电位或更新后突触权值相关变量;为待更新目的神经元膜电位或待更新突触权值相关变量;为脉冲产生时
间与目的神经元上次更新时间的更新时间间隔,或脉冲产生时间与突触上次更新时间的更
新时间间隔;为目的神经元膜电位或突触权值相关变量的静息值;为
目的神经元膜电位或突触权值相关变量的时间常数;为上次更新后突触权值;为更新后目的神经元膜电位;为目的神经元复位值;为更新后突触权值;为目的神经元阈值;代表为神经元状态
更新。


2.根据权利要求1所述可重构的自主学习脉冲神经网络处理器,其特征在于,
计算资源执行推理模式的计算时,先对待更新目的神经元膜电位使用公式(1)执行一次更新计算,再执行公式(2),将公式(1)所得泄露后目的神经元膜电位与上次更新后突触权值之和作为更新后目的神经元膜电位;
若更新后目的神经元膜电位高于目的神经元阈值,则执行公式(3),将更新后目的神经
元膜电位重置为目的神经元复位值,同时产生新脉冲;否则不产生新
脉冲;
计算资源执行学习模式的计算时,分为两个阶段:
第一阶段,先对待更新目的神经元膜电位使用公式(1)执行一次更新计算,再执行公式(2),将公式(1)所得泄露后目的神经元膜电位与上次更新后突触权值之和作为更新后目的神经元膜电位;
若更新后目的神经元膜电位高于目的神经元阈值,则执行公式(3),将更新后目的神经
元膜电位重置为目的神经元复位值,同时产生新脉冲;否则不产生新
脉冲;
然后对待更新突触权值相关变量使用公式(1)执行一次更新计算,得到更新后突触权值相关变量;
再对上次更新后突触权值使用公式(4)执行一次更新计算,得到更新后突触权值;若第一阶段未产生新脉冲,则不执行第二阶段,否则执行第二阶段;
第二阶段,对待更新突触权值相关变量使用公式(1)执行二次更新计算,此时公式(1)中待更新突触权值相关变量为第一阶段所得更新后突触权值相关变量,得到更新后突触权值相关变量;
对上次更新后突触权值使用公式(4)执行二次更新计算,此时公式(4)中上次更新后突触权值为第一阶段所得更新后突触权值,得到更新后突触权值。


3.根据权利要求1所述可重构的自主学习脉冲神经网络处理器,其特征在于,所述分配规则具体为:
服务器模块依次查询处理单元的独占计算资源和可借用计算资源中是否存在空闲的计算资源,若存在空闲的独占计算资源,则分配待更新目的神经元-突触状态信息至空闲的处理单元的独占计算资源执行计算;若处理单元的独占计算资源均忙碌,而处理单元的可借用计算资源存在空闲,则分配待更新目的神经元-突触状态信息至处理单元的可借用计算资源执行计算;若处理单元的独占计算资源和可借用计算资源均处于忙碌状态,则服务器模块查询东、南、西、北四个方向的处理单元中是否存在空闲的可借用计算资源,若存在空闲的可借用计算资源,则分配待更新目的神经元-突触状态信息至空闲的可借用计算资源执行计算,若东、南、西、北四个方向的处理单元的可借用计算资源均处于忙碌状态,则服务器模块依次重复查询处理单元的独占计算资源,处理单元的可借用计算资源,东、南、西、北四个方向的处理单元的可借用计算资源中是否存在空闲的计算资源,直至存在空闲的计算资源再分配待更新目的神经元-突触状态信息。


4.根据权利要求1所述可重构的自主学习脉冲神经网络处理器,其特征在于,所述计算资源包括数据包打包/拆分模块,可重构控制器模块,自适应的clock-driven与event-driven计算机制模块,和计算单元;
所述数据包打包/拆分模块用于将待更新目的神经元-突触状态信息拆分成脉冲产生时间、目的神经元ID、目的神经元状态信息、突触ID、突触更新计数值和突触状态信息,并缓存,所述数据包打包/拆分模块还将更新后目的神经元状态信息、更新后突触状态信息、脉冲产生时间、目的神经元ID、突触ID、突触更新计数值打包成更新后目的神经元-突触状态信息,并缓存;
所述可重构控制器模块根据突触更新计数值、从自主学习脉冲神经网络处理器外部传输的推理/学习标志位的状态,输出神经元/突触标志位,以控制计算单元,自适应的clock-driven与event-driven计算机制模块从数据包打包/拆分模块拉取不同的数据完成计算,从而实现推理与学习的可重构;
所述自适应的clock-driven与event-driven计算机制模块根据脉冲产生时间与目的
神经元上次更新时间,或脉冲产生时间与突触上次更新时间的差值,改变计算单元执行
更新计算的计算方式;
当小于预设定的最小时间阈值时,自适应的clock-driven与event-driven计算机
制模块控制计算单元执行clock-driven机制的计算,采用公式(5)取代公式(1)计算;



其中,为推理泄露值或学习泄露值;
当大于最小时间阈值而小于预设定的最大时间阈值时,自适应的clock-driven
与event-driven计算机制模块控制计算单元执行event-driven机制的计算,采用公式(1)
计算;
当大于最大时间阈值时,自适应的clock-driven与event-driven计算机制模块控
制计算单元用目的神经元膜电位或突触权值相关变量的静息值分别覆盖待更新目的神经
元膜电位或待更新突触权值相关变量,得到泄露后目的神经元膜电位或更新后突触权值相
关变量,取代公式(1)计算;
所述计算单元根据推理/学习标志位、神经元/突触标志位、自适应的clock-driven与event-driven计算机制模块的输出信号,采用可重构的电路更新目的神经元膜电位、突触权值相关变量或突触权值;
其中,最小时间阈值为所述自主学习脉冲神经网络处理器映射网络采用clock-
driven计算机制仿真时,根据网络仿真的单步步长决定的最小间隔,最大时间阈值为目
的神经元膜电位或突触权值相关变量的时间常数的3~5倍。


5.根据权利要求4所述可重构的自主学习脉冲神经网络处理器,其特征在于,所述可重构控制器模块包括第一有限状态机;
数据包打包/拆分模块将处理单元中服务器模块或东、南、西、北四个方向的处理单元中服务器模块传递的待更新的目的神经元-突触状态信息拆分成脉冲产生时间、目的神经元ID、目的神经元状态信息、突触ID、突触更新计数值和突触状态信息,并缓存,进一步将目的神经元状态信息拆分成待更新目的神经元膜电位、目的神经元上次更新时间和目的神经元阈值,并缓存,将突触状态信息拆分成待更新突触权值相关变量、上次更新后突触权值和突触上次更新时间,并缓存;将突触更新计数值、推理/学习标志位传输至可重构控制器模块,可重构控制器模块内部的第一有限状态机根据突触更新计数值、推理/学习标志位的状态输出神经元/突触标志位,以控制计算单元,自适应的clock-driven与event-driven计算机制模块从数据包打包/拆分模块拉取不同的数据完成计算,从而实现推理与学习的可重构,具体为:
当推理/学习标志位为0、突触更新计数值为0时,计算资源处于推理模式,执行目的神经元膜电位的更新计算,此时神经元/突触标志位为0,控制自适应的clock-driven与event-driven计算机制模块拉取脉冲产生时间和目的神经元上次更新时间,控制计算单元拉取待更新目的神经元膜电位、目的神经元阈值和上次更新后突触权值;
当推理/学习标志位为1、突触更新计数值为0时,计算资源处于学习模式的第一阶段,将执行待更新目的神经元膜电位的一次更新计算、待更新突触权值相关变量的一次更新计算和上次更新后突触权值的一次更新计算;此时神经元/突触标志位先为0,控制自适应的clock-driven与event-driven计算机制模块拉取脉冲产生时间和目的神经元上次更新时间,控制计算单元拉取待更新目的神经元膜电位、目的神经元阈值和上次更新后突触权值,以进行待更新目的神经元膜电位的一次更新计算;计算完后,神经元/突触标志位为1,控制自适应的clock-driven与event-driven计算机制模块拉取脉冲产生时间和突触上次更新时间,控制计算单元拉取待更新突触权值相关变量和上次更新后突触权值,进行待更新突触权值相关变量的一次更新计算和上次更新后突触权值的一次更新计算;
当推理/学习标志位为1、突触更新计数值为1时,计算资源处于学习模式的第二阶段,将执行待更新突触权值相关变量的二次更新计算、上次更新后突触权值的二次更新计算,此时神经元/突触标志位为1,控制自适应的clock-driven与event-driven计算机制模块拉取脉冲产生时间和突触上次更新时间,控制计算单元拉取待更新突触权值相关变量和上次更新后突触权值,进行待更新突触权值相关变量的二次更新计算和上次更新后突触权值的二次更新计算。


6.根据权利要求4所述可重构的自主学习脉冲神经网络处理器,其特征在于,所述自适应的clock-driven与event-driven计算机制模块包括第一数据选择器、第二数据选择器、第三数据选择器、第一减法器、第一比较器和第二比较器;
所述第一数据选择器连接数据包打包/拆分模块,为0的神经元/突触标志位控制第一
数据选择器从数据包打包/拆分模块拉取脉冲产生时间和目的神经元上次更新时间,为1的
神经元/突触标志位控制第一数据选择器从数据包打包/拆分模块拉取脉冲产生时间和突
触上次更新时间,再传输至第一减法器计算更新时间间隔;

与最小时间阈值一起作为第一...

【专利技术属性】
技术研发人员:周军张兆民李思旭
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1