CN114792132B - 一种脉冲神经网络加速计算系统、方法、设备及介质 - Google Patents
一种脉冲神经网络加速计算系统、方法、设备及介质 Download PDFInfo
- Publication number
- CN114792132B CN114792132B CN202210710142.1A CN202210710142A CN114792132B CN 114792132 B CN114792132 B CN 114792132B CN 202210710142 A CN202210710142 A CN 202210710142A CN 114792132 B CN114792132 B CN 114792132B
- Authority
- CN
- China
- Prior art keywords
- effective
- data
- feature data
- valid
- address
- 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 44
- 238000000034 method Methods 0.000 title claims description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 71
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000012421 spiking Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 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
-
- 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/045—Combinations of networks
-
- 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)
- 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
技术领域
本发明属于计算机边缘计算机领域,具体涉及一种脉冲神经网络加速计算系统、方法、设备及可读存储介质。
背景技术
在深度学习领域,相比于需要计算所有图像信息的(Convolutional NeuralNetworks,CNN)卷积神经网络,脉冲神经网络(Spiking Neuron Networks,SNN)因为属于事件驱动,无需计算所有图像信息,并且在传输机理上更加类似我们的大脑生物原因,因此计算更为高效。
在没有事件触发时,不会产生计算,只有在有事件触发时,才会对脉冲图像信息进行计算。而同时脉冲神经网络feature数据具有极大的稀疏性,在脉冲神经网络中,对图相关处理时也需要使用卷积神经网络处理对应的图像信息,而目前CNN最为通用的PE阵列加速计算结构在计算稀疏的feature数据时,会有大量的PE计算单元在空转或闲置,由此,会造成大量的无效计算或者大量的计算单元闲置,造成了空转计算单元的功耗浪费或者计算单元的资源浪费。
发明内容
为解决以上问题,本发明提出一种脉冲神经网络加速计算系统,包括:
事件判决单元,所述事件判决单元配置用于判断输入的特征数据是否为有效特征数据,并将有效特征数据的有效地址坐标发送到有效数据地址队列中;
有效数据计算单元,所述有效数据计算单元配置用于基于卷积核大小计算输入的特征数据的有效性,并基于卷积核大小确定有效特征数据的有效地址坐标,并将所述有效地址坐标和所述有效特征数据发送到所述事件判决单元;
有效数据地址队列,所述有效数据地址队列配置用于基于输入的特征数据建立对应的有效数地址据队列,并将收到有效特征数据的有效地址坐标按照顺序存储到对应的有效数据地址队列中;
并行计算单元,所述并行计算单元配置用于从所述有效数据地址队列中读取对应的有效特征数据的有效地址坐标,基于所述有效地址坐标根据卷积核大小从内存中取出对应的有效特征数据,并基于所述有效特征数据进行并行计算并将计算结果保存到内存中。
在本发明的一些实施方式中,有效数据计算单元包括:
脉冲相机,所述脉冲相机配置用于根据卷积核的大小计算所述输入的特征数据中的有效特征数据。
在本发明的一些实施方式中,脉冲相机进一步配置用于根据卷积核大小按照预定阈值计算所述输入的特征数据中的有效地址。
在本发明的一些实施方式中,并行计算单元进一步配置用于:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标发送到对应的有效数据地址队列。
在本发明的一些实施方式中,并行计算单元进一步配置用于:
将所述并行计算后的特征数据同时发送到所述有效数据计算单元和内存中。
在本发明的一些实施方式中,有效数据计算单元进一步配置用于:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标和/或有效数据发送到所述事件判决单元。
在本发明的一些实施方式中,事件判决单元进一步配置用于将所述输入的特征数据保存到内存中。
本发明的另一方面还提出一种脉冲神经网络加速计算方法,包括:
获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址坐标;
将所述输入的特征数据和所述有效地址坐标分别存储到内存和有效数据地址队列中;
响应于触发并行计算条件,根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算。
在本发明的一些实施方式中,获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址包括:
将所述输入的特征数据输入到脉冲相机,并通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标。
在本发明的一些实施方式中,通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标包括:
对任一输入到所述脉冲相机的输入的特征数据同时给出用于计算该特征数据时的卷积核和/或卷积计算后的有效阈值。
在本发明的一些实施方式中,方法还包括:
根据所述卷积核大小和/或所述有效阈值确定所述输入的特征数据的有效特征数据与对应的有效地址坐标。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核计算所述新的特征数据的有效特征数据。
在本发明的一些实施方式中,方法还包括
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核和对应的有效阈值计算所述新的特征数据的有效特征数据。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明针对边缘端计算资源不如云端丰富的特点,针对性的优化出一种边缘端脉冲神经网络计算加速系统,针对事件触发的特征数据中数据稀疏问题,通过编码寻址计算有效特征数据位置,提高边缘端PE计算单元的使用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的一种脉冲神经网络加速计算系统的结构示意图;
图2为本发明实施例提供的脉冲神经网络的事件原理示意图;
图3为本发明实施例提供的脉冲神经网络中存在的空转现象原理说明示意图;
图4为本发明实施例提供的一种脉冲神经网络加速计算系统实施示意图;
图5为本发明实施例提供的一种脉冲神经网络加速计算系统实施示意图;
图6为本发明实施例提供的一种脉冲神经网络加速计算方法的实施例流程图;
图7为本发明实施例提供的一种脉冲神经网络加速计算方法的有效特征数据的卷积计算示意图;
图8为本发明实施例提供的一种计算机设备的结构示意图;
图9为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
本发明致力于优化边脉冲神经网络在计算时由传统的实现方式中直接将该图像矩阵输入到计算单元进行计算,未能考虑图像矩阵数据是否有效的导致的计算资源浪费,计算单元的使用效率较低的问题,并以边缘计算为例进行阐述本发明的实施方式。另外需要说明的是边缘计算领域是接近于现场应用端提供的计算服务,在未来随着物联网的高速发展,万物互联互通中以去中心化的方式计算任务逐渐向末端转移,也即向互联网的边缘转移,而由于末端的设备的大小或功耗限制,其计算能力有限因此无法提供更多计算能力,因此在一些模型计算上需要针对末端的计算环境进行优化,以充分有效利用边缘计算末端设备的计算能力。
进一步,本发明所优化的方向为神经网络模型在边缘计算中的计算效率问题,脉冲神经网络(SNN)因为属于事件驱动,无需计算所有图像信息,并且在传输机理上更加类似我们的大脑生物原因,因此计算更为高效。大部分时间中,如果没有事件触发,则不会产生计算,只有在有事件触发时,才会对脉冲图像信息进行计算,如图2所示。同时脉冲神经网络feature数据具有极大的稀疏性,目前CNN最为通用的PE阵列加速计算结构在计算稀疏的feature数据时,会有大量的PE计算单元在空转或闲置,如图3所示。
由此,会造成大量的无效计算或者大量的计算单元闲置,造成了空转计算单元的功耗浪费或者计算单元的资源浪费。
为此,如图1所示,本发明提出一种脉冲神经网络加速计算系统,包括:
事件判决单元1,所述事件判决单元1配置用于判断输入的特征数据是否为有效特征数据,并将有效特征数据的有效地址坐标发送到有效数据地址队列中;
有效数据计算单元2,所述有效数据计算单元2配置用于基于卷积核大小计算输入的特征数据的有效性,并基于卷积核大小确定有效特征数据的有效地址坐标,并将所述有效地址坐标和所述有效特征数据发送到所述事件判决单元;
有效数据地址队列3,所述有效数据地址队列3配置用于基于输入的特征数据建立对应的有效数地址据队列,并将收到有效特征数据的有效地址坐标按照顺序存储到对应的有效数据地址队列中;
并行计算单元4,所述并行计算单元4配置用于从所述有效数据地址队列中读取对应的有效特征数据的有效地址坐标,基于所述有效地址坐标根据卷积核大小从内存中取出对应的有效特征数据,并基于所述有效特征数据进行并行计算并将计算结果保存到内存中。
在本实施例中,如图1所示,事件判决单元1用于判断输入到事件判决单元的特征数据是否触发脉冲神经网络的计算条件,在本实施例中,事件判决单元进一步分析输入的特征数据中是否存在被标记为有效特征数据的标记,即对输入的一组或一条凸显特征数据获取对应的标志信息,如果该特征数据被标记为有效,则事件判决单元1触发脉冲神经网络的推理或训练机制对输入的特征数据进行计算。如果输入的特征数据中不存在有效特征数据,则事件判决单元1不触发对应的脉冲神经网络的推理或训练机制。
进一步,当输入到事件判决单元1中的特征数据是被标记为有效的特征数据,则事件判决单元1根据有效特征数据的有效地址的坐标发送到有效数据地址队列3中。在本实施例中,有效特征数据包括图像矩阵数据,有效特征数据地址是指按照卷积计算时影响卷积核计算结果的数据地址,例如图3所示,以卷积核3x3为例,第1个框中全为0,该框内的数据和任一的卷积核计算都不会影响最终的输出结果(结果也是全0,这种无需计算就明了的数据),因此该框中所限定的区域为非有效特征数据,而第二个框中的数据最中心的数值为1,按照该框所限定的内容与对应的卷积核进行计算时,其输出结果会根据卷积核的不通过而不同,这种属于有效数据。其地址则表示数据为1的坐标,其在图3中为第2行第8列,即有效特征数据的有效地址坐标为(2,8)。以此类推,事件判决单元1则将输入的特征数据的有效特征数据的有效地址坐标发送到有效数据地址队列3中。
进一步,有效数据计算单元2用于计算输入的特征数据是否有效的预计算模块,其作用是根据用于后续卷积计算的卷积核的尺寸确定输入的特征数据中哪些数据是有效的,即与对应的卷积核进行卷积计算后输出的结果与原有的数据不同或者满足一定条件的数据区域或数据。
具体地,有效数据计算单元2需要根据卷积核大小从输入的特征数据中按照卷积核大小滑动选取等大的矩阵数据,并将滑动获取的矩阵数据与对应的卷积核按照卷积的计算方式进行计算以判断特征数据中哪些区域是有效的。或者是直接将不为0的特征数据作为有效的特征数据。进一步将不为0或者卷积计算后与原始数据不同的数据在矩阵中对应的地址坐标作为有效特征数据的有效地址坐标。
进一步,有效数据计算单元2将计算后的有效地址坐标和特征数据发送到事件判决单元1,交由事件判决单元1触发对应的脉冲神经网络的计算事件。
在本实施例中,有效数据地址队列3对收到的有效数据地址进行管理,并将同一组特征数据的有效地址坐标按顺序存到对应的队列中,当触发脉冲神经网络的计算事件时,可向并行计算单元提供对应的有效特征数据的地址。
在本实施例中,并行计算单元4是用于计算模型的运算单元,在事件判决单元1触发对应的事件后,并行计算单元按照传统的实现方式是需要从内存中加载对应的特征数据到内部进行卷积神经网络的计算,而在本发明中则需要先从有效数据地址队列中,按照队列的数据存储方式获取对应的有效地址坐标,再根据有效地址坐标从内存中存储的对应的特征数据中取出对应的有效特征数据,即以图3为例,图3示出的有效地址坐标为(2,8)则并行计算单元将取出以坐标(2,8)为中心面积为3x3的矩阵数据与对应的卷积核进行卷积计算(默认指卷积核大小为3x3)。而对于其他数据则无需进行读取,正如图3所示,假如图3示出的是一个图像的特征信息,则按照本发明所提供的计算方式只需计算两次(包括坐标(2,8)和(3,9)对应的两个九宫格对应的数据)便可得到该图像的卷积计算结果,可大大降低并行计算的压力。
在本发明的一些实施方式中,有效数据计算单元2包括:
脉冲相机5,所述脉冲相机配置用于根据卷积核的大小计算所述输入的特征数据中的有效特征数据。
如图4所示,在本实施例中,有效计算单元2中采用脉冲相机对输入的特征数据的有效性进行判断处理。具体地,如图4所示,将输入的特征数据直接输入到脉冲相机5中,并由脉冲相机5对输入的特征数据进行判断确定输入的特征数据的有效性脉冲相机5则将对特征数据的判断结果和输入的特征数据发送给CPU6,并通过CPU6将输入的特征数据发和是否存在有效的输入特征结果(是否存在有效特征数据,以及存在有效特征数据的有效地址坐标)发送给事件判决单元1。事件判决单元1在接收到具有有效特征数据的输入的特征数据后,将有效特征数据对应的有效地址坐标发送到有效数据地址队列3中,并且当条件合适的情况下向并行计算单元4发出触发事件,由并行计算单元4从有效数据地址队列3中取出对应的有效地址坐标,按照有效地址坐标从内存7中取出对应的特征数据进行并行计算。
在本发明的一些实施方式中,脉冲相机5进一步配置用于根据卷积核大小按照预定阈值计算所述输入的特征数据中的有效地址。
在本实施例中,有效数据计算单元2中的脉冲相机在对输入的特征数据的有效性进行判断时,可指定相应的卷积核大小和卷积计算后的阈值对脉冲相机进行调整,默认情况下脉冲相机将卷积计算结果与原始数据不同的矩阵数据(根据卷积尺寸大小)作为有效数据,即全非0的特征数据。同样可指定相应的有效阈值来对脉冲相机的输入的特征数据进行判断。
在本发明的一些实施方式中,并行计算单元进一步配置用于:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标发送到对应的有效数据地址队列。
在本实施例中,如图4所示,并行计算单元4对并行计算后产生的新的特征数据进行有效性判断,并确定新的特征数据的有效特征数据对应的有效地址坐标,进一步将新的特征数据保存到内存7中后,同时将有效地址坐标发送到有效数据地址队列3中。
在本发明的一些实施方式中,并行计算单元进一步配置用于:
将所述并行计算后的特征数据同时发送到所述有效数据计算单元2和内存7中。
在本发明的一些实施方式中,有效数据计算单元进一步配置用于:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标和/或有效数据发送到所述事件判决单元。
在本实施例中,如图5所示,有效数据计算单元2中的脉冲相机还可用于承担并行计算单元计算后产生的新的特征数据的有效性判断。并行计算单元4在完成一轮卷积计算后产生新的特征数据,在将特征数据存储到内存中的同时将该特征数据发送到有效数据计算单元2的中,由有效数据计算单元2中的脉冲相机对新产生的该特征数据进行有效性计算或判断并给出对应有效数据计算结果和/或有效特征数据对应的有效地址坐标,进一步将该有效地址坐标和结果发送给事件判决单元1,由事件判决单元1发起下一轮并行计算的事件以及将有效地址坐标发送到有效数据地址队列3中,以方便并行计算单元在下一轮并行计算时获取对应的有效特征数据。
在本发明的一些实施方式中,事件判决单元进一步配置用于将所述输入的特征数据保存到内存中。
在本实施例中,在初始条件下,由有效数据计算单元2首先处理输入的特征数据,并对输入的特征数据进行有效性计算和判断,如果输入的特征数据存在有效数据,则有效数据计算单元2将对应的数据有效结果和对应的有效地址坐标发给事件判决单元1,由事件判决单元1将有效地址坐标发送给有效数据地址队列3和将输入的特征数据保存到内存7中。当输入的特征数据中不存在对应的有效特征数据时,则有效数据计算单元2需将输入的特征数据发送给事件判决单元由事件判决单元将数据保存到内存7中。如图6所示,本发明的另一方面还提出一种脉冲神经网络加速计算方法,包括:
步骤S1、获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址坐标;
步骤S2、将所述输入的特征数据和所述有效地址坐标分别存储到内存和有效数据地址队列中;
步骤S3、响应于触发并行计算条件,根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算。
在本实施例中,在步骤S1中输入的特征数据可以是原始的图像数据也可以是经过神经网络迭代过程中的特征数据。通过脉冲神经网络加速计算系统对原始的图像数据和/或在神经网络迭代中生成的新的特征数据进行有效性判断,同时获取有效特征数据在输入的特征数据和新的特征数据对应的有效地址坐标。
在步骤S2中,将步骤S1中获取的有效地址坐标根据存入有效数据地址队列,另外无论是否存在有效特征数据都需要将特征数据存储到内存中。
在步骤S3中,当脉冲神经网络的计算条件满足时便可按照有效数据地址队列中的有效地址坐标从内存中获取有效地址坐标对应的区域的特征数据作为模型推理或训练的数据进行计算。
在本发明的一些实施方式中,获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址包括:
将所述输入的特征数据输入到脉冲相机,并通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标。
在本发明的一些实施方式中,通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标包括:
对任一输入到所述脉冲相机的输入的特征数据同时给出用于计算该特征数据时的卷积核和/或卷积计算后的有效阈值。
在本发明的一些实施方式中,方法还包括:
根据所述卷积核大小和/或所述有效阈值确定所述输入的特征数据的有效特征数据与对应的有效地址坐标。
在本实施例中,对特征数据的有效性判断采用脉冲相机来处理,并通过脉冲相机判断特征数据是否有效,同时将有效的特征数据的地址作为反馈结果之一,即通过脉冲相机获取有效特征数据的有效地址坐标。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核计算所述新的特征数据的有效特征数据。
如前所述,脉冲神经网络各层中所产生的新的特征数据均可以作为输入的特征数据进行有效性特征数据的优化以加速脉冲神经完了各层的卷积计算。具体地,只需将脉冲神经网络各层输出的特征数据作为本发明方法步骤S1中的输入数据即可。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核和对应的有效阈值计算所述新的特征数据的有效特征数据。
在本实施例中,在对脉冲神经网络各层中的特征数据进行有效性判断时,可根据不同神经网络层的卷积大小和对应和有效阈值进行设定。即脉冲神经网络中,卷积后的中间层数据激活状态,需要累加后和阈值比较,在进行有效数据计算的同时,同步更新有效数据地址寄存器,如图7所示,当卷积计算的结果满足设定的阈值时,对应的区域(根据卷积核大小有关)才被认为是有效特征数据区域。
本发明针对边缘端计算资源不如云端丰富的特点,针对性的优化出一种边缘端脉冲神经网络计算加速系统,针对事件触发的特征数据中数据稀疏问题,通过编码寻址计算有效特征数据位置,提高边缘端PE计算单元的使用效率。
针对脉冲神经网络数据中的稀疏性造成的PE阵列卷积的空转和计算资源浪费的情况,针对边缘端辅助计算资源不如云端充足的特点,设计了一种针对稀疏数据的边缘加速计算结构。利用feature(特征数据)的稀疏性,在其传输过程中以最小资源计算出其有效数据的地址位置,当需要进行卷积计算时,只针对性的将需要计算的数据进行读出,保证了PE计算的有效性,不会发生计算0数据的无效计算状态,极大的提高了PE计算单元的利用率,数据越稀疏,本结构的计算效能越高,当数据稀疏度达到10%左右时,可使用原来15%的PE资源来达到传统结构的相同计算性能指标。
如图8所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种脉冲神经网络加速计算方法,包括:
获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址坐标;
将所述输入的特征数据和所述有效地址坐标分别存储到内存和有效数据地址队列中;
响应于触发并行计算条件,根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算。
在本发明的一些实施方式中,获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址包括:
将所述输入的特征数据输入到脉冲相机,并通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标。
在本发明的一些实施方式中,通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标包括:
对任一输入到所述脉冲相机的输入的特征数据同时给出用于计算该特征数据时的卷积核和/或卷积计算后的有效阈值。
在本发明的一些实施方式中,方法还包括:
根据所述卷积核大小和/或所述有效阈值确定所述输入的特征数据的有效特征数据与对应的有效地址坐标。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核计算所述新的特征数据的有效特征数据。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核和对应的有效阈值计算所述新的特征数据的有效特征数据。
如图9所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现一种脉冲神经网络加速计算方法,包括:
获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址坐标;
将所述输入的特征数据和所述有效地址坐标分别存储到内存和有效数据地址队列中;
响应于触发并行计算条件,根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算。
在本发明的一些实施方式中,获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址包括:
将所述输入的特征数据输入到脉冲相机,并通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标。
在本发明的一些实施方式中,通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标包括:
对任一输入到所述脉冲相机的输入的特征数据同时给出用于计算该特征数据时的卷积核和/或卷积计算后的有效阈值。
在本发明的一些实施方式中,方法还包括:
根据所述卷积核大小和/或所述有效阈值确定所述输入的特征数据的有效特征数据与对应的有效地址坐标。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核计算所述新的特征数据的有效特征数据。
在本发明的一些实施方式中,方法还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核和对应的有效阈值计算所述新的特征数据的有效特征数据。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (12)
1.一种脉冲神经网络加速计算系统,其特征在于,包括:
事件判决单元,所述事件判决单元配置用于判断输入的特征数据是否为有效特征数据,并将有效特征数据的有效地址坐标发送到有效数据地址队列中,以及基于所述有效特征数据的计算事件发送到并行计算单元;
有效数据计算单元,所述有效数据计算单元配置用于基于卷积核大小计算输入的特征数据的有效性,并基于卷积核大小确定有效特征数据中的有效数据的有效地址坐标,并将所述有效地址坐标和所述有效特征数据发送到所述事件判决单元;
有效数据地址队列,所述有效数据地址队列配置用于基于输入的特征数据建立对应的有效数地址据队列,并将收到有效特征数据的有效地址坐标按照顺序存储到对应的有效数据地址队列中;
并行计算单元,所述并行计算单元配置用于从所述有效数据地址队列中读取对应的有效特征数据的有效地址坐标,基于所述有效地址坐标根据卷积核大小从内存中取出对应的有效特征数据,并基于所述有效特征数据进行并行计算并将计算结果保存到内存中;
所述并行计算单元进一步配置用于:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标发送到对应的有效数据地址队列;
将所述并行计算后的特征数据同时发送到所述有效数据计算单元和内存中;以及
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标和/或有效数据发送到所述事件判决单元。
2.根据权利要求1所述的系统,其特征在于,所述有效数据计算单元包括:
脉冲相机,所述脉冲相机配置用于根据卷积核的大小计算所述输入的特征数据中的有效特征数据。
3.根据权利要求2所述的系统,其特征在于,所述脉冲相机进一步配置用于根据卷积核大小按照预定阈值计算所述输入的特征数据中的有效地址。
4.根据权利要求1所述的系统,其特征在于,所述事件判决单元进一步配置用于将所述输入的特征数据保存到内存中。
5.一种脉冲神经网络加速计算方法,其特征在于,包括:
获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址坐标;
将所述输入的特征数据和所述有效地址坐标分别存储到内存和有效数据地址队列中;
响应于触发并行计算条件,根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算;
其中,所述根据所述有效数据地址队列中的有效地址坐标从所述内存中获取所述输入的特征数据中的有效特征数据进行并行计算包括:
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标发送到对应的有效数据地址队列;
将所述并行计算后的特征数据同时发送到所述有效数据计算单元和内存中;以及
基于对应的卷积核大小判断并行计算后的特征数据是否为有效特征数据,并将所述并行计算后的特征数据中的有效特征数据的有效地址坐标和/或有效数据发送到事件判决单元。
6.根据权利要求5所述的方法,其特征在于,所述获取输入的特征数据,基于卷积核大小计算所述输入的特征数据的有效特征数据并获得对应的有效地址包括:
将所述输入的特征数据输入到脉冲相机,并通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标。
7.根据权利要求6所述的方法,其特征在于,所述通过所述脉冲相机根据卷积核大小计算所述输入的特征数据中的有效特征数据及其对应的有效地址坐标包括:
对任一输入到所述脉冲相机的输入的特征数据同时给出用于计算该特征数据时的卷积核和/或卷积计算后的有效阈值。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据所述卷积核大小和/或所述有效阈值确定所述输入的特征数据的有效特征数据与对应的有效地址坐标。
9.根据权利要求5所述的方法,其特征在于,还包括:
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核计算所述新的特征数据的有效特征数据。
10.根据权利要求9所述的方法,其特征在于,还包括
获取所述并行计算后的得到的新的特征数据,按照下一轮卷积计算的卷积核和对应的有效阈值计算所述新的特征数据的有效特征数据。
11.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求5-10任意一项所述方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5-10任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210710142.1A CN114792132B (zh) | 2022-06-22 | 2022-06-22 | 一种脉冲神经网络加速计算系统、方法、设备及介质 |
PCT/CN2022/131756 WO2023245965A1 (zh) | 2022-06-22 | 2022-11-14 | 一种脉冲神经网络加速计算系统、方法、设备及非易失性可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210710142.1A CN114792132B (zh) | 2022-06-22 | 2022-06-22 | 一种脉冲神经网络加速计算系统、方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114792132A CN114792132A (zh) | 2022-07-26 |
CN114792132B true CN114792132B (zh) | 2022-11-29 |
Family
ID=82463860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210710142.1A Active CN114792132B (zh) | 2022-06-22 | 2022-06-22 | 一种脉冲神经网络加速计算系统、方法、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114792132B (zh) |
WO (1) | WO2023245965A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114792132B (zh) * | 2022-06-22 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种脉冲神经网络加速计算系统、方法、设备及介质 |
CN115311536B (zh) * | 2022-10-11 | 2023-01-24 | 绍兴埃瓦科技有限公司 | 图像处理中稀疏卷积处理方法及装置 |
CN116720551B (zh) * | 2023-08-02 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 脉冲神经网络的卷积加速方法及卷积加速器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474375B2 (en) * | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
CN109104197B (zh) * | 2018-11-12 | 2022-02-11 | 合肥工业大学 | 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法 |
US11681902B2 (en) * | 2019-09-27 | 2023-06-20 | Amazon Technologies, Inc. | Transposed convolution using systolic array |
CN110909801B (zh) * | 2019-11-26 | 2020-10-09 | 山东师范大学 | 基于卷积神经网络的数据分类方法、系统、介质及设备 |
CN111768458A (zh) * | 2020-06-28 | 2020-10-13 | 苏州鸿鹄骐骥电子科技有限公司 | 一种基于卷积神经网络的稀疏图像处理方法 |
CN114792132B (zh) * | 2022-06-22 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种脉冲神经网络加速计算系统、方法、设备及介质 |
-
2022
- 2022-06-22 CN CN202210710142.1A patent/CN114792132B/zh active Active
- 2022-11-14 WO PCT/CN2022/131756 patent/WO2023245965A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023245965A1 (zh) | 2023-12-28 |
CN114792132A (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114792132B (zh) | 一种脉冲神经网络加速计算系统、方法、设备及介质 | |
US10943167B1 (en) | Restructuring a multi-dimensional array | |
CN109325591B (zh) | 面向Winograd卷积的神经网络处理器 | |
CN107256424B (zh) | 三值权重卷积网络处理系统及方法 | |
CN112395247A (zh) | 数据的处理方法、存算一体芯片 | |
US11775807B2 (en) | Artificial neural network and method of controlling fixed point in the same | |
CN113196303A (zh) | 不适当神经网络输入检测和处理 | |
WO2022077907A1 (zh) | 对抗攻击的检测方法、系统、设备、计算机可读存储介质 | |
CN113467851B (zh) | 一种基于车辆聚类的动态车辆计算任务卸载方法和装置 | |
CN112783807B (zh) | 一种模型计算方法及系统 | |
CN111752879B (zh) | 一种基于卷积神经网络的加速系统、方法及存储介质 | |
CN111240746A (zh) | 一种浮点数据反量化及量化的方法和设备 | |
WO2022028232A1 (zh) | 执行lstm神经网络运算的装置和方法 | |
CN113610220B (zh) | 神经网络模型的训练方法、应用方法及装置 | |
CN111582229A (zh) | 一种网络自适应半精度量化的图像处理方法和系统 | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
CN111753951A (zh) | 信息处理器、信息处理方法和存储介质 | |
CN114692745A (zh) | 数据处理方法、装置、集成芯片、电子设备及存储介质 | |
KR20230069763A (ko) | 신경망 네트워크의 셀프 어텐션 연산을 가속하는 장치 | |
CN111767204B (zh) | 溢出风险检测方法、装置及设备 | |
CN112215338A (zh) | 神经网络计算方法和装置、电子设备及存储介质 | |
US11263517B1 (en) | Flexible weight expansion | |
WO2021262139A1 (en) | Distributed machine learning models | |
JP2021111082A (ja) | 演算装置、認識装置および制御装置 | |
Feng et al. | Accelerating CNN-RNN based machine health monitoring on FPGA |
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 |