掌桥专利:专业的专利平台
掌桥专利
首页

一种轴突变化量确定方法和装置、权重处理方法和装置

文献发布时间:2023-06-19 11:32:36


一种轴突变化量确定方法和装置、权重处理方法和装置

技术领域

本发明涉及人工智能技术领域,尤其涉及一种轴突变化量确定方法和装置、权重处理方法和装置。

背景技术

神经形态芯片是一种包括多个神经元节点的芯片,可以用于模拟大脑的学习效果,在使用过程中,需要获取各神经元节点的运行结果,这一过程中,需要确定前继神经元与当前神经元的运行结果的权重变化量,以实现对于突触权重进行更新。相关技术中对于轴突输入值更新过程中,需要耗费较大的运算量。

发明内容

本发明实施例提供一种轴突变化量确定方法和装置、权重处理方法和装置,以解决相关技术中对于轴突输入值更新过程中需要耗费较大的运算量的问题。

第一方面,本发明实施例提供了一种轴突变化量确定方法,包括以下步骤:

获取前继神经元在目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放状态,M为正整数;

根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,分别确定所述M个发放状态对于所述前继神经元在所述目标时刻的M个发放影响值;

将所述M个发放影响值的和作为所述目标时刻的轴突变化量。

可选的,所述根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,分别确定所述M个发放状态对于所述前继神经元在所述目标时刻的M个发放影响值,包括:

根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,确定所述M个发放状态对应的M个权重系数,其中,所述权重系数均大于0且小于或等于1,所述权重系数随相对应的发放时刻与所述目标时刻之间的时间间隔的增加而呈比例减小;

计算所述权重系数与相应的发放状态的乘积作为相应的发放影响值。

可选的,所述将所述M个发放影响值的和作为所述目标时刻的轴突变化量之后,还包括:

根据所述M个发放状态生成所述目标时刻的轴突变化量的存储地址;

根据所生成的存储地址建立包括所述轴突变化量的轴突索引表。

可选的,所述根据所生成的存储地址建立包括所述轴突变化量的轴突索引表之后,还包括:

将所述目标时刻的发放状态输入长度为M的移位寄存器链,其中,所述移位寄存器链存储有所述前继神经元在所述目标时刻之前的M-1个发放状态;

获取所述移位寄存器链并行输出的M位地址数据,所述M位地址数据是由所述前继神经元在所述目标时刻的发放状态和在所述目标时刻之前的M-1个发放状态构成的;

根据所述M位地址数据确定所述目标时刻的轴突变化量的存储地址;

根据所确定的存储地址在所述轴突索引表中索引所述目标时刻的轴突变化量。

可选的,所述根据所述M个发放状态生成所述目标时刻的轴突变化量的存储地址,包括:

根据所述M个发放状态生成包括M位数据的二进制地址数据;

将所述二进制地址数据转换为十六进制数据,作为所述目标时刻的轴突变化量的存储地址;

所述根据所述M位地址数据确定所述目标时刻的轴突变化量的存储地址,包括:

将所述M位地址数据转换为十六进制数据,作为索引所述目标时刻的轴突变化量的存储地址。

第二方面,本发明实施例提供了一种权重处理方法,包括以下步骤:

获取目标时刻的轴突变化量,所述轴突变化量是根据第一方面中任一项所述的轴突变化量确定方法确定的;

确定当前神经元在所述目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放对于所述目标时刻的第一影响值;

根据所述轴突变化量和所述第一影响值确定权重变化量。

可选的,所述根据所述轴突变化量和所述第一影响值确定权重变化量,包括:

确定所述目标时刻对应的突触增强最大值和突触减弱最大值;

计算所述轴突变化量、所述突触增强最大值和所述当前神经元在所述目标时刻的发放状态的第一乘积;

计算所述第一影响值、所述突触减弱最大值和所述前继神经元在所述目标时刻的发放状态的第二乘积;

将所述第一乘积和所述第二乘积之和作为所述权重变化量。

第三方面,本发明实施例提供了一种轴突变化量确定装置,包括:

发放状态获取模块,用于获取前继神经元在目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放状态,M为正整数;

发放影响值确定模块,用于根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,分别确定所述M个发放状态对于所述前继神经元在所述目标时刻的M个发放影响值;

轴突变化量计算模块,用于将所述M个发放影响值的和作为所述目标时刻的轴突变化量。

可选的,所述发放影响值确定模块包括:

权重系数确定子模块,用于根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,确定所述M个发放状态对应的M个权重系数,其中,所述权重系数均大于0且小于或等于1,所述权重系数随相对应的发放时刻与所述目标时刻之间的时间间隔的增加而呈比例减小;

发放影响值计算子模块,用于计算所述权重系数与相应的发放状态的乘积作为相应的发放影响值。

第四方面,本发明实施例提供了一种权重处理装置,包括:

轴突变化量获取模块,用于获取目标时刻的轴突变化量,所述轴突变化量是根据第一方面中任一项所述的轴突变化量确定方法确定的;

第一影响值确定模块,用于确定当前神经元在所述目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放对于所述目标时刻的第一影响值;

权重变化量确定模块,用于根据所述轴突变化量和所述第一影响值确定权重变化量。

本实施例通过根据目标时刻之前的M-1个发放时刻以及目标时刻对应的M个发放影响值确定轴突变化量,简化了计算过程,有助于降低轴突变化量过程中的计算量。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。

图1是本发明一实施例中神经形态芯片的结构示意图;

图2是本发明一实施例中轴突变化量确定方法的流程图;

图3是本发明一实施例中索引电路的结构示意图;

图4是本发明一实施例中又一索引电路的结构示意图;

图5是本发明一实施例中权重处理方法的流程图;

图6是本发明一实施例中轴突变化量确定装置的结构图;

图7是本发明一实施例中权重处理装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

如图1所示,神经形态芯片是一种包括多个神经元的芯片。

本实施例中,s

类脑计算的一种计算模型是脉冲神经网络(Spiking Neural Network,SNN),SNN的基本组成单元为神经元,SNN是由大量神经元相互连接成网络。

神经元之间的连接可以看作带权重的有向边,神经元的输出会被神经元之间的连接所加权,然后传递给所连到的神经元,而每个神经元接收到的所有输入会被累加起来进行进一步处理,产生神经元的输出。SNN的神经元输出的是一个个电脉冲信号,电脉冲信号经过突触在突触后膜形成不同强度的电流信号,因此SNN的神经元可接收到其他神经元经由突触输入的信号,其中,两个神经元之间的交互在突触处转换为化学递质的交互。

示例性的,当前神经元接收到前继神经元的发放结果s

本发明实施例提供了一种轴突输入值更新方法,本实施例的轴突输入值更新方法应用于神经形态芯片。

在一个实施例中,该轴突变化量确定方法包括以下步骤:

步骤201:获取前继神经元在目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放状态。

本实施例中,目标权重变化量是根据前继神经元在目标时刻之前的M-1个发放时刻以及目标时刻对应的M个发放影响值确定的,M为正整数。

目标时刻指的是需要对其进行轴突输入值更新的时刻,例如,可以是下一发放时刻。神经形态芯片中的神经元在每一发放时刻进行一次更新,并可能进行一次发放。

步骤202:根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,分别确定所述M个发放状态对于所述前继神经元在所述目标时刻的M个发放影响值。

本实施例中认为,与目标时刻越接近的发放结果对于目标时刻所产生的影响越大,而与目标时刻时间间隔越长的发放状态对于目标时刻的影响也就越小,因此,本实施例中进一步确定所选择的M个发放状态对于目标时刻的发放影响值,显然,与目标时刻之间的时间间隔越小,则该发放状态对于目标时刻的发放影响值也就越大。

与目标时刻之间的时间间隔过大的发放对于目标时刻的权重变化具有一定影响,但是,这种影响相对较小,同时,如果考虑这些影响,还会增加额外的计算量。而本实施例中,仅考虑上述M个发放时刻对应的M个发放状态对于目标时刻轴突变化量的影响,平衡了对于轴突变化量计算的精确程度和计算量。

步骤203:将所述M个发放影响值的和作为所述目标时刻的轴突变化量。

本实施例通过根据目标时刻之前的M-1个发放时刻以及目标时刻对应的M个发放影响值确定轴突变化量,简化了计算过程,有助于降低轴突变化量过程中的计算量。

在其中一些实施例中,上述步骤202包括:

根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,确定所述M个发放状态对应的M个权重系数,其中,所述权重系数均大于0且小于或等于1,所述权重系数随相对应的发放时刻与所述目标时刻之间的时间间隔的增加而呈比例减小;

计算所述权重系数与相应的发放状态的乘积作为相应的发放影响值。

本实施例中,x

x

x

上述公式中,γ

由于γ

上述式(3)中,s

以M等于8为例做示例性说明,此时,上述式(3)具体为:

上述式(3)中,s

在其中一些实施例中,所述将所述M个发放影响值的和作为所述目标时刻的轴突变化量之后,还包括:

根据所述M个发放状态生成所述目标时刻的轴突变化量的存储地址;

根据所生成的存储地址建立包括所述轴突变化量的轴突索引表。

x

上述式(5)中,LUT代表查询函数,concat()代表将元素构建为一个向量,向量的每个元素为0或1,向量可转化为一个整数,整数的二进制表达的每个比特即为向量的各个元素,在确定了s

相关技术中,在计算每一时刻的轴突变化量时,需要引入前继神经元在该时刻之前的全部发放对于该时刻的影响,这种计算方式会导致计算量增加,而且由于引入的数据过多,无法预先计算和存储的,只能在需要确定某一时间的轴突变化量时,临时进行计算,导致相应延迟增加,且需要占用较多的计算资源。

而本实施例中,则将每一时刻的轴突变化量计算之后,存储在轴突索引表中,从而可以通过索引的方式获取目标时刻的轴突变化量,降低了响应时间,提高了处理速度。

在其中一些实施例中,所述根据所生成的存储地址建立包括所述轴突变化量的轴突索引表之后,还包括:

将所述目标时刻的发放状态输入长度为M的移位寄存器链,其中,所述移位寄存器链存储有所述前继神经元在所述目标时刻之前的M-1个发放状态;

获取所述移位寄存器链并行输出的M位地址数据,所述M位地址数据是由所述前继神经元在所述目标时刻的发放状态和在所述目标时刻之前的M-1个发放状态构成的;

根据所述M位地址数据确定所述目标时刻的轴突变化量的存储地址;

根据所确定的存储地址在所述轴突索引表中索引所述目标时刻的轴突变化量。

如图3所示,本实施例中通过包括移位寄存器链的索引电路记录并索引神经元的发放序列。移位寄存器链中包括多个移位寄存器单元301,移位寄存器单元301的具体数量根据所选用的发放影响值的数量确定,例如,上述实施例中,M等于8,即选择了8个发放影响值,因此,本实施例中,移位寄存器链中移位寄存器单元301的数量为8个。

移位寄存器链中原本存储由目标时刻的发放状态以及目标时刻之前的M-1个发放状态,也就是说,移位寄存器链中共计存储了M个发放状态,移位寄存器单元301中的存储结果在每一个时间步长更新,各个寄存器会更新为其前一个移位寄存器单元301的数值,且新的发放结果s

进一步的,并行读取移位寄存器中存储的结果,也就是同时读取移位寄存器链中多个移位寄存器单元301的结果,这样,所读取的结果为M位地址数据。进一步的,根据该M位地址数据确定相应的存储地址,可以根据所确定的存储地址从构建的轴突索引表LUT(lookup table)中查找相应的轴突变化量。

在其他一些实施例中,还可以通过其他方式记录前继神经元的发放状态。如图4所示,本实施例中,通过包括内存的索引电路记录和索引发放状态。具体的,将发放状态记录在内存中,接下来,从内存中读取发放结果,并根据发放状态在第一权重列表中索引所述第一目标子权重,在第二权重列表中索引所述第二目标子权重。

在其中一些实施例中,所述根据所述M个发放状态生成所述目标时刻的轴突变化量的存储地址,包括:

根据所述M个发放状态生成包括M位数据的二进制地址数据;

将所述二进制地址数据转换为十六进制数据,作为所述目标时刻的轴突变化量的存储地址;

所述根据所述M位地址数据确定所述目标时刻的轴突变化量的存储地址,包括:

将所述M位地址数据转换为十六进制数据,作为索引所述目标时刻的轴突变化量的存储地址。

本实施例中,M个发放状态分别可能为1或0,这样,可以通过这M个发放状态直接作为一个二进制地址数据,本实施例中以所获得的二进制地址数据为10100000做示例性说明,接下来将该二进制地址转换为十六进制数据,本实施例中,将二进制数据10100000转换为十六进制数据具体为A0,这样建立权重索引表时,以该存储地址A0作为相应的权重变化量的存储地址。

相应的,在由权重索引表中索引目标权重变化量时,将由移位寄存器链中并行读取的M位地址信息转换为十六进制数据作为存储地址,根据所获得的存储地址在权重索引表中索引目标权重变化量。

这样,通过进制转换,能够减少存储地址的字节数量,节约所占用的存储空间,例如,二进制数据10100000需要占用八个字节,而相应的十六进制数据A0仅需要占用两个字节的存储空间。

本实施例获得的轴突变化量可以应用于不同的场景,例如,在一个实施例中,该轴突变化量应用于对突触权重的处理过程中。

本发明实施例还提供了一种权重处理方法。

如图1所示,图中横线代表轴突变化量,竖线代表树突,每一横线和竖线的交点w

如图5所示,在一个实施例中,该权重处理方法包括以下步骤:

步骤501:获取目标时刻的轴突变化量。

该轴突变化量是根据以上第一方面中任一项的轴突变化量确定方法确定的,具体的,可以是按照上述方法计算获得的,也可以是按照上述方法建立轴突索引表,并在该轴突索引表中索引获得的轴突变化量。

步骤502:确定当前神经元在所述目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放对于所述目标时刻的第一影响值。

本实施例中,接下来根据当前神经元的历史发放确定目标时刻的第一影响值。

本实施例中,y

其中,y

在其中一个实施例中,可以参考上述轴突索引表的建立方式构建第一影响值索引表。

y

进一步的,参考上述式(5)的索引方式构建式(7)实现对于第一影响值的索引。

步骤503:根据所述轴突变化量和所述第一影响值确定权重变化量。

最后,根据所确定的轴突变化量和第一影响值计算出目标时刻对应的权重变化量,进一步的,还可以根据目标时刻的权重变化量更新目标时刻的权重。

在其中一些实施例中,该步骤503包括:

确定所述目标时刻对应的突触增强最大值和突触减弱最大值;

计算所述轴突变化量、所述突触增强最大值和所述当前神经元在所述目标时刻的发放状态的第一乘积;

计算所述第一影响值、所述突触减弱最大值和所述前继神经元在所述目标时刻的发放状态的第二乘积;

将所述第一乘积和所述第二乘积之和作为所述权重变化量。

本实施例中,可以通过脉冲时间突触可塑性(STDP)机制计算突触权重的权重变化量:

Δw

上述公式(7)中,Δw

实施时,分别计算上述第一乘积和第二乘积,将第一乘积和第二乘积的和作为目标时刻的权重变化量。

上述f

以下式(9)中,w代表w

本发明实施例提供了一种轴突变化量确定装置。

如图6所示,在一个实施例中,该轴突变化量确定装置600包括:

发放状态获取模块601,用于获取前继神经元在目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放状态;

发放影响值确定模块602,用于根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,分别确定所述M个发放状态对于所述前继神经元在所述目标时刻的M个发放影响值;

轴突变化量计算模块603,用于将所述M个发放影响值的和作为所述目标时刻的轴突变化量。

在其中一些实施例中,所述发放影响值确定模块602包括:

权重系数确定子模块,用于根据所述M个发放状态对应的发放时刻与所述目标时刻之间的时间间隔,确定所述M个发放状态对应的M个权重系数,其中,所述权重系数均大于0且小于或等于1,所述权重系数随相对应的发放时刻与所述目标时刻之间的时间间隔的增加而呈比例减小;

发放影响值计算子模块,用于计算所述权重系数与相应的发放状态的乘积作为相应的发放影响值。

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

存储地址生成模块,用于根据所述M个发放状态生成所述目标时刻的轴突变化量的存储地址;

轴突索引表建立模块,用于根据所生成的存储地址建立包括所述轴突变化量的轴突索引表。

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

输入模块,用于将所述目标时刻的发放状态输入长度为M的移位寄存器链,其中,所述移位寄存器链存储有所述前继神经元在所述目标时刻之前的M-1个发放状态;

并行读取模块,用于获取所述移位寄存器链并行输出的M位地址数据,所述M位地址数据是由所述前继神经元在所述目标时刻的发放状态和在所述目标时刻之前的M-1个发放状态构成的;

存储地址确定模块,用于根据所述M位地址数据确定所述目标时刻的轴突变化量的存储地址;

索引模块,用于根据所确定的存储地址在所述轴突索引表中索引所述目标时刻的轴突变化量。

在其中一些实施例中,所述存储地址生成模块包括:

二进制地址数据生成子模块,用于根据所述M个发放状态生成包括M位数据的二进制地址数据;

存储地址生成子模块,用于将所述二进制地址数据转换为十六进制数据,作为所述目标时刻的轴突变化量的存储地址;

所述存储地址确定模块具体用于:将所述M位地址数据转换为十六进制数据,作为索引所述目标时刻的轴突变化量的存储地址。

本实施例的轴突变化量确定装置600能够实现上述轴突输入值更新方法实施例的各个步骤,并能实现基本相同或相似的技术效果,此处不再赘述。

本发明实施例提供了一种权重处理装置。

如图7所示,在一个实施例中,该权重处理装置700包括:

轴突变化量获取模块701,用于获取目标时刻的轴突变化量,所述轴突变化量是根据第一方面中任一项所述的轴突变化量确定方法确定的;

第一影响值确定模块702,用于确定当前神经元在所述目标时刻之前的M-1个发放时刻以及所述目标时刻对应的M个发放对于所述目标时刻的第一影响值;

权重变化量确定模块703,用于根据所述轴突变化量和所述第一影响值确定权重变化量。

在其中一些实施例中,所述权重变化量确定模块703包括:

突触最值确定子模块,用于确定所述目标时刻对应的突触增强最大值和突触减弱最大值;

第一乘积计算子模块,用于计算所述轴突变化量、所述突触增强最大值和所述当前神经元在所述目标时刻的发放状态的第一乘积;

第二乘积计算子模块,用于计算所述第一影响值、所述突触减弱最大值和所述前继神经元在所述目标时刻的发放状态的第二乘积;

权重变化量计算子模块,用于将所述第一乘积和所述第二乘积之和作为所述权重变化量。

本实施例的权重处理装置700能够实现上述权重处理方法实施例的各个步骤,并能实现基本相同或相似的技术效果,此处不再赘述。

本实施例的轴突输入值更新装置能够实现上述轴突输入值更新方法实施例的各个步骤,并能实现基本相同或相似的技术效果,此处不再赘述。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种轴突变化量确定方法和装置、权重处理方法和装置
  • 答案权重的确定方法、答案确定方法、装置和存储介质
技术分类

06120112964878