CN114819122B - 基于脉冲神经网络的数据处理方法及装置 - Google Patents
基于脉冲神经网络的数据处理方法及装置 Download PDFInfo
- Publication number
- CN114819122B CN114819122B CN202210316689.3A CN202210316689A CN114819122B CN 114819122 B CN114819122 B CN 114819122B CN 202210316689 A CN202210316689 A CN 202210316689A CN 114819122 B CN114819122 B CN 114819122B
- Authority
- CN
- China
- Prior art keywords
- code
- pulse
- code bit
- compression
- neural network
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 56
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 230000006835 compression Effects 0.000 claims abstract description 84
- 238000007906 compression Methods 0.000 claims abstract description 84
- 238000011176 pooling Methods 0.000 claims abstract description 67
- 108010076504 Protein Sorting Signals Proteins 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000012421 spiking Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 210000002569 neuron Anatomy 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供一种基于脉冲神经网络的数据处理方法及装置。所述方法包括:将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。本申请实施例提供的基于脉冲神经网络的数据处理方法,通过将脉冲信号序列进行压缩来形成压缩编码,使得压缩编码的长度,相较于脉冲信号序列的长度大幅度减少,从而在进行存储时,对脉冲存储空间的需求呈指数级的缩小。且由于形成的压缩编码的长度短,因此在进行池化计算时,其计算时间可得到指数级的缩小,提高了池化效率,进而提高了对输入SNN网络模型的数据的处理效率。
Description
技术领域
本申请涉及脉冲神经网络技术领域,具体涉及一种基于脉冲神经网络的数据处理方法及装置。
背景技术
随着脑科学和类脑计算技术的发展,脉冲神经网络(Spiking Neural Network,SNN)被认为是一种接近大脑信息处理方式的计算模型,可以模仿人类的大脑来处理图像或语音等数据,具有低功耗和结构简单的优点。
相关技术中,利用脉冲神经网络进行图像或声音等数据处理时,是通过SNN网络模型对输入数据,如图像帧或语音数据基于脉冲频率编码的方式形成多个脉冲信号序列,然后通过SNN网络模型进行池化,从而把多个脉冲信号序列池化为一个输出,获得目标结果。
通过脉冲频率编码的方式形成的脉冲信号序列,是由每个时刻的脉冲信号形成的,而这样形成的脉冲信号序列需要将每个时刻的脉冲信号分别存放到不同的寄存器中。如N个时刻的脉冲信号形成的脉冲信号序列,需要长度为N的寄存器来存放,且SNN网络模型需要对每一个输入的脉冲信号序列进行计数才能得到最终的池化结果。然而,在实际中,脉冲信号序列的长度通常较长,即N的值往往比较大,导致在硬件资源受限的情况下,对脉冲信号序列池化的效率低,进而影响对输入SNN网络模型的数据的处理效率。
发明内容
本申请实施例提供一种基于脉冲神经网络的数据处理方法及装置,提高对输入SNN网络模型的数据的处理效率。
第一方面,本申请实施例提供一基于脉冲神经网络的数据处理方法,包括:
将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
在一个实施例中,将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码,包括:
将各脉冲信号序列以脉冲个数的二进制码的形式进行压缩,获取各所述压缩编码。
在一个实施例中,所述压缩编码的编码位数根据各脉冲信号序列中的最大脉冲信号个数确定。
在一实施例中,对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据,包括:
对各所述压缩编码通过所述脉冲神经网络进行最大值池化,获取目标数据。
在一实施例中,对各所述压缩编码通过所述脉冲神经网络进行最大值池化,获取目标数据,包括:
将各所述压缩编码从压缩编码的最高码位,到压缩编码的最低码位,依次移位进行最大值池化计算,获取每个码位对应的输出值;
根据各所述码位的输出值,形成所述目标数据。
在一实施例中,各所述码位中当前码位的输出值为:
在一实施例中,当所述当前码位为最高码位时,所述当前码位的权重为1。
第二方面,本申请实施例提供一种基于脉冲神经网络的数据处理装置,包括:
压缩编码模块,用于将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
数据池化模块,用于对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的基于脉冲神经网络的数据处理方法的步骤。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于脉冲神经网络的数据处理方法的步骤。
本申请实施例提供的基于脉冲神经网络的数据处理方法及装置,将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码,并对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据,从而通过将脉冲信号序列进行压缩来形成压缩编码,使得压缩编码的长度,相较于脉冲信号序列的长度大幅度减少,从而在进行存储时,对脉冲存储空间的需求呈指数级的缩小。且由于形成的压缩编码的长度短,因此在进行池化计算时,其计算时间可得到指数级的缩小,提高了池化效率,进而提高了对输入SNN网络模型的数据的处理效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于脉冲神经网络的数据处理方法的流程示意图;
图2是相关技术中脉冲神经网络池化神经元示意图;
图3是本申请实施例提供的脉冲神经网络池化神经元示意图;
图4是本申请实施例提供的基于脉冲神经网络的数据处理装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图对本申请实施例进行详细的阐述。
参见图1,是本发明实施例提供的基于脉冲神经网络的数据处理方法的流程示意图之一,该方法应用于服务器中,用于对输入脉冲神经网络的数据,如图像帧或语音数据进行处理。如图1所示,本实施例提供的一种基于脉冲神经网络的数据处理方法包括:
步骤101,根据将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
步骤102,对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
通过将脉冲信号序列进行压缩来形成压缩编码,使得压缩编码的长度,相较于脉冲信号序列的长度大幅度减少,从而在进行存储时,对脉冲存储空间的需求呈指数级的缩小。且由于形成的压缩编码的长度短,因此在进行池化计算时,其计算时间可得到指数级的缩小,提高了池化效率,进而提高了对输入SNN网络模型的数据的处理效率。
相关技术中,在对输入脉冲神经网络的输入数据进行处理时,脉冲神经网络是将某段时间内,输入数据产生的多个脉冲信号形成一个长度为N的0/1(1表示有脉冲,0表示没有脉冲)脉冲信号序列来表示N个时刻内某个脉冲信号输入的情况。该脉冲信号序列的信号强度由该段时间内该信号线上的脉冲的数量来决定,数量越大表示信号越强,数量越小表示信号越弱。很显然,用这种方式表示一个强度很大的信号需要很长的脉冲信号序列。同时,上述N个时刻的脉冲输入值需要用长度为N的寄存器来存放,而实际应用中,N的值往往会达到128、1024甚至更高,导致寄存器的需求量大。且由该脉冲信号序列形成的脉冲频率编码需要长达128位甚至更高位数,在硬件资源受限的情况下,对脉冲信号进行池化计算的效率较低。
而考虑到脉冲频率编码用脉冲的个数表示信号的强度,其信号的强度与脉冲的具***置无关,因此,在一实施例中,可以用脉冲信号序列中各脉冲信号的个数的M进制值的形式,对输入数据产生的各脉冲信号序列进行压缩,来获取压缩后的脉冲频率编码,即压缩编码。其中,输入数据可以是图像帧或语音数据等。
为使需要的存储空间足够小,在一实施例中,可通过将任一脉冲信号序列中的脉冲信号个数以二进制补码的形式进行压缩,从而得到脉冲信号个数的二进制值来作为压缩编码,使得压缩编码的长度呈指数级缩小,进而使得脉冲存储空间能够有指数级的缩小。
而为使每个压缩编码的编码位数一致,以方便后续进行池化计算,在一实施例中,各压缩编码的编码位数根据各脉冲信号序列中的最大脉冲信号个数确定。
示例性的,把脉冲信号的个数编码为二进制补码进行压缩,即最大脉冲信号个数为N的编码位数B为:
B=log2(N+1)
例如,当各脉冲信号序列中最大脉冲信号个数N=255时,B=8;脉冲信号个数为20的脉冲信号序列则通过二进制补码压缩为0b00010100的压缩编码,脉冲个数为255的脉冲信号序列则通过二进制补码压缩为0b11111111的压缩编码。可见,压缩编码被压缩到原来的3.1%,同时寄存器也从原来需要的225位寄存器变为仅需要8位寄存器来存储,大大节省了存储空间。
以输入数据为图像帧为例,将图像帧实时输入脉冲神经网络,通过脉冲神经网络对图像帧进行脉冲转换,得到图像帧的多个脉冲信号序列,然后通过脉冲神经网络对图像帧转化的各脉冲序列的脉冲个数进行压缩,得到图像帧的各压缩编码。
在一实施例中,在通过压缩获取到各压缩编码后,对各压缩编码通过脉冲神经网络中的池化神经元进行池化计算,通过池化神经元把多个输入的压缩编码池化为一个输出,即目标数据。
常见的池化计算类型有均值池化和最大值池化。均值池化输出所有输入的平均值,一般可以用所有输入权重设置为1/n(n为输入的个数)的积分神经元来代替;而最大值池化则需要选择脉冲数量最大的输入来输出,此时需要对每一个输入进行计数然后比较出最大值。
相关技术中,脉冲神经网络池化神经元如图2所示。由于其脉冲信号的长度为N,而在进行最大值池化计算时,需要对每一个输入进行计数然后比较出最大值,因此其最大化池化计算复杂,并不好实现,所以,常见的SNN网络一般没有用最大值池化神经元。
为此,在一实施例中,在通过压缩获取到各压缩编码后,由于各压缩编码的编码位数少,因此可将各压缩编码通过脉冲神经网络进行最大值池化,来获取目标数据,使针对脉冲信号的最大值池化计算所需的时间呈指数级缩小,从而解决现有SNN网络无法快速进行最大值池化的技术问题。
在一实施例中,对各所述压缩编码通过所述脉冲神经网络进行最大值池化,获取目标数据,包括:
将各所述压缩编码从压缩编码的最高码位,到压缩编码的最低码位,依次移位进行最大值池化计算,获取每个码位对应的输出值;
根据各所述码位的输出值,形成所述目标数据。
最大值池化计算中,最大值选择的方式是压缩编码的最高位到最低位依次以脉冲的形式进行输入来比较,高位是1的表示脉冲值大,则留下,是0的表示脉冲值小,则淘汰;如果都是0则都不淘汰;直到选出一个最大值的脉冲值,或者比较到最低位留下多个同样最大值的脉冲值。在从高到低依次比较选择的同时,依次输出比较的最大值,即为最大值池化的输出结果。示例性的,各压缩编码分别为“011001”、“001110”、“010110”,其中压缩编码中最左侧码位为最高位,从左往右依次递减,即最右侧码位为最低位。在进行最大值池化计算时,先将“011001”中的最高位脉冲值“0”、“001110”中的最高位脉冲值“0”以及“010110”中的最高位脉冲值“0”三者进行比较;三者脉冲值都是0,则不淘汰,并输出该最高码位最大值池化计算后对应的最大值“0”。然后,将各压缩编码整体向左移位,获取“011001”中下一码位的脉冲值“1”,“001110”中下一码位的脉冲值“0”以及“010110”中下一码位的脉冲值“1”三者进行比较,三者脉冲值中“1”表示脉冲值大,则留下,“0”则淘汰,即留下“011001”以及“010110”,而“001110”淘汰,并将该码位通过最大值池化计算后得到的最大值“1”作为该码位对应的输出值。然后,再将未淘汰的压缩编码整体向左移位,获取“011001”中的码位“1”,“010110”中的码位“0”,而由于“001110”被淘汰,因此不在获取其对应码位的脉冲值。然后将获取到的“011001”中的码位“1”,“010110”中的码位“0”进行比较,两者中“1”表示脉冲值大则留下,“0”则淘汰,即留下“011001”,淘汰“010110”,并将该码位最大值池化计算后得到的最大值“1”作为该码位对应的输出值。依次类推,直至完成最低码位的比较并输出该码位最大值池化计算后对应的输出值后,将各输出值按照其对应的码位进行组合,即可形成新的压缩编码,即目标数据。
在一实施例中,各压缩编码的最大值池化计算可通过如图3所示的脉冲最大值池化神经元来实现。如图3所示,原先需要N位寄存器来存储的脉冲序列,在压缩形成压缩编码后仅仅需要B位寄存器来存储,最大池化计算也仅需要B个时钟周期。该最大值池化神经元通过一个n对输入的与或门,将各二进制的压缩编码Sn从最高位(B-1)到最低位(0)依次移位进行计算,从而依次输出每个码位的输出值。
具体的,各所述码位中当前码位的输出值为:
其中,n表示压缩编码的数量,t表示所述当前码位对应的时刻,Wi(t)表示压缩编码i的所述当前码位在时刻t对应的权重,j≠i,Si(t)表示压缩编码i的所述当前码位上的脉冲值。Ц表示对计算结果进行“或”操作,即将W1(t)&&S1(t)、W2(t)&&S2(t)…Wn(t)&&Sn(t)等计算结果进行“或”操作。
可以理解的,当t=0时,则表示当前码位为最高码位,t=1时,则表示当前码位为次高码位,依次类推;当t=B-1时,则表示当前码位为最低码位。
在一实施例中,W表示1位的寄存器,Wi(0)=1,即若当前码位为最高码位时,其权重为1,表示比较所有压缩编码的最高码位的脉冲值。如果有任一压缩编码的当前码位的脉冲值为1的,则其胜出,表示该当前码位的脉冲值位该码位的候选输出值,其对应的权重值不变,而其他压缩编码的当前码位的脉冲值为0,则被淘汰,对应的权重值修改为0,同时该当前码位对应的输出值为1;若所有压缩编码的当前码位的脉冲值均为0,则都不淘汰,权重值不进行修改,同时该当前码位对应的输出值为0。比较完各压缩编码的当前码位后,则进入下一时刻比较下一码位的脉冲值,如此从高到低依次比较完所有的码位,共B个时钟周期,从而得到B个输出值,然后将各个输出值按照其对应的码位进行排列,形成目标数据。
在一实施例中,权重仅为1或0。当权重为1时,表示胜出,即其对应的当前码位的脉冲值留下;当权重为0时,则表示其对应的当前码位的脉冲值淘汰。
示例性的,如下表所示:
时刻t | 0 | 1 | 2 | 3 | 4 | 5 |
S<sub>1</sub>(t) | 0 | 1 | 1 | 0 | 0 | 1 |
S<sub>2</sub>(t) | 0 | 0 | 1 | 1 | 1 | 0 |
S<sub>3</sub>(t) | 0 | 1 | 0 | 1 | 1 | 0 |
W<sub>1</sub>(t) | 1 | 1 | 1 | 1 | 1 | 1 |
W<sub>2</sub>(t) | 1 | 1 | 0 | 0 | 0 | 0 |
W<sub>2</sub>(t) | 1 | 1 | 1 | 0 | 0 | 0 |
输出(t) | 0 | 1 | 1 | 0 | 0 | 1 |
如上表所示,表中三个压缩编码分别为S1=011001、S2=001110以及S3=010110。在三个压缩编码的最高码位对应的0时刻,W1(0)、W2(0)、W3(0)都为1,表示3个压缩编码的最高码位S1(0)、S2(0)、S3(0)都进行比较。由于S1(0)、S2(0)、S3(0)都为0,则通过与或门输出的输出值为0,此时该最高位对应的输出值为0,同时计算出W1(1)=1、W2(1)=1以及W3(1)=1,即没有压缩编码被淘汰,则下一时刻t=1中,三个压缩编码的次高位S1(1)、S2(1)、S3(1)继续比较;在t=1时刻,由于S1(1)=1、S2(1)=0、S3(1)=1,则通过与或门输出的输出值为1,即此时该次高位对应的输出值为1,同时因为S1(1)=1、S2(1)=0、S3(1)=1,所以S2被淘汰,其对应的权重W2修改为0,剩下S1和S3,即此时W1(2)=1、W2(2)=0以及W3(2)=1,则下一时刻t=2中,只有S1(2)和S3(2)继续比较,且由于S2在t=2时权重为0,因此在后续t>2的时刻,S2通过与门输出的值均为0。依次类推,淘汰掉非最大的脉冲值,最后剩下的即为对应码位的输出值,从而最终可得到输出的目标数据为“011001”。
通过这种方式,使得在进行最大值池化计算时,仅需要通过B个时钟周期仅需计算,大大缩短了最大值池化的计算时间,从而使利用SNN网络进行最大池化变得简单且高效。
下面对本申请实施例提供的基于脉冲神经网络的数据处理装置进行描述,下文描述的基于脉冲神经网络的数据处理装置与上文描述的基于脉冲神经网络的数据处理方法可相互对应参照。
在一实施例中,如图4所示,提供了一种基于脉冲神经网络的数据处理装置,包括:
压缩编码模块210,用于将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
数据池化模块220,用于对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
通过将脉冲信号序列进行压缩来形成压缩编码,使得压缩编码的长度,相较于脉冲信号序列的长度大幅度减少,从而在进行存储时,对脉冲存储空间的需求呈指数级的缩小。且由于形成的压缩编码的长度短,因此在进行池化计算时,其计算时间可得到指数级的缩小,提高了池化效率,进而提高了对输入SNN网络模型的数据的处理效率。
在一实施例中,压缩编码模块210具体用于:
将各脉冲信号序列以脉冲个数的二进制码的形式进行压缩,获取各所述压缩编码。
在一实施例中,所述压缩编码的编码位数根据各脉冲信号序列中的最大脉冲信号个数确定。
在一实施例中,数据池化模块220具体用于:
对各所述压缩编码通过所述脉冲神经网络进行最大值池化,获取目标数据。
在一实施例中,数据池化模块220具体用于:
将各所述压缩编码从压缩编码的最高码位,到压缩编码的最低码位,依次移位进行最大值池化计算,获取每个码位对应的输出值;
根据各所述码位的输出值,形成所述目标数据。
在一实施例中,各所述码位中当前码位的输出值为:
在一实施例中,当所述当前码位为最高码位时,所述当前码位的权重为1。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行基于脉冲神经网络的数据处理方法的步骤,例如包括:
将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的基于脉冲神经网络的数据处理方法的步骤,例如包括:
将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (5)
1.一种基于脉冲神经网络的数据处理方法,其特征在于,包括:
将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;
对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据;
所述将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码,包括:
将各脉冲信号序列以脉冲个数的二进制码的形式进行压缩,获取各所述压缩编码;
所述压缩编码的编码位数根据各脉冲信号序列中的最大脉冲信号个数确定;
所述对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据,包括:
将各所述压缩编码从压缩编码的最高码位,到压缩编码的最低码位,依次移位进行最大值池化计算,获取每个码位对应的输出值;
根据各所述码位的输出值,形成所述目标数据;
各所述码位中当前码位的输出值为:
2.根据权利要求1所述的基于脉冲神经网络的数据处理方法,其特征在于,当所述当前码位为最高码位时,所述当前码位的权重为1。
3.一种基于脉冲神经网络的数据处理装置,其特征在于,包括:
压缩编码模块,用于将输入数据产生的各脉冲信号序列进行压缩,获取所述输入数据的各压缩编码;数据池化模块,用于对各所述压缩编码通过脉冲神经网络进行池化,获取目标数据;
其中,所述压缩编码模块具体用于:
将各脉冲信号序列以脉冲个数的二进制码的形式进行压缩,获取各所述压缩编码,所述压缩编码的编码位数根据各脉冲信号序列中的最大脉冲信号个数确定;
所述数据池化模块具体用于:
将各所述压缩编码从压缩编码的最高码位,到压缩编码的最低码位,依次移位进行最大值池化计算,获取每个码位对应的输出值;根据各所述码位的输出值,形成所述目标数据;
所述各所述码位中当前码位的输出值为:
4.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2所述的基于脉冲神经网络的数据处理方法的步骤。
5.一种计算机可读存储介质,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2所述的基于脉冲神经网络的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316689.3A CN114819122B (zh) | 2022-03-28 | 2022-03-28 | 基于脉冲神经网络的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316689.3A CN114819122B (zh) | 2022-03-28 | 2022-03-28 | 基于脉冲神经网络的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114819122A CN114819122A (zh) | 2022-07-29 |
CN114819122B true CN114819122B (zh) | 2022-12-06 |
Family
ID=82530538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210316689.3A Active CN114819122B (zh) | 2022-03-28 | 2022-03-28 | 基于脉冲神经网络的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114819122B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214395A (zh) * | 2018-08-21 | 2019-01-15 | 电子科技大学 | 一种基于脉冲神经网络的图像特征描述方法 |
CN113935457A (zh) * | 2021-09-10 | 2022-01-14 | 中国人民解放军军事科学院战争研究院 | 一种基于正态分布的脉冲神经网络输入信号编码方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991477B (zh) * | 2016-01-20 | 2020-08-14 | 中科寒武纪科技股份有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN110059812B (zh) * | 2019-01-26 | 2021-09-14 | 中国科学院计算技术研究所 | 脉冲神经网络运算芯片及相关运算方法 |
CN110378476A (zh) * | 2019-07-11 | 2019-10-25 | 中国人民解放军国防科技大学 | 脉冲卷积神经网络的最大池化层的近似实现方法、***及介质 |
CN113537449B (zh) * | 2020-04-22 | 2024-02-02 | 北京灵汐科技有限公司 | 基于脉冲神经网络的数据处理方法、计算核电路和芯片 |
-
2022
- 2022-03-28 CN CN202210316689.3A patent/CN114819122B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214395A (zh) * | 2018-08-21 | 2019-01-15 | 电子科技大学 | 一种基于脉冲神经网络的图像特征描述方法 |
CN113935457A (zh) * | 2021-09-10 | 2022-01-14 | 中国人民解放军军事科学院战争研究院 | 一种基于正态分布的脉冲神经网络输入信号编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114819122A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3944505A1 (en) | Data compression method and computing device | |
KR20210096679A (ko) | 인코딩된 데이터를 디코딩하기 위한 신경망 및 시스템 | |
WO2021135715A1 (zh) | 一种图像压缩方法及装置 | |
CN110784225A (zh) | 数据压缩、解压方法及相关装置、电子设备、*** | |
CN111144375B (zh) | 基于特征编码的异常行为检测方法、装置及电子设备 | |
CN116884391B (zh) | 基于扩散模型的多模态融合音频生成方法及装置 | |
CN110753225A (zh) | 一种视频压缩方法、装置及终端设备 | |
CN111326168A (zh) | 语音分离方法、装置、电子设备和存储介质 | |
CN117312777B (zh) | 基于扩散模型的工业设备时间序列生成方法及装置 | |
CN110929733A (zh) | 除噪方法、装置、计算机设备、存储介质及模型训练方法 | |
US20220114454A1 (en) | Electronic apparatus for decompressing a compressed artificial intelligence model and control method therefor | |
CN113222159A (zh) | 一种量子态的确定方法及装置 | |
CN114819122B (zh) | 基于脉冲神经网络的数据处理方法及装置 | |
CN110363291B (zh) | 神经网络的运算方法、装置、计算机设备和存储介质 | |
CN112101091B (zh) | 视频分类方法、电子设备和存储介质 | |
US11615286B2 (en) | Computing system and compressing method for neural network parameters | |
CN110135465B (zh) | 模型参数表示空间大小估计方法及装置、推荐方法 | |
CN117273092A (zh) | 一种模型量化方法、装置、电子设备及存储介质 | |
CN113554097B (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN114764619B (zh) | 一种基于量子线路的卷积操作方法及装置 | |
CN114528810A (zh) | 数据编码生成方法、装置、电子设备及存储介质 | |
CN113810058A (zh) | 数据压缩方法、数据解压缩方法、装置及电子设备 | |
CN114819121B (zh) | 基于脉冲神经网络的信号处理装置及信号处理方法 | |
CN114611525B (zh) | 文本扩写方法、装置、电子设备和存储介质 | |
CN113096673B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |