具有深度时间划窗的神经元信息处理方法和系统与流程

文档序号:12734998阅读:270来源:国知局
具有深度时间划窗的神经元信息处理方法和系统与流程

本发明涉及人工神经网络技术领域,特别是涉及具有深度时间划窗的神经元信息处理方法和系统。



背景技术:

如今的人工神经网络研究绝大多数仍是在冯·诺依曼计算机软件并搭配高性能GPGPU(General Purpose Graphic Processing Units通用图形处理单元)平台中实现的,整个过程的硬件开销、能耗和信息处理速度都不容乐观。为此,近几年神经形态计算领域迅猛发展,即采用硬件电路直接构建神经网络从而模拟大脑的功能,试图实现大规模并行、低能耗、可支撑复杂模式学习的计算平台。

然而,传统的脉冲神经元信息处理方法中,当前脉冲神经元的输出信息只能在下一个时间步影响到其后端连接的脉冲神经元,忽略了生物神经元间的时间域深度效应。



技术实现要素:

基于此,有必要针对当前脉冲神经元的输出信息只能在下一个时间步影响到其后端连接的脉冲神经元,忽略了生物神经元间的时间域深度效应的问题,提供一种具有深度时间划窗的神经元信息处理方法和系统,其中,所述方法包括:

接收前端脉冲神经元输出信息,所述前端脉冲神经元输出信息包括前端脉冲神经元输出的脉冲尖端信息;

读取第一当前脉冲神经元信息,所述第一当前脉冲神经元信息包括当前时间窗内脉冲尖端信息历史序列;

根据所述前端脉冲神经元输出的脉冲尖端信息,和所述当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列根据所述当前时间窗内脉冲尖端信息更新序列,确定第二当前脉冲神经元信息;

根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息;

输出所述当前脉冲神经元输出信息。

在其中一个实施例中,所述当前时间窗内脉冲尖端信息历史序列,包括:按时间步顺序存储的,当前时间步前的N个时间步接收的各前端脉冲神经元输出信息组成的序列,其中,所述当前时间窗内脉冲尖端信息历史序列中的第一个时间步的脉冲尖端信息,为当前时间步前的第一个时间步接收的前端脉冲神经元输出信息,所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息,为当前时间步前的第N个时间步接收的前端脉冲神经元输出信息,其中N为自然数;

则所述根据所述前端脉冲神经元输出信息,和所述当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列,包括:

将所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息删除,将第一个时间步至第N-1个时间步的脉冲尖端信息,顺序变更为第二个时间步至第N个时间步的脉冲尖端信息;

将当前时间步接收的所述前端脉冲神经元输出信息,设置为所述当前时间窗内脉冲尖端信息历史序列中第一个时间步的脉冲尖端信息;

将更新后的第一个时间步至第N个时间步的脉冲尖端信息,组成当前时间窗内脉冲尖端信息更新序列。

在其中一个实施例中,所述前端脉冲神经元输出信息,还包括:前端神经元与当前神经元的连接权重索引;

所述当前脉冲神经元信息,还包括:当前时间窗宽度、历史膜电位信息和膜电位泄漏信息;

所述根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息,包括:

根据所述前端神经元与当前神经元的连接权重索引,读取前端神经元与当前神经元的连接权重;

根据所述当前时间窗宽度、所述当前时间窗内脉冲尖端信息更新序列,通过衰减函数计算前端脉冲神经元输入信息;

根据所述前端脉冲神经元输入信息、所述前端脉冲神经元与当前脉冲神经元的连接权重、所述历史膜电位信息、所述膜电位泄漏信息,通过脉冲神经元计算模型,计算当前脉冲神经元输出信息。

在其中一个实施例中,在所述根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息的步骤之后在,在所述输出所述当前脉冲神经元输出信息的步骤之前,所述方法还包括:

获取阈值电位;

将所述当前脉冲神经元输出信息和所述阈值电位进行比较,根据比较结果确定发放触发标志信息,所述发放触发标志信息包括:发放触发或发放不触发;当所述发放触发标志信息为发放触发时,

复位不应期计时器,并更新所述历史膜电位信息为预设的复位膜电位信息。

在其中一个实施例中,还包括:

当所述发放触发标志信息为发放不触发时,读取不应期宽度和不应期计时器的当前时间步;

根据所述不应期宽度和所述不应期计时器的当前时间步,判断当前时间是否在不应期内,若当前时间在所述不应期内,将所述不应期计时器累加计时一个时间步,不更新所述历史膜电位信息;

若当前时间不在应期内,将所述不应期计时器累加计时一个时间步,并更新所述历史膜电位信息为所述当前脉冲神经元输出信息。

在其中一个实施例中,所述获取阈值电位,包括:

读取随机阈值掩模电位、阈值偏置和随机阈值;

将所述随机阈值和所述随机阈值掩模电位进行按位与操作,获取阈值随机叠加量;

根据所述阈值随机叠加量和所述阈值偏置,确定所述阈值电位。

在其中一个实施例中,所述输出所述当前脉冲神经元输出信息,包括:

读取发放使能标识,所述发放使能标识包括允许发放数据或不允许发放数据;当所述发放使能标识为允许发放数据时,

读取所述发放触发标志信息,当所述发放触发标志信息为发放触发时;

输出所述当前脉冲神经元输出信息。

本发明所提供的具有深度时间划窗的神经元信息处理方法,根据前端脉冲神经元输出信息,和当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列,用于当前脉冲神经元的输出信息的计算,使得当前脉冲神经元的输出信息与当前时间窗内脉冲尖端信息历史序列,以及当前时间步接收到的前端脉冲神经元输出信息均相关。突破了仅具有前后时间步相互关联的限制,可以根据需要灵活设置缓存更大时间深度的历史活动信息,在时间域深度效应方面更加接近生物神经元。

在其中一个实施例中,根据时间步顺序存储前N个时间步接收到的各前端脉冲神经元输出信息,在接收到当前时间步的前端脉冲神经元输出信息后,将历史序列中的信息顺序向后移动一位,将当前时间步接收到的脉冲信息填入第一位,获取更新后的脉冲尖端信息序列用于当前脉冲神经元输出信息的计算。根据时间进行滑动,将历史脉冲尖端信息和当前时间步的脉冲尖端信息相结合,使得接收到的前端脉冲神经元的输出信息,可以根据需求灵活设置所需要的时间深度,且根据时间顺序进行滑动的方法,更加符合生物神经元时间深度效应。

在其中一个实施例中,通过读取随机阈值掩模电位和阈值偏置,并接收配置寄存器给出的配置值,确定所述阈值电位,使得神经元发放脉冲尖端信息具有一定概率的随机性。

在其中一个实施例中,通过设置发放使能标识和发放触发标志,确定当前脉冲神经元输出信息,使得脉冲神经元的输出的可控性更高,发放使能标志可以配置有的神经元不允许发放数据,而只用作中间辅助计算神经元,这对于一些需要多神经元协作完成的功能是非常必要的。

本发明还提供一种具有深度时间划窗的神经元信息处理系统,包括:

前端脉冲神经元输出信息接收模块,用于接收前端脉冲神经元输出信息,所述前端脉冲神经元输出信息包括前端脉冲神经元输出的脉冲尖端信息;

第一当前脉冲神经元信息读取模块,用于读取第一当前脉冲神经元信息,所述第一当前脉冲神经元信息包括当前时间窗内脉冲尖端信息历史序列;

当前时间窗内脉冲尖端信息更新序列获取模块,用于根据所述前端脉冲神经元输出的脉冲尖端信息,和所述当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列;

第二当前脉冲神经元信息确定模块,用于根据所述当前时间窗内脉冲尖端信息更新序列,确定第二当前脉冲神经元信息;

当前脉冲神经元输出信息计算模块,用于根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息;

当前脉冲神经元输出信息输出模块,用于输出所述当前脉冲神经元输出信息。

在其中一个实施例中,所述当前时间窗内脉冲尖端信息历史序列,包括:按时间步顺序存储的,当前时间步前的N个时间步接收的各前端脉冲神经元输出信息组成的序列,其中,所述当前时间窗内脉冲尖端信息历史序列中的第一个时间步的脉冲尖端信息,为当前时间步前的第一个时间步接收的前端脉冲神经元输出信息,所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息,为当前时间步前的第N个时间步接收的前端脉冲神经元输出信息,其中N为自然数;

则所述当前时间窗内脉冲尖端信息更新序列获取模块,用于:

将所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息删除,将第一个时间步至第N-1个时间步的脉冲尖端信息,顺序变更为第二个时间步至第N个时间步的脉冲尖端信息;

将当前时间步接收的所述前端脉冲神经元输出信息,设置为所述当前时间窗内脉冲尖端信息历史序列中第一个时间步的脉冲尖端信息;

将更新后的第一个时间步至第N个时间步的脉冲尖端信息,组成当前时间窗内脉冲尖端信息更新序列。

在其中一个实施例中,所述前端脉冲神经元输出信息,还包括:前端神经元与当前神经元的连接权重索引;

所述当前脉冲神经元信息,还包括:当前时间窗宽度、历史膜电位信息和膜电位泄漏信息;

所述当前脉冲神经元输出信息计算模块,包括:

脉冲神经元连接权重读取单元,用于根据所述前端神经元与当前神经元的连接权重索引,读取前端神经元与当前神经元的连接权重;

前端脉冲神经元输入信息计算单元,用于根据所述当前时间窗宽度、所述当前时间窗内脉冲尖端信息更新序列,通过衰减函数计算前端脉冲神经元输入信息;

当前脉冲神经元输出信息计算单元,用于根据所述前端脉冲神经元输入信息、所述前端脉冲神经元与当前脉冲神经元的连接权重、所述历史膜电位信息、所述膜电位泄漏信息,通过脉冲神经元计算模型,计算当前脉冲神经元输出信息。

在其中一个实施例中,还包括:

阈值电位获取模块,用于获取阈值电位;

发放触发标志信息确定模块,用于将所述当前脉冲神经元输出信息和所述阈值电位进行比较,根据比较结果确定发放触发标志信息,所述发放触发标志信息包括:发放触发或发放不触发;当所述发放触发标志信息为发放触发时,

不应期计时器复位模块,用于复位不应期计时器,并更新所述历史膜电位信息为预设的复位膜电位信息。

在其中一个实施例中,还包括:

当所述发放触发标志信息为发放不触发时,

不应期计时器读取模块,用于读取不应期宽度和不应期计时器的当前时间步;

不应期判断模块,用于根据所述不应期宽度和所述不应期计时器的当前时间步,判断当前时间是否在不应期内,若当前时间在所述不应期内,将所述不应期计时器累加计时一个时间步,不更新所述历史膜电位信息;若当前时间不在应期内,将所述不应期计时器累加计时一个时间步,并更新所述历史膜电位信息为所述当前脉冲神经元输出信息。

在其中一个实施例中,所述阈值电位获取模块,包括:

阈值信息读取单元,用于读取随机阈值掩模电位、阈值偏置和随机阈值;

随机叠加量获取单元,用于将所述随机阈值和所述随机阈值掩模电位进行按位与操作,获取阈值随机叠加量;

阈值电位确定单元,用于根据所述阈值随机叠加量和所述阈值偏置,确定所述阈值电位。

在其中一个实施例中,所述当前脉冲神经元信息输出模块,包括:

使能标识读取单元,用于读取发放使能标识,所述发放使能标识包括允许发放数据或不允许发放数据;当所述发放使能标识为允许发放数据时,

发放触发标志信息读取单元,用于读取所述发放触发标志信息,当所述发放触发标志信息为发放触发时;

当前脉冲神经元信息输出单元,用于输出所述当前脉冲神经元输出信息。

本发明所提供的具有深度时间划窗的神经元信息处理系统,根据前端脉冲神经元输出信息,和当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列,用于当前脉冲神经元的输出信息的计算,使得当前脉冲神经元的输出信息与当前时间窗内脉冲尖端信息历史序列,以及当前时间步接收到的前端脉冲神经元输出信息均相关。突破了仅具有前后时间步相互关联的限制,可以根据需要灵活设置缓存更大时间深度的历史活动信息,在时间域深度效应方面更加接近生物神经元。

在其中一个实施例中,根据时间步顺序存储前N个时间步接收到的各前端脉冲神经元输出信息,在接收到当前时间步的前端脉冲神经元输出信息后,将历史序列中的信息顺序向后移动一位,将当前时间步接收到的脉冲信息填入第一位,获取更新后的脉冲尖端信息序列用于当前脉冲神经元输出信息的计算。根据时间进行滑动,将历史脉冲尖端信息和当前时间步的脉冲尖端信息相结合,使得接收到的前端脉冲神经元的输出信息,可以根据需求灵活设置所需要的时间深度,且根据时间顺序进行滑动的方法,更加符合生物神经元时间深度效应。

在其中一个实施例中,通过读取随机阈值掩模电位和阈值偏置,并接收配置寄存器给出的配置值,确定所述阈值电位,使得神经元发放脉冲尖端信息具有一定概率的随机性。

在其中一个实施例中,通过设置发放使能标识和发放触发标志,确定当前脉冲神经元输出信息,使得脉冲神经元的输出的可控性更高,发放使能标志可以配置有的神经元不允许发放数据,而只用作中间辅助计算神经元,这对于一些需要多神经元协作完成的功能是非常必要的。

附图说明

图1为一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图;

图2为另一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图;

图3为又一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图;

图4为再一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图;

图5为一个实施例的自适应泄漏值神经网络信息处理方法中当前时间窗内脉冲尖端信息历史序列的结构示意图;

图6为另一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图;

图7为又一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图;

图8为又一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

图1为一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图,如图1所示的自适应泄漏值神经网络信息处理方法,包括:

步骤S100,接收前端脉冲神经元输出信息,所述前端脉冲神经元输出信息包括前端脉冲神经元输出的脉冲尖端信息。

具体的,所述前端脉冲神经元输出的脉冲尖端信息,是与当前脉冲神经元的连接的前端的脉冲神经元输出的脉冲尖端信息。

步骤S200,读取第一当前脉冲神经元信息,所述第一当前脉冲神经元信息包括当前时间窗内脉冲尖端信息历史序列。

具体的,所述当前时间窗内脉冲尖端信息历史序列,是指在所述当前时间窗宽度内,将过去一定范围内的时间步接收到的脉冲尖端信息,按时间顺序依次缓存的一个信息序列。

步骤S300,根据所述前端脉冲神经元输出的脉冲尖端信息,和所述当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列。

具体的,将当前时间步接收到的脉冲尖端信息,和所述过去一定范围内的时间步接收到的脉冲尖端信息,整合为新的当前时间窗内脉冲尖端信息更新序列,以使过去接收到的脉冲尖端信息,依然参与当前时间步的脉冲神经元输出信息的计算。

步骤S400,根据所述当前时间窗内脉冲尖端信息更新序列,确定第二当前脉冲神经元信息。

具体的,由于当前脉冲神经元信息还包括其它信息,将更新后获取到的前时间窗内脉冲尖端信息更新序列,代替当前时间窗内脉冲尖端信息历史序列后,获取到第二当前脉冲神经元信息。

步骤S500,根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息。

具体的,所述前端脉冲神经元信息还包括其它信息,如前端脉冲神经元与当前脉冲神经元的连接权重索引,将所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算后获取当前脉冲神经元输出信息。

步骤S600,输出所述当前脉冲神经元输出信息。

本发明所提供的具有深度时间划窗的神经元信息处理方法,根据前端脉冲神经元输出信息,和当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列,用于当前脉冲神经元的输出信息的计算,使得当前脉冲神经元的输出信息与当前时间窗内脉冲尖端信息历史序列,以及当前时间步接收到的前端脉冲神经元输出信息均相关。突破了仅具有前后时间步相互关联的限制,可以根据需要灵活设置缓存更大时间深度的历史活动信息,在时间域深度效应方面更加接近生物神经元。

图2为另一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图,如图2所示的自适应泄漏值神经网络信息处理方法,为图1中步骤S300的详细步骤,包括:

步骤S310,将所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息删除,将第一个时间步至第N-1个时间步的脉冲尖端信息,顺序变更为第二个时间步至第N个时间步的脉冲尖端信息。

具体的,所述当前时间窗内脉冲尖端信息历史序列,包括:按时间步顺序存储的,当前时间步前的N个时间步接收的各前端脉冲神经元输出信息组成的序列,其中,所述当前时间窗内脉冲尖端信息历史序列中的第一个时间步的脉冲尖端信息,为当前时间步前的第一个时间步接收的前端脉冲神经元输出信息,所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息,为当前时间步前的第N个时间步接收的前端脉冲神经元输出信息。

如图5所示,所述当前时间窗内脉冲尖端信息历史序列,从右手至左,按时间步顺序存储有当前时间步前的15个时间步接收的各前端脉冲神经元输出信息,由于每个时间步接收的各前端脉冲神经元信息,根据实际情况包含多个前端脉冲神经元信息,在图5中用竖列的形式来表示,其中的每个圆圈,代表单个前端脉冲神经元输出的脉冲尖端信息。

在当前时间步,将图5中,最左侧的第15列的脉冲尖端信息删除,将第1至第14列的脉冲尖端信息,顺序变更为第2至第15列的脉冲尖端信息。

步骤S320,将当前时间步接收的所述前端脉冲神经元输出信息,设置为所述当前时间窗内脉冲尖端信息历史序列中第一个时间步的脉冲尖端信息。

具体的,将当前时间步接收的前端脉冲尖端信息,放入图5中第1列中。

步骤S330,将更新后的第一个时间步至第N个时间步的脉冲尖端信息,组成当前时间窗内脉冲尖端信息更新序列。

具体的,新的第1至第15个时间步的脉冲尖端信息,为更新后的当前时间窗内脉冲尖端信息更新序列。

在实际的使用中,可以用移位寄存器阵列实现上述脉冲尖端序列的存储,也可以由普通存储器实现,由于存储器只能按照地址进行读写访问,不能像移位寄存器那样根据时钟信号自动完成移位操作,只能通过“读取→数据拼接→写入”系列操作完成,其中数据拼接的原理是:基于目前读取的历史发放信息和最新发放信息,然后截取历史发放信息的低15位和最新发放信息组合拼接,送至后续计算模块(输入产生加法器),并重新写回spike缓存RAM中。存储器的行地址和写使能等信号,由系统的读写控制模块给出,通过这种拼接的方式,等效于移位寄存器通过移位的方式,都能实现时间域滑窗的操作。

在本实施例中,根据时间步顺序存储前N个时间步接收到的各前端脉冲神经元输出信息,在接收到当前时间步的前端脉冲神经元输出信息后,将历史序列中的信息顺序向后移动一位,将当前时间步接收到的脉冲信息填入第一位,获取更新后的脉冲尖端信息序列用于当前脉冲神经元输出信息的计算。根据时间进行滑动,将历史脉冲尖端信息和当前时间步的脉冲尖端信息相结合,使得接收到的前端脉冲神经元的输出信息,可以根据需求灵活设置所需要的时间深度,且根据时间顺序进行滑动的方法,更加符合生物神经元时间深度效应。

图3为又一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图,如图3所示的自适应泄漏值神经网络信息处理方法,包括:

步骤S100b,接收前端脉冲神经元输出的脉冲尖端信息、前端脉冲神经元与当前脉冲神经元的连接权重索引。

具体的,所述前端脉冲神经元与当前脉冲神经元的连接权重索引,是前端神经元与所述前端脉冲神经元输出信息一同发送的权重索引,用于指示当前神经元权重的提取。所述前端脉冲神经元输出的脉冲尖端信息,为前端脉冲神经元发送的脉冲尖端信号(spike)。

步骤S200b,读取当前时间窗宽度、当前时间窗内脉冲尖端信息更新序列、历史膜电位信息和膜电位泄漏信息。

具体的,除所述当前时间窗内脉冲尖端信息更新序列,所述当前时间窗宽度、所述历史膜电位信息和膜电位泄漏信息,均为第一当前脉冲神经元信息中的信息。

步骤S300b,根据所述前端神经元与当前神经元的连接权重索引,读取前端神经元与当前神经元的连接权重。

具体的,所述前端脉冲神经元与当前脉冲神经元的连接权重索引,是一个地址信息,当前神经元根据接收到的所述前端脉冲神经元与当前脉冲神经元的连接权重索引,在当前神经元内的存储器中,读取到前端脉冲神经元与当前脉冲神经元的连接权重,根据所述的连接权重信息,可以将前端神经元的输出信息,在参与当前神经元输出信息的计算过程中,更准确的反应出前端神经元的输出信息的权重,携带更丰富的信息。

步骤S400b,根据所述当前时间窗宽度、所述当前时间窗内脉冲尖端信息更新序列,通过衰减函数计算前端脉冲神经元输入信息。

具体的,所述当前时间窗内脉冲尖端信息更新序列中,包含当前时间步前的N个时间步的历史脉冲尖端信息,在参与当前脉冲神经元输出信息的计算中,利用衰减因子Ki,离当前时间步越近的列,其衰减因子越大,即其输入对后端神经元的影响越大;反之,则越小。

为了保证每一行在整个时间窗内所有衰减因子相加后的和不溢出,即该行每一个点spike输入都为1,需要对原始时间衰减曲线上的所有Ki进行归一化操作:

步骤S500b,根据所述前端脉冲神经元输入信息、所述前端脉冲神经元与当前脉冲神经元的连接权重、所述历史膜电位信息、所述膜电位泄漏信息,通过脉冲神经元计算模型,计算当前脉冲神经元输出信息。

具体的,利用如下公式表示前端脉冲神经元输入信息的计算:

其中Wij为所述前端脉冲神经元j和当前脉冲神经元i的连接权重,Tw为所述时间窗宽度,δj为前端神经元j在当前时间窗内发放spike后,在所述当前时间窗内脉冲尖端信息更新序列内的时间步。t为当前时刻,K(Δt)为一个衰减函数,随着Δt增大而迅速减小。在胞体处的基本模型可以简化为:

VSNN=f(V+Vinput+Vleak)

发放模型和复位模型不变,其中V是存储器保存的历史膜电位信息,Vinput是当前拍累加的输入,等效于上述的Vleak为膜电位泄漏值信息。

在本实施例中,根据所述当前时间窗内脉冲尖端信息更新序列、所述当前时间窗宽度、所述前端脉冲神经元与当前脉冲神经元的连接权重,通过衰减函数计算前端脉冲神经元输入信息,可以支持具有时间深度的时空脉冲神经网络模型,相比于时间深度仅仅为一的神经网络技术方案,可以大大提高脉冲神经网络的时空信息编码能力,丰富脉冲神经网络的应用空间。

图4为再一个实施例的自适应泄漏值神经网络信息处理方法的流程示意图,如图4所示的自适应泄漏值神经网络信息处理方法,包括:

步骤S100c,计算出当前脉冲神经元输出信息和阈值电位。

步骤S200c,判断所述当前脉冲神经元输出信息是否大于等于所述阈值电位,根据所述比较结果确定发放触发标志信息,所述发放触发标志信息包括发放触发或发放不触发,当确定发放触发标志信息为发放触发时,接步骤S300c,当确定发放触发标志信息为发放不触发时,跳至步骤S400c。

具体的,根据所述阈值电位,与所述当前脉冲神经元输出信息进行比较,并根据比较结果确定发放触发标志信息。只有所述当前脉冲神经元输出信息大于所述阈值电位时,所述当前脉冲神经元输出信息才会被发送。

步骤S300c,复位不应期计时器,并更新所述历史膜电位信息为预设的复位膜电位信息。

具体的,当所述发放触发标志信息为发放触发时,所述当前脉冲神经元输出信息被发送,不应期计时器被复位后,重新计算不应期,并更新所述历史膜电位信息为预设的膜电位信息,且所述的历史膜电位信息更新,根据配置的复位类型,选择性将膜电位复位为当前膜电位、当前膜电位和阈值电位差值,或固定复位电压。

步骤S400c,读取不应期宽度和不应期计时器的当前时间步。

具体的,当所述发放触发标志信息为发放不触发时,所述当前脉冲神经元输出信息不被发送,进一步判断当前是否在不应期内。所述不应期宽度为不应期的时长范围,所述不应期计时器利用时间步的方式计时。

步骤S500c,根据所述不应期宽度和所述不应期计时器的当前时间步,判断当前时间是否在不应期内,若当前时间在所述不应期内,接步骤S600c,否则跳至步骤S700c。

具体的,根据所述不应期计时器的当前时间步的累计计算,可以判断出当前时间步是否还在不应期内。

步骤S600c,将所述不应期计时器累加计时一个时间步,不更新所述历史膜电位信息。

具体的,若当前时间在所述不应期内,根据脉冲神经网络的仿生特点,不对所述脉冲神经输出信息进行任何回应,不更新历史膜电位信息,所述历史膜电位信息,是下一个时间步的脉冲神经元需要读取的信息,即在不应期内,本次计算出的脉冲神经元输出信息不参与下一个时间步的计算。

步骤S700c,将所述不应期计时器累加计时一个时间步,并更新所述历史膜电位信息为所述当前脉冲神经元输出信息。

具体的,如在不应期外,则将所述历史膜电位信息为所述当前脉冲神经元输出信息,参与下一个时间步的计算。

在本实施例中,通过设置阈值电位,小于所述阈值电位的当前脉冲神经元输出信息不能输出,可对当前脉冲神经元输出信息的输出进行控制,同时,不应期的设置,也将脉冲神经元的输出更加贴近生物神经元的反应。通过对当前脉冲神经元输出信息的上述控制机制,加强了对脉冲神经网络的信息处理控制,使其更加贴近生物神经元的工作机制。

在其中一个实施例中,所述获取阈值电位,包括:读取随机阈值掩模电位、阈值偏置和随机阈值;将所述随机阈值和所述随机阈值掩模电位进行按位与操作,获取阈值随机叠加量;根据所述阈值随机叠加量和所述阈值偏置,确定所述阈值电位。

具体的,伪随机数发生器产生一个随机阈值Vrand,利用所述随机阈值与预设的随机阈值掩模电位Vmask按位取与操作,产生阈值随机叠加量,再将所述阈值随机叠加量与预设的阈值偏置Vth0相加,产生真正的阈值电位Vth。其中,伪随机数发生器的初始种子由配置寄存器Vseed给出。掩模电位Vmask用于限制阈值增量的范围:若Vmask=0,则阈值随机叠加量也为0,发放模式退化为固定阈值发放,固定阈值为Vth0;若Vmask≠0,则发放模式为部分概率阈值发放。当极端情况Vth0=0,则发放模式为完全概率阈值发放。

在本实施例中,通过读取随机阈值掩模电位和阈值偏置,并接收配置寄存器给出的配置值,确定所述阈值电位,使得神经元发放脉冲尖端信息具有一定概率的随机性。

在其中一个实施例中,所述输出所述当前脉冲神经元输出信息,包括:读取发放使能标识,所述发放使能标识包括允许发放数据或不允许发放数据;当所述发放使能标识为允许发放数据时,读取所述发放触发标志信息,当所述发放触发标志信息为发放触发时;输出所述当前脉冲神经元输出信息。

在本实施例中,通过设置发放使能标识和发放触发标志,确定当前脉冲神经元输出信息,使得脉冲神经元的输出的可控性更高,发放使能标志可以配置有的神经元不允许发放数据,而只用作中间辅助计算神经元,这对于一些需要多神经元协作完成的功能是非常必要的。

图6为另一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图,如图6所示的自适应泄漏值神经网络信息处理系统包括:

前端脉冲神经元输出信息接收模块100,用于接收前端脉冲神经元输出信息,所述前端脉冲神经元输出信息包括前端脉冲神经元输出的脉冲尖端信息;所述前端脉冲神经元输出信息,还包括:前端神经元与当前神经元的连接权重索引。

第一当前脉冲神经元信息读取模块200,用于读取第一当前脉冲神经元信息,所述第一当前脉冲神经元信息包括当前时间窗内脉冲尖端信息历史序列;所述当前时间窗内脉冲尖端信息历史序列,包括:按时间步顺序存储的,当前时间步前的N个时间步接收的各前端脉冲神经元输出信息组成的序列,其中,所述当前时间窗内脉冲尖端信息历史序列中的第一个时间步的脉冲尖端信息,为当前时间步前的第一个时间步接收的前端脉冲神经元输出信息,所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息,为当前时间步前的第N个时间步接收的前端脉冲神经元输出信息;所述当前脉冲神经元信息,还包括:当前时间窗宽度、历史膜电位信息和膜电位泄漏信息。

当前时间窗内脉冲尖端信息更新序列获取模块300,用于根据所述前端脉冲神经元输出的脉冲尖端信息,和所述当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列;用于将所述当前时间窗内脉冲尖端信息历史序列中的第N个时间步的脉冲尖端信息删除,将第一个时间步至第N-1个时间步的脉冲尖端信息,顺序变更为第二个时间步至第N个时间步的脉冲尖端信息;将当前时间步接收的所述前端脉冲神经元输出信息,设置为所述当前时间窗内脉冲尖端信息历史序列中第一个时间步的脉冲尖端信息;将更新后的第一个时间步至第N个时间步的脉冲尖端信息,组成当前时间窗内脉冲尖端信息更新序列。

第二当前脉冲神经元信息确定模块400,用于根据所述当前时间窗内脉冲尖端信息更新序列,确定第二当前脉冲神经元信息;

当前脉冲神经元输出信息计算模块500,用于根据所述前端脉冲神经元信息和所述第二当前脉冲神经元信息,计算当前脉冲神经元输出信息;

当前脉冲神经元输出信息输出模块600,用于输出所述当前脉冲神经元输出信息。包括:使能标识读取单元,用于读取发放使能标识,所述发放使能标识包括允许发放数据或不允许发放数据;当所述发放使能标识为允许发放数据时,发放触发标志信息读取单元,用于读取所述发放触发标志信息,当所述发放触发标志信息为发放触发时;当前脉冲神经元信息输出单元,用于输出所述当前脉冲神经元输出信息。

本发明所提供的具有深度时间划窗的神经元信息处理系统,根据前端脉冲神经元输出信息,和当前时间窗内脉冲尖端信息历史序列,获取当前时间窗内脉冲尖端信息更新序列,用于当前脉冲神经元的输出信息的计算,使得当前脉冲神经元的输出信息与当前时间窗内脉冲尖端信息历史序列,以及当前时间步接收到的前端脉冲神经元输出信息均相关。突破了仅具有前后时间步相互关联的限制,可以根据需要灵活设置缓存更大时间深度的历史活动信息,在时间域深度效应方面更加接近生物神经元。

图7为又一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图,如图7所示的自适应泄漏值神经网络信息处理系统的实施例,为图6中的当前脉冲神经元输出信息计算模块500,包括:

脉冲神经元连接权重读取单元100b,用于根据所述前端神经元与当前神经元的连接权重索引,读取前端神经元与当前神经元的连接权重。

前端脉冲神经元输入信息计算单元200b,用于根据所述当前时间窗宽度、所述当前时间窗内脉冲尖端信息更新序列,通过衰减函数计算前端脉冲神经元输入信息。

当前脉冲神经元输出信息计算单元300b,用于根据所述前端脉冲神经元输入信息、所述前端脉冲神经元与当前脉冲神经元的连接权重、所述历史膜电位信息、所述膜电位泄漏信息,通过脉冲神经元计算模型,计算当前脉冲神经元输出信息。

在本实施例中,根据当前时间窗内脉冲尖端信息更新序列,所述当前时间窗宽度、所述前端脉冲神经元与当前脉冲神经元的连接权重,通过衰减函数计算前端脉冲神经元输入信息,可以支持具有时间深度的时空脉冲神经网络模型,相比于时间深度仅仅为一的神经网络技术方案,可以大大提高脉冲神经网络的时空信息编码能力,丰富脉冲神经网络的应用空间。

图8为又一个实施例的自适应泄漏值神经网络信息处理系统的结构示意图,如图8所示的自适应泄漏值神经网络信息处理系统包括:

阈值电位获取模块700,用于获取阈值电位;包括:阈值信息读取单元,用于读取随机阈值掩模电位、阈值偏置和随机阈值;随机叠加量获取单元,用于将所述随机阈值和所述随机阈值掩模电位进行按位与操作,获取阈值随机叠加量;阈值电位确定单元,用于根据所述阈值随机叠加量和所述阈值偏置,确定所述阈值电位。

发放触发标志信息确定模块800,用于将所述当前脉冲神经元输出信息和所述阈值电位进行比较,根据比较结果确定发放触发标志信息,所述发放触发标志信息包括:发放触发或发放不触发;当所述发放触发标志信息为发放触发时。

不应期计时器复位模块900,用于复位不应期计时器,并更新所述历史膜电位信息为预设的复位膜电位信息。

当所述发放触发标志信息为发放不触发时,

不应期计时器读取模块1000,用于读取不应期宽度和不应期计时器的当前时间步。

不应期判断模块1100,用于根据所述不应期宽度和所述不应期计时器的当前时间步,判断当前时间是否在不应期内,若当前时间在所述不应期内,将所述不应期计时器累加计时一个时间步,不更新所述历史膜电位信息;若当前时间不在应期内,将所述不应期计时器累加计时一个时间步,并更新所述历史膜电位信息为所述当前脉冲神经元输出信息。

在本实施例中,通过读取随机阈值掩模电位和阈值偏置,并接收配置寄存器给出的配置值,确定所述阈值电位,使得神经元发放脉冲尖端信息具有一定概率的随机性。通过设置发放使能标识和发放触发标志,确定当前脉冲神经元输出信息,使得脉冲神经元的输出的可控性更高,发放使能标志可以配置有的神经元不允许发放数据,而只用作中间辅助计算神经元,这对于一些需要多神经元协作完成的功能是非常必要的。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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