CN113850370A - 数据处理方法及设备、处理芯片 - Google Patents
数据处理方法及设备、处理芯片 Download PDFInfo
- Publication number
- CN113850370A CN113850370A CN202111057523.6A CN202111057523A CN113850370A CN 113850370 A CN113850370 A CN 113850370A CN 202111057523 A CN202111057523 A CN 202111057523A CN 113850370 A CN113850370 A CN 113850370A
- Authority
- CN
- China
- Prior art keywords
- pulse
- neural network
- layer
- processing chip
- impulse
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种数据处理方法及设备、处理芯片,涉及数据处理技术领域。数据处理方法包括:将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号;在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号;根据各脉冲周期内脉冲神经网络的输出脉冲信号,得到音视频信号经过脉冲神经网络处理后的处理结果。本发明中,在利用脉冲神经网络对包括多个脉冲周期的输入脉冲信号的处理时,先对周期进行流线运算,然后再对层进行流线运算,从而能够利用单个处理芯片实现复杂脉冲神经网络的流线运算,降低了对处理芯片的算力要求。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据处理方法及设备、处理芯片。
背景技术
深度神经网络(Deep Neural Networks,简称DNN)的研究近年来取得了飞速发展并得到初步应用。然而深度神经网络算法通常需要消耗大量的算力,大量的算力消耗也会带来更大的功耗,例如经典的深度卷积网络(CNN)模型AlexNet,需要进行至少7.2亿次的乘法运算,一般功耗在10瓦到100瓦左右。
为了提升分类精度,深度神经网络的结构也越来越复杂,目前已经出现超过了1000层的深度神经网络,即使在边缘端,深度神经网络一般都需要50层左右。由于芯片算力资源和存储资源的限制,在对复杂的深度神经网络进行硬件加速时,由于芯片计算资源、存储资源的限制,很少能够将整个深度神经网络一次性映射到芯片上。目前一般会采用流线化运算方式,例如将第一层映射到芯片上,芯片进行运算,同时将第二层的权重准备好,芯片将第一层算完后,进行第二层运算。以此类推,直到全部层运算完毕。
脉冲神经网络(Spiking Neural Network,简称SNN)近年来以其低功耗和更接近人脑的特点吸引了学术界和产业界的关注。在脉冲神经网络中,轴突是接收脉冲的单元,神经元是发送脉冲的单元,一个神经元通过树突连接到多个轴突,树突和轴突的连接点称为突触。轴突接收到脉冲后,所有和这一轴突有突触连接的树突会收到脉冲,进而影响到树突下游神经元。神经元将来自多个轴突的脉冲相加并与之前的膜电压累加,如果数值超过阈值,就向下游发送一个脉冲。脉冲神经网络内传播的是1比特的脉冲,脉冲的激活频率比较低,并且只需要加减法运算,没有乘法运算,算力消耗和功耗都较深度神经网络更低;由此,可以将深度神经网络脉冲化转成脉冲神经网络,从而能够充分利用脉冲神经网络的低功耗优势。
然而,用脉冲神经网络硬件对脉冲化后的深度神经网络进行加速时,也遇到资源不足的问题。若脉冲化后的深度神经网络的规模较大,需要将该网络映射到多片芯片,多片芯片并行工作,则会导致成本过高的问题。
发明内容
本发明的目的是提供了一种数据处理方法及设备、处理芯片,在利用脉冲神经网络对包括多个脉冲周期的输入脉冲信号的处理时,先对周期进行流线运算,然后再对层进行流线运算,从而能够利用单个处理芯片实现复杂脉冲神经网络的流线运算,降低了对处理芯片的算力要求;同时,适用于深度神经网络脉冲化得到的脉冲神经网络,避免了复杂网络需要映射到多个芯片带来的成本消耗。
为实现上述目的,本发明提供了一种数据处理方法,包括:将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号;在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号;根据各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,得到所述音视频信号经过所述脉冲神经网络处理后的处理结果。
本发明还提供了一种处理芯片,用于执行上述的数据处理方法。
本发明还提供了一种数据处理设备,包括:上述的处理芯片。
本发明实施例中,先将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号,在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号,继而再根据多个脉冲周期内脉冲神经网络的输出脉冲信号,得到音视频信号经过脉冲神经网络处理后的处理结果。即在利用脉冲神经网络对包括多个脉冲周期的输入脉冲信号的处理时,先对周期进行流线运算,然后再对层进行流线运算,从而能够利用单个处理芯片实现复杂脉冲神经网络的流线运算,降低了对处理芯片的算力要求;同时,适用于深度神经网络脉冲化得到的脉冲神经网络,避免了复杂网络需要映射到多个芯片带来的成本消耗。
在一个实施例中,在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,包括:在脉冲神经网络的第一层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的第一层的膜电压与输出脉冲信号;在脉冲神经网络的第M层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号以及各所述脉冲周期内所述脉冲神经网络的第M层的膜电压,得到在各所述脉冲周期内所述脉冲神经网络的第M层的膜电压与输出脉冲信号,M为大于1的整数。
在一个实施例中,在脉冲神经网络的第一层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的第一层的膜电压与输出脉冲信号,包括:在脉冲神经网络的第一层被映射到处理芯片时,在所述输入脉冲信号的第一个脉冲周期,所述处理芯片将第一个脉冲周期的所述输入脉冲信号与所述脉冲神经网络的第一层的权重的相乘,得到所述第一个脉冲周期内所述脉冲神经网络的第一层的膜电压;基于所述第一个脉冲周期内所述脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在所述第一个脉冲周期内所述脉冲神经网络的第一层的输出脉冲信号;在所述输入脉冲信号的第N个脉冲周期,所述处理芯片计算在第N个脉冲周期内所述脉冲神经网络的第一层的输入脉冲信号与所述脉冲神经网络的第一层的权重的乘积,N为大于1的整数;计算所述乘积与第N-1个脉冲周期内所述脉冲神经网络的第一层的膜电压的和,作为所述第N个脉冲周期内所述脉冲神经网络的第一层的膜电压;并基于所述第N个脉冲周期内所述脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在所述第N个脉冲周期内所述脉冲神经网络的第一层的输出脉冲信号。
在一个实施例中,在脉冲神经网络的第M层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号以及各所述脉冲周期内所述脉冲神经网络的第M层的膜电压,得到在各所述脉冲周期内所述脉冲神经网络的第M层的膜电压与输出脉冲信号,包括:在脉冲神经网络的第M层被映射到处理芯片时,在所述输入脉冲信号的第一个脉冲周期,所述处理芯片将第一个脉冲周期内所述脉冲神经网络的第M-1层的输出脉冲信号与所述脉冲神经网络的第M层的权重的相乘,得到所述第一个脉冲周期内所述脉冲神经网络的第M层的膜电压;基于所述第一个脉冲周期内所述脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在所述第一个脉冲周期内所述脉冲神经网络的第M层的输出脉冲信号;在所述输入脉冲信号的第N个脉冲周期,所述处理芯片计算在第N个脉冲周期内所述脉冲神经网络的第M-1层的输出脉冲信号与所述脉冲神经网络的第M层的权重的乘积,N为大于1的整数;计算所述乘积与第N-1个脉冲周期内所述脉冲神经网络的第M层的膜电压的和,作为所述第N个脉冲周期内所述脉冲神经网络的第M层的膜电压;并基于所述第N个脉冲周期内所述脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在所述第N个脉冲周期内所述脉冲神经网络的第M层的输出脉冲信号;将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
在一个实施例中,所述处理芯片中的多个神经元核被分为K个神经单元,每个所述神经单元能够被映射所述脉冲神经网络的至少一层,K为大于1的整数;在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,包括:在每次映射过程中,所述脉冲神经网络的连续的K层被依次映射到所述处理芯片的所述K个神经单元,所述多个神经单元基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络被映射的各层的输出脉冲信号;将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
在一个实施例中,所述处理芯片包括多个神经元核,所述多个神经元核被分为K个神经单元,每个所述神经单元能够映射所述脉冲神经网络中的至少一层,K为大于1的整数;在每次映射过程中,所述脉冲神经网络的连续的K层被依次映射到所述处理芯片的所述K个神经单元,所述多个神经单元基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络被映射的各层的输出脉冲信号;所述神经单元用于将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
在一个实施例中,每个所述神经元核的输入脉冲缓存空间均包括:第一缓存空间与第二缓存空间;对于第j个神经单元中的每个所述神经元核,所述神经元核的第一缓存空间用于缓存所述第j个神经单元的输入,所述神经元核的第二缓存空间用于缓存所述第j-1个神经单元计算得到各所述脉冲周期的输出脉冲信号,j为大于0的整数。
附图说明
图1是根据本发明第一实施例中的数据处理方法的具体流程图;
图2是根据本发明第一实施例中的将处理芯片中的多个神经元核分为多个神经单元的示意图;
图3根据本发明第二实施例中的数据处理方法的具体流程图;
图4是图3中的数据处理方法的子步骤2021的具体流程图;
图5是图3中的数据处理方法的子步骤2022的具体流程图;
图6是根据本发明第三实施例中的处理芯片的示意图;
图7是根据本发明第三实施例中的处理芯片中的神经元核的示意图;
图8是根据本发明第三实施例中的处理芯片进行数据处理的示意图;
图9是根据本发明第四实施例中的数据处理设备的示意图。
具体实施方式
以下将结合附图对本发明的各实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。
在下文的描述中,出于说明各种公开的实施例的目的阐述了某些具体细节以提供对各种公开实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一实施例”中的出现无需全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
如该说明书和所附权利要求中所用的单数形式“一”和“”包括复数指代物,除非文中清楚地另外规定。应当指出的是术语“或”通常以其包括“或/和”的含义使用,除非文中清楚地另外规定。
在以下描述中,为了清楚展示本发明的结构及工作方式,将借助诸多方向性词语进行描述,但是应当将“前”、“后”、“左”、“右”、“外”、“内”、“向外”、“向内”、“上”、“下”等词语理解为方便用语,而不应当理解为限定性词语。
本发明第一实施方式涉及一种数据处理方法,应用于处理芯片,处理芯片可以采用该数据处理方法映射脉冲神经网络对音视频信号进行处理,得到相应的处理结果,该处理结果可以用于音视频信号的分类。其中,脉冲神经网络也可以是由深度神经网络脉冲化得到。
本实施方式的数据处理方法的具体流程如图1所示。
步骤101,将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号。
具体而言,处理芯片在接收到待处理的音视频信号后,可以利用处理芯片中的脉冲编码模块将该音视频信号编码为包括X个脉冲周期的输入脉冲信号,X为大于1的整数,X个脉冲周期的输入脉冲信号可以分别表示为:per(1)、per(2)、……、per(X),per(N)则表示X个脉冲周期中的第N个脉冲周期,1<N≤X。需要说明的是,本实施例中以处理芯片中包括脉冲编码模块为例进行说明,然不限于此,还可以由处理芯片连接的外部编码模块对音视频信号进行编码,然后将编码得到的包括X个脉冲周期的输入脉冲信号直接输入到处理芯片。
步骤102,在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号。
具体而言,在利用脉冲神经网络对包括X个脉冲周期的输入脉冲信号的处理时,先对周期进行流线运算,然后再对层进行流线运算;脉冲神经网络包括Y层,Y为大于1的整数,脉冲神经网络的Y个层的可以分别表示为:layer(1)、layer(2)、……、layer(Y),layer(M)则表示脉冲神经网络的Y个层中的第M层,1<M≤Y;按照脉冲神经网络的层顺序,依次将脉冲神经网络的各层映射到处理芯片,处理芯片基于多个脉冲周期的输入信号,依次得到在各脉冲周期内脉冲神经网络的输出脉冲信号。
在一个例子中,处理芯片中的多个神经元核被分为K个神经单元,每个神经单元能够被映射脉冲神经网络的至少一层,K为大于1的整数;在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号,包括:在每次映射过程中,脉冲神经网络的连续的K层被依次映射到处理芯片的K个神经单元,多个神经单元基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络被映射的各层的输出脉冲信号,各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号;从而能够充分利用处理芯片的资源,进一步提升了处理芯片的利用。
具体的,请参考图2,处理芯片的神经元核组成了K+1个不同的神经单元,分别为神经单元part(0)至神经单元part(K),外部存储器20用于存储脉冲神经网络的配置信息,例如脉冲神经网络各层的权重以及寄存器配置等;各神经单元与外部存储器20之间进行权重加载、脉冲输入与脉冲输出等操作。其中,神经单元part(0)至神经单元part(K-1)能够映射脉冲神经网络的K层,part(0)用于映射脉冲神经网络的第P层layer(P),P为大于或等于1的整数,其输入为包括X个脉冲周期的输入脉冲信号(P=1),或者part(K-1)的输出;part(1)用于映射脉冲神经网络的第P+1层layer(P+1),其输入为part(0)的输出;以此类推,part(K-1)用于映射脉冲神经网络的第P+K-1层layer(P+K-1),其输入为part(K-2)的输出。其中,处理芯片上剩余的神经元核组成了神经单元part(K),由于神经单元part(K)无法映射神经网络的一层,因此神经单元part(K)未被使用。在脉冲神经网络的多层被依次映射到处理芯片时,K个神经单元每次能够在处理芯片上映射脉冲神经网络上连续的K层,每个神经元单元能够计算得到各脉冲周期中被映射的层的输出脉冲信号;继而,将各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号。
需要说明的是,在每次映射过程中,脉冲神经网络的连续的K层被依次映射到处理芯片的K个神经单元,多个神经单元基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络被映射的各层的输出脉冲信号,各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号时,需要每个神经元核的输入脉冲缓存空间包括至少两个缓存空间,当第j个神经单元part(j)使用其中一个缓存空间进行运算时,神经单元part(j)需要将part(j-1)计算得到的输出脉冲信号存储到另一个缓存空间中,j为大于0的整数。
步骤103,根据各脉冲周期内脉冲神经网络的输出脉冲信号,得到音视频信号经过脉冲神经网络处理后的处理结果。
具体而言,按照脉冲周期的顺序,将脉冲神经网络的输出脉冲信号进行组合,得到音视频信号经过脉冲神经网络处理后的处理结果,该处理结果可以用于音视频信号的分类。
本实施例提供了一种数据处理方法,先将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号,在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号,继而再根据多个脉冲周期内脉冲神经网络的输出脉冲信号,得到音视频信号经过脉冲神经网络处理后的处理结果。即在利用脉冲神经网络对包括多个脉冲周期的输入脉冲信号的处理时,先对周期进行流线运算,然后再对层进行流线运算,从而能够利用单个处理芯片实现复杂脉冲神经网络的流线运算,降低了对处理芯片的算力要求;同时,适用于深度神经网络脉冲化得到的脉冲神经网络,避免了复杂网络需要映射到多个芯片带来的成本消耗。
本发明的第二实施例涉及一种数据处理方法,本实施方式相对于第一实施方式而言:本实施例提供了在脉冲神经网络的多层被依次映射到处理芯片时,处理芯片基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的输出脉冲信号的一种具体实现方式。
本实施例的数据处理方法的具体流程如图3所示。
步骤201,将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号。与第一实施例的步骤101大致相同,在此不再赘述。
步骤202,包括以下子步骤:
子步骤2021,在脉冲神经网络的第一层被映射到处理芯片时,处理芯片根据多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络的第一层的膜电压与输出脉冲信号。
请参考图4,子步骤2021包括:
子步骤20211,在脉冲神经网络的第一层被映射到处理芯片时,在输入脉冲信号的第一个脉冲周期,处理芯片将第一个脉冲周期的输入脉冲信号与脉冲神经网络的第一层的权重的相乘,得到第一个脉冲周期内脉冲神经网络的第一层的膜电压。
子步骤20212,基于第一个脉冲周期内脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在第一个脉冲周期内脉冲神经网络的第一层的输出脉冲信号。
子步骤20213,在输入脉冲信号的第N个脉冲周期,处理芯片计算第N个脉冲周期的输入脉冲信号与脉冲神经网络的第一层的权重的乘积,N为大于1的整数。
子步骤20214,计算乘积与第N-1个脉冲周期内脉冲神经网络的第一层的膜电压的和,作为第N个脉冲周期内脉冲神经网络的第一层的膜电压;并基于第N个脉冲周期内脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在第N个脉冲周期内脉冲神经网络的第一层的输出脉冲信号。
具体而言,在脉冲神经网络的第一层layer(1)被映射到处理芯片时,处理芯片从外部存储器读取并缓存脉冲神经网络的第一层layer(1)的权重,在第一个脉冲周期per(1)内,处理芯片在映射脉冲神经网络的各层时,无需进行膜电压的累加;并且在X脉冲周期的计算中,无需更新层的权重。
在处理芯片被配置在脉冲神经网络的第一个脉冲周期per(1)时,处理芯片以第一个脉冲周期per(1)的输入脉冲信号作为输入,处理芯片将第一个脉冲周期per(1)的输入脉冲信号与第一层layer(1)的权重相乘,该乘积即为第一个脉冲周期per(1)内脉冲神经网络的第一层layer(1)的膜电压。处理芯片中预设有膜电压阈值,然后将第一个脉冲周期per(1)内脉冲神经网络在第一层layer(1)的膜电压与该膜电压阈值进行比较,当第一个脉冲周期per(1)内脉冲神经网络在第一层layer(1)的膜电压大于或等于该膜电压阈值时,则在第一个脉冲周期内脉冲神经网络在第一层layer(1)的输出脉冲信号为1;当第一层layer(1)的膜电压小于该膜电压阈值时,则在第一个脉冲周期per(1)内脉冲神经网络在第一层layer(1)的输出脉冲信号为0。
在处理芯片被配置在脉冲神经网络的第N个脉冲周期per(N)时,处理芯片以第N个脉冲周期per(N)的输入脉冲信号作为输入,处理芯片计算第N个脉冲周期per(N)的输入脉冲信号与第一层layer(1)的权重的乘积,并将该乘积与第N-1个脉冲周期per(N-1)内第一层layer(1)的膜电压相加,得到的和即为第N个脉冲周期per(N)内脉冲神经网络在第一层layer(1)的膜电压,然后将第N个脉冲周期per(N)内脉冲神经网络在第一层layer(1)的膜电压与预设的膜电压阈值进行比较,当第N个脉冲周期per(N)内脉冲神经网络在第一层layer(1)的膜电压大于或等于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第一层layer(1)的输出脉冲信号为1;当第N个脉冲周期per(N)内第一层layer(1)的膜电压小于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第一层layer(1)的输出脉冲信号为0。
以N=2为例,在处理芯片被配置在脉冲神经网络的第二个脉冲周期per(2)时,处理芯片以第二个脉冲周期per(2)的输入脉冲信号作为输入,处理芯片计算第二个脉冲周期per(2)的输入脉冲信号与第一层layer(1)的权重的乘积,并将该乘积与第一个脉冲周期per(1)内第一层layer(1)的膜电压相加,得到的和即为第二个脉冲周期per(2)内脉冲神经网络在第一层layer(1)的膜电压,然后将第二个脉冲周期per(2)内脉冲神经网络在第一层layer(1)的膜电压与预设的膜电压阈值进行比较,当第二个脉冲周期per(2)内脉冲神经网络在第一层layer(1)的膜电压大于或等于该膜电压阈值时,则在第二个脉冲周期per(2)内脉冲神经网络在第一层layer(1)的输出脉冲信号为1;当第二个脉冲周期per(2)内第一层layer(1)的膜电压小于该膜电压阈值时,则在第二个脉冲周期per(2)内脉冲神经网络在第一层layer(1)的输出脉冲信号为0。
以此类推,重复上述过程,能够得到X个脉冲周期内脉冲神经网络在第一层layer(1)的输出脉冲信号。
子步骤2022,在脉冲神经网络的第M层被映射到处理芯片时,处理芯片根据多个脉冲周期的输入脉冲信号以及各脉冲周期内脉冲神经网络的第M层的膜电压,得到在各脉冲周期内脉冲神经网络的第M层的膜电压与输出脉冲信号,M为大于1的整数。
请参考图5,子步骤2022包括:
子步骤20221,在脉冲神经网络的第M层被映射到处理芯片时,在输入脉冲信号的第一个脉冲周期,处理芯片将第一个脉冲周期内脉冲神经网络的第M-1层的输出脉冲信号与脉冲神经网络的第M层的权重的相乘,得到第一个脉冲周期内脉冲神经网络的第M层的膜电压。
子步骤20222,基于第一个脉冲周期内脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在第一个脉冲周期内脉冲神经网络的第M层的输出脉冲信号。
子步骤20223,在输入脉冲信号的第N个脉冲周期,处理芯片计算在第N个脉冲周期内脉冲神经网络的第M-1层的输出脉冲信号与脉冲神经网络的第M层的权重的乘积,N为大于1的整数。
子步骤20224,计算乘积与第N-1个脉冲周期内脉冲神经网络的第M层的膜电压的和,作为第N个脉冲周期内脉冲神经网络的第M层的膜电压;并基于第N个脉冲周期内脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在第N个脉冲周期内脉冲神经网络的第M层的输出脉冲信号。
子步骤20225,将各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号。
具体而言,在脉冲神经网络的第M层layer(M)被映射到处理芯片时,处理芯片从外部存储器读取并缓存脉冲神经网络的第M层layer(M)的权重,在第一个脉冲周期per(1)内,处理芯片在映射脉冲神经网络的各层时,无需进行膜电压的累加;并且在X脉冲周期的计算中,无需更新层的权重。
在处理芯片被配置在脉冲神经网络的第一个脉冲周期per(1)时,处理芯片以第一个脉冲周期per(1)内脉冲神经网络的第M-1层layer(M-1)的输出脉冲信号作为输入,处理芯片计算第一个脉冲周期per(1)内第M-1层layer(M-1)的输出脉冲信号与第M层layer(M)的权重的乘积,该乘积即为第一个脉冲周期per(1)内脉冲神经网络的第M层layer(M)的膜电压,然后将第一个脉冲周期per(1)内脉冲神经网络在第M层layer(M)的膜电压与该膜电压阈值进行比较,当第一个脉冲周期per(1)内脉冲神经网络在第M层layer(M)的膜电压大于或等于该膜电压阈值时,则在第一个脉冲周期内脉冲神经网络在第M层layer(M)的输出脉冲信号为1;当第M层layer(M)的膜电压小于该膜电压阈值时,则在第一个脉冲周期per(1)内脉冲神经网络在第M层layer(M)的输出脉冲信号为0。
在处理芯片被配置在脉冲神经网络的第N个脉冲周期per(N)时,处理芯片以第N个脉冲周期per(N)内脉冲神经网络第M-1层layer(M-1)的输出脉冲信号作为输入,处理芯片计算第N个脉冲周期per(N)的第M-1层layer(M-1)的输出脉冲信号与第M层layer(M)的权重的乘积,并将该乘积与第N-1个脉冲周期per(N-1)内第M层layer(M)的膜电压相加,得到的和即为第N个脉冲周期per(N)内脉冲神经网络在第M层layer(M)的膜电压,然后将第N个脉冲周期per(N)内脉冲神经网络在第M层layer(M)的膜电压与预设的膜电压阈值进行比较,当第N个脉冲周期per(N)内脉冲神经网络在第M层layer(M)的膜电压大于或等于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第M层layer(M)的输出脉冲信号为1;当第N个脉冲周期per(N)内第M层layer(M)的膜电压小于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第M层layer(M)的输出脉冲信号为0。
以M=2为例,脉冲神经网络的第二层layer(2)被映射到处理芯片,在处理芯片被配置在脉冲神经网络的第一个脉冲周期per(1)时,处理芯片以第一个脉冲周期per(1)内脉冲神经网络的第1层layer(1)的输出脉冲信号作为输入,处理芯片计算第一个脉冲周期per(1)内第1层layer(1)的输出脉冲信号与第二层layer(2)的权重的乘积,该乘积即为第一个脉冲周期per(1)内脉冲神经网络的第二层layer(2)的膜电压,然后将第一个脉冲周期per(1)内脉冲神经网络在第二层layer(2)的膜电压与该膜电压阈值进行比较,当第一个脉冲周期per(1)内脉冲神经网络在第二层layer(2)的膜电压大于或等于该膜电压阈值时,则在第一个脉冲周期内脉冲神经网络在第二层layer(2)的输出脉冲信号为1;当第二层layer(2)的膜电压小于该膜电压阈值时,则在第一个脉冲周期per(1)内脉冲神经网络在第二层layer(2)的输出脉冲信号为0。
在处理芯片被配置在脉冲神经网络的第N个脉冲周期per(N)时,处理芯片以第N个脉冲周期per(N)内脉冲神经网络第一层layer(1)的输出脉冲信号作为输入,处理芯片计算第N个脉冲周期per(N)的第一层layer(1))的输出脉冲信号与第二层layer(2)的权重的乘积,并将该乘积与第N-1个脉冲周期per(N-1)内第二层layer(2)的膜电压相加,得到的和即为第N个脉冲周期per(N)内脉冲神经网络在第二层layer(2)的膜电压,然后将第N个脉冲周期per(N)内脉冲神经网络在第二层layer(2)的膜电压与预设的膜电压阈值进行比较,当第N个脉冲周期per(N)内脉冲神经网络在第二层layer(2)的膜电压大于或等于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第二层layer(2)的输出脉冲信号为1;当第N个脉冲周期per(N)内第二层layer(2)的膜电压小于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第二层layer(2)的输出脉冲信号为0。
重复上述过程,直至在脉冲神经网络的最后一层layer(Y)被映射到处理芯片,处理芯片从外部存储器读取并缓存脉冲神经网络的第Y层layer(Y)的权重;在处理芯片被配置在脉冲神经网络的第一个脉冲周期per(1)时,处理芯片以第一个脉冲周期per(1)内脉冲神经网络的第Y-1层layer(Y-1)的输出脉冲信号作为输入,处理芯片计算第一个脉冲周期per(1)内第Y-1层layer(Y-1)的输出脉冲信号与第Y层layer(Y)的权重的乘积,该乘积即为第一个脉冲周期per(1)内脉冲神经网络的第Y层layer(Y)的膜电压,然后将第一个脉冲周期per(1)内脉冲神经网络在第Y层layer(Y)的膜电压与该膜电压阈值进行比较,当第一个脉冲周期per(1)内脉冲神经网络在第Y层layer(Y)的膜电压大于或等于该膜电压阈值时,则在第一个脉冲周期内脉冲神经网络在第Y层layer(Y)的输出脉冲信号为1;当第Y层layer(Y)的膜电压小于该膜电压阈值时,则在第一个脉冲周期per(1)内脉冲神经网络在第Y层layer(Y)的输出脉冲信号为0。
在处理芯片被配置在脉冲神经网络的第N个脉冲周期per(N)时,处理芯片以第N个脉冲周期per(N)内脉冲神经网络第Y-1层layer(Y-1)的输出脉冲信号作为输入,处理芯片计算第N个脉冲周期per(N)的第Y-1层layer(Y-1)的输出脉冲信号与第Y层layer(Y)的权重的乘积,并将该乘积与第N-1个脉冲周期per(N-1)内第Y层layer(Y)的膜电压相加,得到的和即为第N个脉冲周期per(N)内脉冲神经网络在第Y层layer(Y)的膜电压,然后将第N个脉冲周期per(N)内脉冲神经网络在第Y层layer(Y)的膜电压与预设的膜电压阈值进行比较,当第N个脉冲周期per(N)内脉冲神经网络在第Y层layer(Y)的膜电压大于或等于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第Y层layer(Y)的输出脉冲信号为1;当第N个脉冲周期per(N)内第Y层layer(Y)的膜电压小于该膜电压阈值时,则在第N个脉冲周期per(N)内脉冲神经网络在第Y层layer(Y)的输出脉冲信号为0。由此,可以得到在各个脉冲周期内脉冲神经网络在第Y层layer(Y)的输出脉冲信号,各个脉冲周期内脉冲神经网络在第Y层layer(Y)的输出脉冲信号即为各个脉冲周期内脉冲神经网络的输出脉冲信号。
步骤203,根据各脉冲周期内脉冲神经网络的输出脉冲信号,得到音视频信号经过脉冲神经网络处理后的处理结果。与第一实施例的步骤103大致相同,在此不再赘述。
本发明的第三实施例涉及一种处理芯片,处理芯片用于第一或第二实施例中的数据处理方法映射脉冲神经网络对音视频信号进行处理,得到相应的处理结果,该处理结果可以用于音视频信号的分类。其中,脉冲神经网络也可以是由深度神经网络脉冲化得到。
请参考图6,处理芯片10包括多个神经元核11;请参考图7,每个神经元核11包括:运算单元111、第一缓存112、第二缓存113以及第三缓存114。
运算单元111用于进行脉冲神经网络的层映射运算。
第一缓存112用于缓存输入的脉冲信号,第二缓存113用于缓存层权重,第三缓存114用于缓存运算单元111计算得到的膜电压。
处理芯片包括多个神经元核,多个神经元核被分为K个神经单元,每个神经单元能够映射脉冲神经网络中的至少一层,K为大于1的整数;在每次映射过程中,脉冲神经网络的连续的K层被依次映射到处理芯片的K个神经单元,多个神经单元基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络被映射的各层的输出脉冲信号;神经单元用于将各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号。
请参考图2,处理芯片的神经元核组成了K+1个不同的神经单元,分别为神经单元part(0)至神经单元part(K),外部存储器20用于存储脉冲神经网络的配置信息,例如脉冲神经网络各层的权重以及寄存器配置等;各神经单元与外部存储器20之间进行权重加载、脉冲输入与脉冲输出等操作。其中,神经单元part(0)至神经单元part(K-1)能够映射脉冲神经网络的一层,part(0)用于映射脉冲神经网络的第P层layer(P),P为大于或等于1的整数,其输入为包括X个脉冲周期的输入脉冲信号(P=1),或者part(K-1)的输出;part(1)用于映射脉冲神经网络的第P+1层layer(P+1),其输入为part(0)的输出;以此类推,part(K-1)用于映射脉冲神经网络的第P+K-1层layer(P+K-1),其输入为part(K-2)的输出。其中,处理芯片上剩余的神经元核组成了神经单元part(K),由于神经单元part(K)无法映射神经网络的一层,因此神经单元part(K)未被使用。在脉冲神经网络的多层被依次映射到处理芯片时,K个神经单元每次能够在处理芯片上映射脉冲神经网络上连续的K层,每个神经元单元能够能够计算得到各脉冲周期中被映射的层的输出脉冲信号;继而,神经单元将各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号。
需要说明的是,在每次映射过程中,脉冲神经网络的连续的K层被依次映射到处理芯片的K个神经单元,多个神经单元基于多个脉冲周期的输入脉冲信号,得到在各脉冲周期内脉冲神经网络被映射的各层的输出脉冲信号,各脉冲周期内脉冲神经网络最后一层的输出脉冲信号为脉冲神经网络的输出脉冲信号时,需要每个神经元核的输入脉冲缓存空间包括至少两个缓存空间,当第j个神经单元part(j)使用其中一个缓存空间进行运算时,神经单元part(j)需要将part(j-1)计算得到的输出脉冲信号存储到另一个缓存空间中,j为大于0的整数。
例如,每个神经元核的输入脉冲缓存空间均包括:第一缓存空间与第二缓存空间;即每个神经元核的第一缓存112包括第一缓存空间与第二缓存空间。对于第j个神经单元中的每个神经元核,神经元核的第一缓存空间用于缓存第j个神经单元的输入,神经元核的第二缓存空间用于缓存第j-1个神经单元计算得到各脉冲周期的输出脉冲信号,j为大于0的整数。
下面结合图8进行进一步说明,图8脉冲神经网络包括4层,分别为第一层layer(1)、第二层layer(2)、第三层layer(3)以及第四层layer(4),音视频信号编码得到包括3个脉冲周期的输入脉冲信号,分别为第一脉冲周期per(1)、第二脉冲周期per(2)以及第三脉冲周期per(3),enc_per(1)表示第一脉冲周期per(1)的输入脉冲信号、enc_per(2)表示第二脉冲周期per(2)的输入脉冲信号、enc_per(3)表示第三脉冲周期per(3)的输入脉冲信号,处理芯片的神经元核被分为两个神经单元,分别为part(0)和part(1),t(0)至t(9)表示处理芯片的运算周期。其中,处理芯片10得到的包括3个脉冲周期的输入脉冲信号enc_out只接入到part0,脉冲神经网络的第一层layer(1)只会映射到part0。当part0被映射到脉冲神经网络的第一层layer(1)时,part0的输入为输入脉冲信号enc_out;否则part0的输入为part1的输出脉冲信号,part1的输入均为part0的输出脉冲信号,第四层layer(4)的输出脉冲信号即为脉冲神经网络的输出脉冲信号。
处理芯片10在运算周期t(0)内,part(0)和part(1)没有运算,第一个脉冲周期per(1)的输入脉冲信号enc_per(1)写入到part(0)的内部缓存中,脉冲神经网络的第一层layer(1)的权重从外部存储器20读出写入part(0)的内部缓存中。
处理芯片10在运算周期t(1)内,part(0)执行第一个脉冲周期per(1)的第一层layer(1)的运算,同时part(0)将第一个脉冲周期per(1)的第一层layer(1)的输出脉冲信号发送给part(1),写入到part(1)的内部缓存中;part(1)在运算周期t(1)内没有执行运算,第二层layer(2)的权重从外部存储器20读出,写入part(1)的内部缓存中;第二个脉冲周期per(2)的输入脉冲信号enc_per(2)写入到part(0)的内部缓存中。
处理芯片10在运算周期t(2)内,part(0)执行第二个脉冲周期per(2)的第一层layer(1)的运算,同时part(0)将第二个脉冲周期per(2)的第一层layer(1)的输出脉冲数据发送给part(1),写入到part(1)的内部缓存中;part(1)执行第一个脉冲周期per(1)的第二层layer(2)的运算,运算周期t(1)内part(0)的输出作为part(1)的输入;同时part(1)将第一个脉冲周期per(1)的第二层layer(2)的输出脉冲数据写入外部存储器20;第三个脉冲周期per(3)的输入脉冲信号enc_per(3)写入到part(0)的内部缓存中。
处理芯片10在运算周期t(3)内,part(0)执行第三个脉冲周期per(3)的第一层layer(1)的运算,同时part(0)第三个脉冲周期per(3)的第一层layer(1)的输出脉冲信号发送给part(1),写入到part(1)的内部缓存中;part(1)执行第二个脉冲周期per(2)的第二层layer(2)的运算,运算周期t(2)内part(0)的输出作为part(1)的输入;同时part(1)将第二个脉冲周期per(2)的第二层layer(2)的输出脉冲信号写入外部存储器20。
处理芯片10在运算周期t(4)内,part(0)没有运算,part(0)从外部存储器20读取脉冲神经网络第三层layer(3)的权重,写入part(0)的内部缓存中,并从外部存储器20读取第一脉冲周期per(1)在第二层layer(2)的输出脉冲信号,写入part(0)的内部缓存中;part(1)执行第三脉冲周期per(3)的第二层layer(2)的运算;同时part(1)将第三脉冲周期per(3)的第二层layer(2)的输出脉冲信号写入存储器。
处理芯片10在运算周期t(5)内,part(0)执行第一脉冲周期per(1)的第三层layer(3)的运算,同时part(0)将第一脉冲周期per(1)的第三层layer(3)的输出脉冲信号发送给part(1),写入part(1)的内部缓存中;part(1)没有运算,从外部存储器20读取第四层layer(4)的权重,写入part(1)的内部缓存中。
处理芯片10在运算周期t(6)内,part(0)执行第二脉冲周期per(2)的第三层layer(3)的运算,同时part(0)将第二脉冲周期per(2)的第三层layer(3)的输出脉冲信号发送给part(1),写入part(1)的内部缓存中;part(1)执行第一脉冲周期per(1)的第四层layer(4)的运算,以运算周期t(5)内part(0)的输出脉冲信号作为输入;同时part(1)将第一脉冲周期per(1)的第四层layer(4)的输出脉冲信号写入外部存储器20。
重复上述过程直至计算得到三个脉冲周期内脉冲神经网络的输出脉冲信号,继而能够基于这两个脉冲周期内脉冲神经网络的输出脉冲信号得到音视频信号经过脉冲神经网络处理后的处理结果。
本发明第四实施例涉及一种数据处理设备,例如为笔记本电脑、台式主机、平板电脑等电子设备,请参考图9,数据处理设备包括第三实施例中的处理芯片10以及与处理芯片10连接的外部存储器20。
以上已详细描述了本发明的较佳实施例,但应理解到,若需要,能修改实施例的方面来采用各种专利、申请和出版物的方面、特征和构思来提供另外的实施例。
考虑到上文的详细描述,能对实施例做出这些和其它变化。一般而言,在权利要求中,所用的术语不应被认为限制在说明书和权利要求中公开的具体实施例,而是应被理解为包括所有可能的实施例连同这些权利要求所享有的全部等同范围。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
将待处理的音视频信号编码为持续多个脉冲周期的输入脉冲信号;
在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号;
根据各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,得到所述音视频信号经过所述脉冲神经网络处理后的处理结果。
2.根据权利要求1所述的数据处理方法,其特征在于,在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,包括:
在脉冲神经网络的第一层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的第一层的膜电压与输出脉冲信号;
在脉冲神经网络的第M层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号以及各所述脉冲周期内所述脉冲神经网络的第M层的膜电压,得到在各所述脉冲周期内所述脉冲神经网络的第M层的膜电压与输出脉冲信号,M为大于1的整数。
3.根据权利要求2所述的数据处理方法,其特征在于,在脉冲神经网络的第一层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的第一层的膜电压与输出脉冲信号,包括:
在脉冲神经网络的第一层被映射到处理芯片时,在所述输入脉冲信号的第一个脉冲周期,所述处理芯片将第一个脉冲周期的所述输入脉冲信号与所述脉冲神经网络的第一层的权重的相乘,得到所述第一个脉冲周期内所述脉冲神经网络的第一层的膜电压;
基于所述第一个脉冲周期内所述脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在所述第一个脉冲周期内所述脉冲神经网络的第一层的输出脉冲信号;
在所述输入脉冲信号的第N个脉冲周期,所述处理芯片计算第N个脉冲周期的所述输入脉冲信号与所述脉冲神经网络的第一层的权重的乘积,N为大于1的整数;
计算所述乘积与第N-1个脉冲周期内所述脉冲神经网络的第一层的膜电压的和,作为所述第N个脉冲周期内所述脉冲神经网络的第一层的膜电压;并基于所述第N个脉冲周期内所述脉冲神经网络的第一层的膜电压与预设的膜电压阈值,得到在所述第N个脉冲周期内所述脉冲神经网络的第一层的输出脉冲信号。
4.根据权利要求2所述的数据处理方法,其特征在于,在脉冲神经网络的第M层被映射到处理芯片时,所述处理芯片根据多个所述脉冲周期的所述输入脉冲信号以及各所述脉冲周期内所述脉冲神经网络的第M层的膜电压,得到在各所述脉冲周期内所述脉冲神经网络的第M层的膜电压与输出脉冲信号,包括:
在脉冲神经网络的第M层被映射到处理芯片时,在所述输入脉冲信号的第一个脉冲周期,所述处理芯片将第一个脉冲周期内所述脉冲神经网络的第M-1层的输出脉冲信号与所述脉冲神经网络的第M层的权重的相乘,得到所述第一个脉冲周期内所述脉冲神经网络的第M层的膜电压;
基于所述第一个脉冲周期内所述脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在所述第一个脉冲周期内所述脉冲神经网络的第M层的输出脉冲信号;
在所述输入脉冲信号的第N个脉冲周期,所述处理芯片计算在第N个脉冲周期内所述脉冲神经网络的第M-1层的输出脉冲信号与所述脉冲神经网络的第M层的权重的乘积,N为大于1的整数;
计算所述乘积与第N-1个脉冲周期内所述脉冲神经网络的第M层的膜电压的和,作为所述第N个脉冲周期内所述脉冲神经网络的第M层的膜电压;并基于所述第N个脉冲周期内所述脉冲神经网络的第M层的膜电压与预设的膜电压阈值,得到在所述第N个脉冲周期内所述脉冲神经网络的第M层的输出脉冲信号;
将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
5.根据权利要求1所述的数据处理方法,其特征在于,所述处理芯片中的多个神经元核被分为K个神经单元,每个所述神经单元能够被映射所述脉冲神经网络的至少一层,K为大于1的整数;
在脉冲神经网络的多层被依次映射到处理芯片时,所述处理芯片基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络的输出脉冲信号,包括:
在每次映射过程中,所述脉冲神经网络的连续的K层被依次映射到所述处理芯片的所述K个神经单元,所述多个神经单元基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络被映射的各层的输出脉冲信号;
将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
6.一种处理芯片,其特征在于,用于执行权利要求1至5中任一项所述的数据处理方法。
7.根据权利要求6所述的处理芯片,其特征在于,所述处理芯片包括多个神经元核,所述多个神经元核被分为K个神经单元,每个所述神经单元能够映射所述脉冲神经网络中的至少一层,K为大于1的整数;
在每次映射过程中,所述脉冲神经网络的连续的K层被依次映射到所述处理芯片的所述K个神经单元,所述多个神经单元基于多个脉冲周期的所述输入脉冲信号,得到在各所述脉冲周期内所述脉冲神经网络被映射的各层的输出脉冲信号;
所述神经单元用于将各脉冲周期内所述脉冲神经网络最后一层的输出脉冲信号为所述脉冲神经网络的输出脉冲信号。
8.根据权利要求7所述的处理芯片,其特征在于,每个所述神经元核的输入脉冲缓存空间均包括:第一缓存空间与第二缓存空间;
对于第j个神经单元中的每个所述神经元核,所述神经元核的第一缓存空间用于缓存所述第j个神经单元的输入,所述神经元核的第二缓存空间用于缓存所述第j-1个神经单元计算得到各所述脉冲周期的输出脉冲信号,j为大于0的整数。
9.一种数据处理设备,其特征在于,包括:权利要求7或8中任一项所述的处理芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057523.6A CN113850370A (zh) | 2021-09-09 | 2021-09-09 | 数据处理方法及设备、处理芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057523.6A CN113850370A (zh) | 2021-09-09 | 2021-09-09 | 数据处理方法及设备、处理芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113850370A true CN113850370A (zh) | 2021-12-28 |
Family
ID=78973686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111057523.6A Pending CN113850370A (zh) | 2021-09-09 | 2021-09-09 | 数据处理方法及设备、处理芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113850370A (zh) |
-
2021
- 2021-09-09 CN CN202111057523.6A patent/CN113850370A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210166112A1 (en) | Method for neural network and apparatus performing same method | |
CN108427990B (zh) | 神经网络计算系统和方法 | |
US20190087713A1 (en) | Compression of sparse deep convolutional network weights | |
JP7240657B2 (ja) | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム | |
CN110097172B (zh) | 一种基于winograd卷积运算的卷积神经网络数据处理方法及装置 | |
CN116415654A (zh) | 一种数据处理方法及相关设备 | |
CN113515370A (zh) | 一种面向大规模深度神经网络的分布式训练方法 | |
Nakahara et al. | High-throughput convolutional neural network on an FPGA by customized JPEG compression | |
CN112633477A (zh) | 一种基于现场可编程阵列的量化神经网络加速方法 | |
Abdelsalam et al. | An efficient FPGA-based overlay inference architecture for fully connected DNNs | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
CN113850362A (zh) | 一种模型蒸馏方法及相关设备 | |
KR20210083624A (ko) | 신경망의 데이터 입력 및 출력을 제어하는 제어 방법 및 장치 | |
Qi et al. | Learning low resource consumption cnn through pruning and quantization | |
CN113935456A (zh) | 脉冲神经网络层内数据处理方法及设备、处理芯片 | |
EP4024281A1 (en) | Method and apparatus for processing data, and related product | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN113850370A (zh) | 数据处理方法及设备、处理芯片 | |
CN111788582A (zh) | 电子设备及其控制方法 | |
Lee et al. | MPQ-YOLACT: Mixed-Precision Quantization for Lightweight YOLACT | |
CN113889126A (zh) | 信号处理方法及设备、处理芯片 | |
Gao et al. | Compressing lstm networks by matrix product operators | |
CN115409150A (zh) | 一种数据压缩方法、数据解压方法及相关设备 | |
US12003255B2 (en) | Method and device for binary coding of signals in order to implement digital MAC operations with dynamic precision |
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 |