CN114970838A - 神经元输出数据计算方法及装置、众核系统、介质 - Google Patents
神经元输出数据计算方法及装置、众核系统、介质 Download PDFInfo
- Publication number
- CN114970838A CN114970838A CN202210468535.6A CN202210468535A CN114970838A CN 114970838 A CN114970838 A CN 114970838A CN 202210468535 A CN202210468535 A CN 202210468535A CN 114970838 A CN114970838 A CN 114970838A
- Authority
- CN
- China
- Prior art keywords
- neuron
- target
- time step
- neurons
- output data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Feedback Control In General (AREA)
Abstract
本公开提供了一种神经元输出数据计算方法,方法包括:获取神经网络的目标神经元的权重信息和输入信号;其中,所述目标神经元的权重信息包括有效权重值;每个有效权重值为所述目标神经元与一个前端神经元不为零的连接权重值;所述目标神经元的输入信号包括多组输入值,每组输入值包括所述目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据。本公开还提供了一种神经元输出数据计算装置、众核系统、计算机可读介质。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种神经元输出数据计算方法及神经元输出数据计算装置、众核系统、计算机可读介质。
背景技术
随着人工智能技术的不断发展,神经网络的应用也越来越广泛,人工智能技术中的神经网络由大量神经元构成,每个神经元可以连接其他神经元,神经元之间的连接强度由连接权重值表示,每个神经元的输入数据由所有与其连接的前端神经元的输出数据以及连接权重值计算得到。
神经网络越复杂,神经网络的性能(如准确率)也就越好,但神经网络越复杂,每个神经元连接的前端神经元可能就越多,计算神经元的输入数据所需要的算力也就越大。
发明内容
本公开提供一种神经元输出数据计算方法及神经元输出数据计算装置、众核系统、计算机可读介质。
第一方面,本公开提供了一种神经元输出数据计算方法,该神经元输出数据计算方法包括:获取神经网络的目标神经元的权重信息和输入信号;其中,所述目标神经元的权重信息包括有效权重值;每个有效权重值为所述目标神经元与一个前端神经元不为零的连接权重值;所述目标神经元的输入信号包括多组输入值,每组输入值包括所述目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据。
第二方面,本公开提供了一种神经元输出数据计算装置,该神经元输出数据计算装置包括:第一模块,用于获取神经网络的目标神经元的权重信息和输入信号;其中,所述目标神经元的权重信息包括有效权重值;每个有效权重值为所述目标神经元与一个前端神经元不为零的连接权重值;所述目标神经元的输入信号包括多组输入值,每组输入值包括所述目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;第二模块,用于根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据。
第三方面,本公开提供了一种众核系统,该众核系统包括:多个处理核;以及,片上网络,被配置为交互所述多个处理核间的数据和外部数据;其中,一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行上述的神经元输出数据计算方法。
第四方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的神经元输出数据计算方法。
本公开所提供的神经元输出数据计算方法及神经元输出数据计算装置、众核系统、计算机可读介质中,通过将前端神经元对目标神经元输出的值以时间步为单位,使得前端神经元在同一时间步向目标神经元输出的值放入一组输入值,以保证可以根据不同时间步对应的输入值,计算出目标神经元在不同时间步的输出数据。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种神经元输出数据计算方法的流程图;
图2为本公开实施例提供的一种神经元输出数据计算方法部分步骤的流程图;
图3为本公开实施例提供的一种神经元输出数据计算方法部分步骤的流程图;
图4为神经网络的部分神经元的连接示意图;
图5为神经网络的神经元B1、B2、B3的权重信息示意图;
图6为神经网络的神经元A1、A2、A3、A4在T1、T2、T3、T4、T55个时间步的向B1、B2、B3的输出的值;
图7为使用本公开实施例提供的一种神经元输出数据计算方法计算神经网络的神经元B1、B2、B3的输入的计算过程示意图;
图8为本公开实施例提供的一种神经元输出数据计算方法计算过程示意图;
图9为本公开实施例提供的一种神经元输出数据计算方法计算过程示意图;
图10为本公开实施例提供的一种神经网络连接权重存储装置的组成框图;
图11为本公开实施例提供的一种众核系统的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种神经元输出数据计算方法的流程图。
参照图1,本公开实施例提供一种神经元输出数据计算方法。
本公开实施例的神经网络可以是脉冲神经网络(Spiking Neural Network,SNN),也可以是人工神经网络(Artificial Neural Network,ANN),也可以是其他由多个神经元组成的神经网络。
具体的,本公开实施例的神经网络可以是加载在众核系统的神经网络,众核系统的至少部分处理核对应神经网络的一个或多个神经元,并负责存储这一个或多个神经元与其他神经元的权重信息,以及计算这一个或多个神经元的输入数据和输出数据等。
本公开实施例的神经元输出数据计算方法可以是由众核系统中具有计算能力的设备执行,如众核系统中的处理核,通过处理核调用众核系统存储空间中存储的计算机可读程序指令的方式来实现;本公开实施例的神经元输出数据计算方法也可以是由众核系统外的具有计算能力的电子设备执行,如与众核系统连接的服务器。
本公开实施例的神经元输出数据计算方法具体包括:
S101、获取神经网络的目标神经元的权重信息和输入信号;
其中,目标神经元的权重信息包括有效权重值;每个有效权重值为目标神经元与一个前端神经元不为零的连接权重值;目标神经元的输入信号包括多组输入值,每组输入值包括目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步。
处理核(具体可以是众核系统中与目标神经元对应的处理核)获取目标神经元的权重信息以及输入信号。
其中,目标神经元为加载在众核系统的神经网络中一个神经元,其权重信息包括有效权重值。每个有效权重值为目标神经元与一个前端神经元不为零的连接权重值。
在目标神经元与多个前端神经元的连接权重都不为零的情况下,目标神经元的权重信息包括多个有效权重值。在一些实施例中,这多个有效权重值按照预定顺序排列存储。
目标神经元的输入信号包括多组输入值,每组输入值都对应一个不同的时间步,其包括在该时间步目标神经元的所有前端神经元向输出的值。
在一些实施例中,获取目标神经元的权重信息和输入信号包括:从目标神经元的有效权重值所在的存储空间并行读取多个目标神经元的前端神经元与目标神经元的连接权重值。
即在从存储空间中获取目标神经元的权重信息和输入信号时,可以通过并行读取的方式,从存储空间中一次性读取多个前端神经元与目标神经元的连接权重值。
S102、根据目标神经元的权重信息和各个时间步对应的输入值计算目标神经元在各个时间步的输出数据。
处理核在获取目标神经元的权重信息和输入信号之后,根据目标神经元的权重信息以及各个时间步对应的输入值计算目标神经元在每个时间步的输出数据。
相比于现有技术中,根据目标神经元的每一个前端神经元的输出的值和该前端神经元与目标神经元的连接权重值计算目标神经元的输出数据的方法,本公开实施例的神经元输出数据计算方法中,通过将前端神经元对目标神经元输出的值以时间步为单位,使得前端神经元在同一时间步向目标神经元输出的值放入一组输入值,以保证可以根据不同时间步对应的输入值,计算出目标神经元在不同时间步的输出数据。
在一些实施例中,目标神经元的权重信息还包括索引信息。
索引信息包括多个标识信息,每个标识信息对应目标神经元的一个前端神经元,用于表示该前端神经元与目标神经元的连接权重值是否为零。
在一些实施例中,索引信息也是按照预定顺序排列的,也就是说,索引信息、有效权重值以及每组输入值的排列顺序都是一致的,可以一一对应。
在一些实施例中,针对任一时间步,可以根据索引信息以及该时间步对应的输入值确定该时间步对应的有效前端神经元,根据有效前端神经元计算目标神经元的输出数据。
图2为根据索引信息以及该时间步对应的输入值确定该时间步对应的有效前端神经元,根据有效前端神经元计算目标神经元的输出数据的具体步骤的流程示意图。
参照图2,本公开实施例提供的一种神经元输出数据计算方法中根据目标神经元的权重信息和输入信号计算目标神经元的输入(S102)步骤具体包括:
S201、根据目标神经元的索引信息以及与该时间步对应的输入值,确定与该时间步对应的有效前端神经元。
其中,有效前端神经元与目标神经元的连接权重值不为零,且有效前端神经元的向目标神经元输出的值不为零。
由于不同时间步对应的输入值可能是不同的,因此,不同时间步对应的有效前端神经元也可能是不同的,因此,在每个时间步,都需要确定有效前端神经元。
在一些实施例中,目标神经元的权重信息中每个标识信息为1位数据,0表示与该标识信息对应的前端神经元与目标神经元的连接权重值为零,1表示与该标识信息对应的前端神经元与目标神经元的连接权重值不为零。
如目标神经元有4个与其连接的前端神经元,分别为第一神经元、第二神经元、第三神经元、第四神经元,其中,第一神经元和第三神经元与目标神经元连接权重不为零,第二神经元和第四神经元与目标神经元连接权重为零,则目标神经元的权重信息为1010。
在一些实施例中,神经网络为脉冲神经网络,即前端神经元向目标神经元输出的值也为0或1。
则根据目标神经元索引信息以及与该时间步对应的输入值,确定与该时间步对应的有效前端神经元可以包括:
将目标神经元的索引信息和与该时间步对应的输入值进行与运算;将与运算结果中不为零的结果所对应的前端神经元,确定为该时间步对应的有效前端神经元。
若标识信息与向目标神经元输出的值的相与结果为零,则说明该前端神经元标识信息为0或该前端神经元在该时间步向目标神经元输出的值为0,或该前端神经元的标识信息和向该前端神经元在该时间步向目标神经元输出的值都为0,即该前端神经元在该时间步并不能为目标神经元的输出数据做贡献,在该时间步为无效前端神经元。
若标识信息与向目标神经元输出的值的相与结果不为零,则说明该前端神经元标识信息不为0且该前端神经元在该时间步向目标神经元的输出的值不为0,即该前端神经元可以为目标神经元的输出数据做贡献,为有效前端神经元。
S202、从目标神经元的有效权重值中获取有效前端神经元与目标神经元的连接权重值,并根据所有有效前端神经元与目标神经元的连接权重值计算目标神经元在该时间步的输出数据。
处理核在获取有效前端神经元之后,从目标神经元的有效权重值中获取有效前端神经元与目标神经元的连接权重值(由于有效前端神经元与目标神经元的连接权重值不为零,因此目标神经元的有效权重值中一定包括有效前端神经元与目标神经元的连接权重值),并根据所有有效前端神经元与目标神经元的连接权重值计算目标神经元的输出数据。
在实际的获取有效前端神经元与目标神经元的连接权重值过程中,可以通过并行读取,从目标神经元的有效权重值所在的存储空间(目标神经元的有效权重值可以分散存储在多个存储空间中)获取所有有效前端神经元与目标神经元的连接权重值。
相比于现有技术中,根据目标神经元的每一个前端神经元在一个时间步的向目标神经元输出的值和该前端神经元与目标神经元的连接权重值计算目标神经元的输出数据的方法,本公开实施例提供的神经元输出数据计算方法中,筛选出与目标神经元的连接权重值为零的前端神经元,以及在该时间步向目标神经元的输出的值为零的前端神经元,只通过剩下的前端神经元(即与目标神经元的连接权重值不为零且向目标神经元的输出的值不为零)计算目标神经元在一个时间步的输入,减少了无效计算(与目标神经元的连接权重值为零或向目标神经元的输出的值为零的前端神经元显然没有对目标神经元的输出数据做出贡献,根据其计算目标神经元的输出数据属于无效计算),节省了系统算力。
尤其是在目标神经元与多个前端神经元的连接权重为零,或目标神经元的多个前端神经元在该时间步向目标神经元的输出数据为零的情况下,使用本公开实施例提供的神经元输出数据计算方法可以大大减少无效计算,节省系统算力,且目标神经元与越多前端神经元的连接权重为零,越多目标神经元的前端神经元的输出数据为零,使用本公开实施例提供的神经元输出数据计算方法减少的无效计算就越多,可以节省的系统算力也越多。
在一些实施例中,可以通过累加有效前端神经元的与目标神经元的连接权重值来计算目标神经元的输出数据。
图3为通过累加有效前端神经元的与目标神经元的连接权重值来计算目标神经元的输出数据的具体步骤的流程示意图。
参照图3,从目标神经元的有效权重值中获取有效前端神经元与目标神经元的连接权重值,并根据所有有效前端神经元与目标神经元的连接权重值计算目标神经元在该时间步的输出数据步骤(步骤S202)具体包括:
S301、获取与该时间步对应有效前端神经元与目标神经元的连接权重值。
S302、对所有与该时间步对应的有效前端神经元与目标神经元的连接权重值进行累加,确定目标神经元在该时间步的输出数据。
由于前端神经元的向目标神经元的输出的值为1或者0,在前端神经元的向目标神经元输出的值为1的情况下,与该前端神经元对应的目标神经元接收到的值为该前端神经元与目标神经元的连接权重值;在前端神经元的向目标神经元的输出的值为0的情况下,与该神经元对应的目标神经元接收到的值也为0。
由于无效前端神经元对应的目标神经元接收的值为0,因此目标神经元接收的值是由所有有效前端神经元对应的目标神经元接收的值累加得到。
若前端神经元为有效前端神经元,即该前端神经元的向目标神经元的输出的值为1,则该前端神经元对应的目标神经元接收到的值为该前端神经元与目标神经元的连接权重值,因此,目标神经元接收的值可以由所有有效前端神经元与目标神经元的连接权重值累加得到。
处理核在确定有效前端神经元之后,从目标神经元的有效权重值中获取有效前端神经元与目标神经元的连接权重值,并通过对所有有效前端神经元与目标神经元的连接权重进行累加计算目标神经元接收的值。
在获取目标神经元接收的值后,根据目标神经元接收的值更新目标神经元的膜电位,并将更新后的膜电位与目标神经元的发放阈值进行对比,当更新后的膜电位达到发放阈值,则目标神经元进行发放,目标神经元的输出数据为1;当更新后的膜电位没有达到发放阈值,则目标神经元不进行发放,目标神经元的输出数据为0。
在实际的获取有效前端神经元的连接权重值的过程中,可以通过从目标神经元的有效权重所在的存储空间并行读取所有有效前端神经元与目标神经元的连接权重值。
在实际的根据所有所述有效前端神经元与所述目标神经元的连接权重值计算所述目标神经元在各个时间步的输出数据的过程中,可以使用多个计算单元并行计算。
参照图8,使用多个计算单元(即图8中正方形)进行并行计算,在一些实施例中,计算单元与目标神经元的前端神经元一一对应,即每个计算单元根据一个前端神经元在该时间步向目标神经元输出的值、标识信息、有效权重值计算该前端神经元对目标神经元输出的值,在某个前端神经元与目标神经元的连接权重值为零或向目标神经元的输出的值为零的情况下,该前端神经元对应的计算单元则不用计算,或者说计算结果直接为零。
如参照图8,权重值1、权重值2对应的前端神经元(即图8中有阴影的计算单元)为有效前端神经元,则对应的计算单元参与计算目标神经元的输出数据,而其他的计算单元(即图8中没有阴影的计算单元)不参与计算。
计算目标神经元输出数据的过程如图9所示,参照图9,将根据图8所示方式确定的有效前端神经元对应的连接权重值输入累加器,即将权重值1和权重值2输入累加器累加,以对目标神经元的膜电位进行更新,并根据更新之后的膜电位判断目标神经元是否进行发放,进而确定目标神经元在该时间步的输出数据。
在一些实施例中,根据目标神经元的权重信息和各个时间步对应的输入值计算目标神经元在各个时间步的输出数据也可以是并行进行的。
也就是说,计算单元并行计算目标神经元在多个时间步的输出数据。
在一些实施例中,在获取目标神经元的前端神经元在一个时间步对应的输入值之后,并不立即根据该输入值计算前端神经元在该时间步的输出数据,而是在获取前端神经元在多个时间步对应的输入值之后,并行计算目标神经元在多个时间步的输出数据。
由于在计算目标神经元在每个时间步的输出数据的过程中,都需要目标神经元的权重信息,因此,若并行计算前端神经元在多个时间步的输出数据,则在计算前端神经元在多个时间步的输出数据的过程中,可以只进行一次目标神经元的权重信息的读取,减少了读取目标神经元的权重信息的频率,增加了计算的效率。
计算多个目标神经元的输出数据的过程也可以是并行进行的,也就是说,并行计算多个目标神经元分别在多个时间步的输出数据。
图4至图7为并行计算目标神经元在多个时间步的输出数据的具体实施例的示意图。
图4为神经网络的部分神经元的连接示意图。
参照图4,A1、A2、A3、A4、B1、B2、B3、C1、C2、C3、C4为神经网络(如脉冲神经网络)的神经元,其中,A1、A2、A3、A4与B1、B2、B3之间、B1、B2、B3与C1、C2、C3、C4之间都存在连接关系,A1、A2、A3、A4为B1、B2、B3的前端神经元,B1、B2、B3为C1、C2、C3、C4的前端神经元。
图5为B1、B2、B3的权重信息示意图。
参照图5,B1与A1、A4的连接权重值为非零值(分别为权重值1、权重值2),与A2、A3的连接权重值为零(或者说没有连接权重值),B2与A4的连接权重值为非零值(为权重值1),与A1、A2、A3的连接权重值为零(或者说没有连接权重值),B3与A2的连接权重值为非零值(为权重值1),与A1、A3、A4的连接权重值为零(或者说没有连接权重值)。
图6为A1、A2、A3、A4这四个神经元在T1、T2、T3、T4、T5 5个时间步向B1、B2、B3的输出的值,其中,第一行为A1分别在T1、T2、T3、T4、T5 5个时间步向B1、B2、B3的输出的值,第二行为A2分别在T1、T2、T3、T4、T5 5个时间步向B1、B2、B3的输出的值,第三行为A3分别在T1、T2、T3、T4、T5 5个时间步向B1、B2、B3的输出的值;对应的,第一排为A1、A2、A3、A4这四个神经元在T1时间步向B1、B2、B3的输出的值,第二排为A1、A2、A3、A4这四个神经元在T2时间步向B1、B2、B3的输出的值,第三排为A1、A2、A3、A4这四个神经元在T3时间步向B1、B2、B3的输出的值,第四排为A1、A2、A3、A4这四个神经元在T4时间步向B1、B2、B3的输出的值,第五排为A1、A2、A3、A4这四个神经元在T5时间步向B1、B2、B3的输出的值。
图7为T1、T2、T3、T4、T5时间步在A1、A2、A3、A4向B1、B2、B3的的输出的值如图6所示、B1、B2、B3的权重信息如图5所示的情况下,使用本公开实施例提供的一种神经元输出数据计算方法计算B1、B2、B3的输出数据的部分计算过程示意图。
参照图7,若B1为目标神经元,在T1时间步,A1、A2、A3、A4向B1的输出的值为1101,B1权重信息中的标识信息为1001,1101与1001相与结果为1001,因此A1、A4为有效前端神经元,只需将A1、A4与B1的连接权重值(即权重值1、权重值2)进行累加,确定B1在T1时间步的输出数据;在T2时间步,A1、A2、A3、A4向B1的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B1在T2时间步的接收的值为0,根据0与发放阈值的对比确定B1在T2时间步的输出数据;在T3时间步,A1、A2、A3、A4向B1的输出的值为1010,B1权重信息中的标识信息为1001,1010与1001相与结果为1000,因此A1为有效前端神经元,因此,B1在T3时间步的输出数据就是根据A1与B1的连接权重值(即权重值1)确定的;在T4时间步,A1、A2、A3、A4向B1的输出的值为0101,B1权重信息中的标识信息为1001,0101与1001相与结果为0001,因此A4为有效前端神经元,因此,B1在T4时间步的输出数据根据A4与B1的连接权重值(即权重值2)计算;在T5时间步,A1、A2、A3、A4向B1的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B1在T5时间步接收的值为0,根据0与发放阈值的对比确定B1在T2时间步的输出数据。
在实际计算过程中,使用图7第一行的数据与第二行的数据进行相与就是并行将A1、A2、A3、A4在T1、T2、T3、T4、T5时间步向B1的输出的值和标识信息进行相与确定在T1、T2、T3、T4、T5时间步有效前端神经元的过程。同理可得,若B2为目标神经元,在T1时间步,A1、A2、A3、A4向B2的输出的值为1101,B2权重信息中的标识信息为0001,1101与0001相与结果为0001,A4为有效前端神经元,B2在T1时间步的输出数据根据A4与B1的连接权重值(即权重值1)确定;在T2时间步,A1、A2、A3、A4向B2的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B2在T2时间步接收的值为0,根据0与发放阈值的对比确定B2在T2时间步的输出数据;在T3时间步,A1、A2、A3、A4向B2的输出的值为1010,B2权重信息中的标识信息为0001,1010与0001相与结果为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B2在T3时间步接收的值为0,根据0与发放阈值的对比确定B2在T3时间步的输出数据;在T4时间步,A1、A2、A3、A4向B2的输出的值为0101,B2权重信息中的标识信息为0001,0101与0001相与结果为0001,因此A4为有效前端神经元,因此,B2在T4时间步的输出数据根据A4与B1的连接权重值(即权重值1)确定;在T5时间步,A1、A2、A3、A4向B2的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B2在T5时间步接收的值为0,根据0与发放阈值的对比确定B2在T5时间步的输出数据。
在实际计算过程中,使用图7第一行的数据与第三行的数据进行相与就是并行将A1、A2、A3、A4在T1、T2、T3、T4、T5时间步向B2的输出的值和标识信息进行相与确定在T1、T2、T3、T4、T5时间步有效前端神经元的过程。
若B3为目标神经元,在T1时间步,A1、A2、A3、A4向B3的输出的值为1101,B1权重信息中的标识信息为0100,1101与0100相与结果为0100,A2为有效前端神经元,B3在T1时间步的输出数据根据A2与B1的连接权重值(即权重值1)确定;在T2时间步,A1、A2、A3、A4向B3的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B3在T2时间步接收的值为0,根据0与发放阈值的对比确定B3在T2时间步的输出数据;在T3时间步,A1、A2、A3、A4向B3的输出的值为1010,B3权重信息中的标识信息为0100,1010与0100相与结果为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B3在T3时间步接收的值为0,根据0与发放阈值的对比确定B3在T3时间步的输出数据;在T4时间步,A1、A2、A3、A4向B3的输出的值为0101,B3权重信息中的标识信息为0100,0101与0100相与结果为0100,因此A2为有效前端神经元,因此,B3在T4时间步的输出数据根据A2与B1的连接权重值(即权重值1)确定;在T5时间步,A1、A2、A3、A4向B3的输出的值为0000,A1、A2、A3、A4都不是有效前端神经元,因此无需计算,就可以获取B3在T5时间步接收的值为0,根据0与发放阈值的对比确定B3在T5时间步的输出数据。
在实际计算过程中,使用图7第一行的数据与第四行的数据进行相与就是并行将A1、A2、A3、A4在T1、T2、T3、T4、T5时间步向B3的输入值和标识信息进行相与确定在T1、T2、T3、T4、T5时间步有效前端神经元的过程。
在实际计算过程中,计算B1、B2、B3在在T1、T2、T3、T4、T5时间步对应的有效神经元的过程也可以是并行进行的,也就是说,使用图7的第一行数据与第二行数据相与、第一行数据与第三行数据相与、第一行数据与第四行数据相与的过程可以是并行进行的。
图10为本公开实施例提供的一种神经网络连接权重存储装置的组成框图。
参照图10,本公开实施例提供了一种神经元输出数据计算装置1000,该神经元输出数据计算装置1000包括:
第一模块1001,用于获取神经网络的目标神经元的权重信息和输入信号;
其中,时间步目标神经元的权重信息包括有效权重值;每个有效权重值为时间步目标神经元与一个前端神经元不为零的连接权重值;时间步目标神经元的输入信号包括多组输入值,每组输入值包括时间步目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;
第二模块1002,用于根据时间步目标神经元的权重信息和各个时间步对应的输入值,计算时间步目标神经元在各个时间步的输出数据。
图11为本公开实施例提供的一种众核系统的组成框图。
参照图11,本公开实施例提供了一种众核系统,该众核系统包括多个处理核1101以及片上网络1102,其中,多个处理核1101均与片上网络1102连接,片上网络1102用于交互多个处理核间的数据和外部数据。
其中,一个或多个处理核1101中存储有一个或多个指令,一个或多个指令被一个或多个处理核1101执行,以使一个或多个处理核1101能够执行上述的神经元输出数据计算方法。
此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的神经元输出数据计算方法。
本公开实施例还提供另一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的神经网络的神经元输出数据计算方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (10)
1.一种神经元输出数据计算方法,包括:
获取神经网络的目标神经元的权重信息和输入信号;其中,所述目标神经元的权重信息包括有效权重值;每个有效权重值为所述目标神经元与一个前端神经元不为零的连接权重值;所述目标神经元的输入信号包括多组输入值,每组输入值包括所述目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;
根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据。
2.根据权利要求1所述的方法,其中,所述根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据,包括:
根据所述目标神经元的权重信息和各个时间步对应的输入值,并行计算所述目标神经元在各个时间步的输出数据。
3.根据权利要求1所述的方法,其中,所述目标神经元的权重信息还包括索引信息;所述索引信息包括多个标识信息,每个标识信息对应所述目标神经元的一个前端神经元,用于表示该前端神经元与所述目标神经元的连接权重值是否为零。
4.根据权利要求3所述的方法,其中,所述根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据,包括:
针对任一时间步,根据所述目标神经元的索引信息以及与该时间步对应的输入值,确定与该时间步对应的有效前端神经元,所述有效前端神经元与所述目标神经元的连接权重值不为零,且所述有效前端神经元在该时间步向目标神经元输出的值不为零;
从所述目标神经元的有效权重值中获取所述有效前端神经元与所述目标神经元的连接权重值,并根据所有所述有效前端神经元与所述目标神经元的连接权重值计算所述目标神经元在该时间步的输出数据。
5.根据权利要求4所述的方法,其中,所述神经网络为脉冲神经网络;所述从所述目标神经元的有效权重值中获取所述有效前端神经元与所述目标神经元的连接权重值,并根据所有所述有效前端神经元与所述目标神经元的连接权重值计算所述目标神经元在该时间步的输出数据,包括:
获取与该时间步对应的有效前端神经元与所述目标神经元的连接权重值;
对所有与该时间步对应的有效前端神经元与所述目标神经元的连接权重值进行累加,确定所述目标神经元在该时间步的输出数据。
6.根据权利要求4所述的方法,其中,所述权重信息中每个标识信息为1位数据,0表示与该标识信息对应的前端神经元与所述目标神经元的连接权重值为零,1表示与该标识信息对应的前端神经元与所述目标神经元的连接权重值不为零,所述根据所述目标神经元的索引信息以及与该时间步对应的输入值,确定与该时间步对应的有效前端神经元,包括:
将所述目标神经元的索引信息和与该时间步对应的输入值进行与运算;
将与运算结果中不为零的结果所对应的前端神经元,确定为该时间步对应的有效前端神经元。
7.根据权利要求1所述的方法,其中,所述目标神经元的数量为多个,所述根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据,包括:
根据多个所述目标神经元的权重信息以及所述多个目标神经元在各个时间步对应的输入值,并行计算所述多个目标神经元在各个时间步的输出数据。
8.一种神经元输出数据计算装置,包括:
第一模块,用于获取神经网络的目标神经元的权重信息和输入信号;
其中,所述目标神经元的权重信息包括有效权重值;每个有效权重值为所述目标神经元与一个前端神经元不为零的连接权重值;所述目标神经元的输入信号包括多组输入值,每组输入值包括所述目标神经元的所有前端神经元在同一时间步向目标神经元输出的值,不同组输入值对应不同的时间步;
第二模块,用于根据所述目标神经元的权重信息和各个时间步对应的输入值,计算所述目标神经元在各个时间步的输出数据。
9.一种众核系统,包括:
多个处理核,至少部分处理核上有神经元,多个处理核上的神经元组成神经网络;
片上网络,被配置为交互所述多个处理核间的数据和外部数据;
一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行权利要求1-7中任一项所述的神经元输出数据计算方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现如权利要求1至7中任一项所述的神经元输出数据计算方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210468535.6A CN114970838A (zh) | 2022-04-29 | 2022-04-29 | 神经元输出数据计算方法及装置、众核系统、介质 |
PCT/CN2023/092017 WO2023208243A1 (zh) | 2022-04-29 | 2023-05-04 | 权重存储方法、传输方法、计算方法、装置、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210468535.6A CN114970838A (zh) | 2022-04-29 | 2022-04-29 | 神经元输出数据计算方法及装置、众核系统、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114970838A true CN114970838A (zh) | 2022-08-30 |
Family
ID=82979204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210468535.6A Pending CN114970838A (zh) | 2022-04-29 | 2022-04-29 | 神经元输出数据计算方法及装置、众核系统、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114970838A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116863490A (zh) * | 2023-09-04 | 2023-10-10 | 之江实验室 | 面向FeFET存储阵列的数字识别方法及硬件加速器 |
-
2022
- 2022-04-29 CN CN202210468535.6A patent/CN114970838A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116863490A (zh) * | 2023-09-04 | 2023-10-10 | 之江实验室 | 面向FeFET存储阵列的数字识别方法及硬件加速器 |
CN116863490B (zh) * | 2023-09-04 | 2023-12-12 | 之江实验室 | 面向FeFET存储阵列的数字识别方法及硬件加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163368B (zh) | 基于混合精度的深度学习模型训练方法、装置及系统 | |
US10635655B2 (en) | Device, method and program for securely reducing an amount of records in a database | |
CN112395247B (zh) | 数据的处理方法、存算一体芯片 | |
CN109840837B (zh) | 财务数据的处理方法、装置、计算机可读介质及电子设备 | |
CN114970838A (zh) | 神经元输出数据计算方法及装置、众核系统、介质 | |
CN110163634B (zh) | 基于区块链的退款方法和装置、电子设备 | |
CN112596872A (zh) | 任务调度、预处理、处理方法及设备、处理单元、介质 | |
CN109377214A (zh) | 一种支付方法、计算机可读存储介质及服务器 | |
CN110490734B (zh) | 交易组构建、广播方法和系统、设备及存储介质 | |
CN112835719B (zh) | 任务处理的方法和装置、众核系统、计算机可读介质 | |
CN114780039A (zh) | 存储方法、计算方法、存储装置、众核系统、介质 | |
CN114861895A (zh) | 神经网络神经元信息存储方法及装置、众核系统、介质 | |
CN114219497A (zh) | 账户信息确定方法、装置及服务器 | |
CN109741163B (zh) | 账户数据一致性管理方法、装置及存储介质 | |
CN114792129A (zh) | 权重存储方法、装置、电子设备及计算机可读介质 | |
CN114861896A (zh) | 神经网络神经元信息处理方法及装置、众核系统、介质 | |
CN113905066B (zh) | 物联网的组网方法、物联网的组网装置及电子设备 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN111091099A (zh) | 一种场景识别模型的构建方法、场景识别方法及设备 | |
CN112822113B (zh) | 路由地址的获取方法及装置、电子设备和可读存储介质 | |
CN109729008A (zh) | 路由选择方法、装置及计算机设备 | |
CN114881221A (zh) | 映射方案优化方法及装置、电子设备、可读存储介质 | |
CN114418147A (zh) | 主充电模块异常的处理方法、装置、终端及存储介质 | |
CN111079390B (zh) | 一种复选框列表的选择状态确定方法以及装置 | |
CN106886478A (zh) | 一种数据过滤方法及监控服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |