CN114139695A - 脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器 - Google Patents
脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器 Download PDFInfo
- Publication number
- CN114139695A CN114139695A CN202210010882.4A CN202210010882A CN114139695A CN 114139695 A CN114139695 A CN 114139695A CN 202210010882 A CN202210010882 A CN 202210010882A CN 114139695 A CN114139695 A CN 114139695A
- Authority
- CN
- China
- Prior art keywords
- pulse
- neural network
- neuron
- time
- neurons
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000001133 acceleration Effects 0.000 title claims abstract description 23
- 210000002569 neuron Anatomy 0.000 claims abstract description 187
- 238000004364 calculation method Methods 0.000 claims abstract description 98
- 230000008569 process Effects 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 claims abstract description 22
- 230000001537 neural effect Effects 0.000 claims abstract description 18
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims abstract description 10
- 230000002401 inhibitory effect Effects 0.000 claims abstract description 9
- 239000012528 membrane Substances 0.000 claims description 53
- 238000012421 spiking Methods 0.000 claims description 24
- 230000004913 activation Effects 0.000 claims description 15
- 230000001242 postsynaptic effect Effects 0.000 claims description 14
- 238000010304 firing Methods 0.000 claims description 8
- 210000004205 output neuron Anatomy 0.000 claims description 6
- 230000000946 synaptic effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 210000005215 presynaptic neuron Anatomy 0.000 claims description 2
- 230000000638 stimulation Effects 0.000 claims description 2
- 230000005764 inhibitory process Effects 0.000 abstract description 11
- 238000012360 testing method Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 235000019580 granularity Nutrition 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- AAIBYZBZXNWTPP-UHFFFAOYSA-N 2-phenylcyclohexan-1-ol Chemical compound OC1CCCCC1C1=CC=CC=C1 AAIBYZBZXNWTPP-UHFFFAOYSA-N 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/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
-
- 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
-
- 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
- G06N3/065—Analogue 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/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器,属于脉冲神经网络加速技术领域。现有的脉冲神经网络加速器没有在控制方法层面优化脉冲神经网络计算过程,使得计算延迟高。传统时间驱动加速器不支持抑制性脉冲神经网络,限制其应用范围。本发明的一种脉冲神经网络加速方法,根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型。该近似计算模型利用脉冲频域编码忽略脉冲序列时间语义这一特征,压缩脉冲信号在时间步上的分布,大幅降低脉冲路由过程以及后续神经计算过程。本发明的时间驱动加速器,重新规划脉冲神经网络计算过程,设置去重队列以及位示图解决脉冲抖动问题,实现对抑制型脉冲神经网络的高效支持。
Description
技术领域
本发明涉及脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器,属于脉冲神经网络加速技术领域。
背景技术
人工神经网络被广泛应用于图像识别,目标检测,自然语言处理等领域。然而近年来人工神经网络不断朝着更深的网络层次、更复杂网络拓扑方向发展。其所带来的计算延迟和能耗问题严重限制了其进一步发展。脉冲神经网络被誉为第三代神经网络,其在运行过程中是局部激活网络,天然具备低延迟低功耗的特性。因此脉冲神经网络是突破传统人工神经网络发展瓶颈的关键技术,在实时领域和嵌入式领域极具应用前景。
脉冲神经网络与人工神经网络具备相似的网络拓扑,其差异主要体现在神经元模型中。图1中对比了人工神经元与脉冲神经元模型,图中的公式分别为两种神经元计算过程。图中X表示输入数据,W表示连接权重,y表示输出数据,V表示神经元模电压,V thrd 表示神经元脉冲发放阈值。两种神经元模型均接受多个输入数据,且都需要对输入数据求解加权和。不同的是,人工神经元将加权和进行一次激活操作,得到最终的实数值输出。而脉冲神经元则利用加权和更新神经元膜电压,通过将膜电压与发射阈值进行对比,判断是否输出脉冲信号。由于脉冲神经元不一定能够被成功激活,因此脉冲神经网络天然具备稀疏网络的特性,这也是为何脉冲神经网络被认为是突破人工神经网络发展瓶颈的关键技术。
然而由于脉冲神经网络存在额外时间维度,且神经元状态的更新在不同的时间步中存在计算依赖关系。这导致神经元状态在整个时域中可能被多次更新,其计算量甚至多于具有相同拓扑结构的人工神经网络的计算量。为了保证脉冲神经网络计算结果的精确性,传统脉冲神经网络加速器并没有考虑从控制方法层面对脉冲神经网络计算过程进行优化,这显然会导致脉冲神经网络加速器低效率运行。
进一步,脉冲神经网络硬件加速器按照实现方式分为时间驱动加速器和事件驱动加速器。时间驱动脉冲神经网络加速器在每个时间步末尾扫描所有神经元状态,判断其是否发射脉冲信号。该种方式实现逻辑简单,但是存在大量冗余计算。
事件驱动脉冲神经网络加速器在神经元膜电压超出阈值时,发射脉冲信号,其能够充分利用脉冲神经网络中的脉冲稀疏性减少计算量,但由于抑制型脉冲神经网络中的连接权重存在负值,传统事件驱动加速器运行抑制型脉冲神经网络,可能会出现两种错误情况:
1)神经元膜电压在阈值附近浮动,造成脉冲神经元在同一个时间步多次发放脉冲信号;2)神经元膜电压在某个中间状态超出阈值,但最终状态低于阈值,造成神经元错误发射脉冲信号。以上两种情况统称为脉冲抖动现象。脉冲抖动现象是脉冲神经网络计算过程中的错误状态,其会造成最终结果的错误输出。因此现有的事件驱动网络加速器无法支持抑制型脉冲神经网络。
发明内容
针对现有技术的缺陷,本发明的目的一在于提供一种根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型,计算脉冲发放频率,进而得到脉冲神经网络的计算结果;可以忽略脉冲信号在细粒度事件片上的精确发放时间,使得脉冲输入包中无需包含精确的时间信息,大量减少脉冲路由过程以及后续神经计算过程的脉冲神经网络加速方法。
本发明的目的二在于提供一种对神经元的状态信息,进行筛选,将中间状态膜电位水平超出脉冲发射阈值的神经元进行保存,构建神经元的输出队列以及位示图,推迟了脉冲信号的发射时机;然后结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及计算脉冲信号的频率,以避免在神经元膜电压超出阈值的中间状态而非最终状态发射脉冲信号,从而解决脉冲抖动现象的事件驱动型脉冲网络加速器。
为实现上述目的之一,本发明的第一种技术方案为:
一种脉冲神经网络加速方法,
根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型,以消除脉冲神经网络在不同时间步上的计算依赖关系,显著降低时间维度给脉冲神经网络带来的计算延迟,其构建过程,包括以下步骤:
第一步,将粗粒度时间段内的所有脉冲信号搜集到同一个时间片内;
第二步,根据第一步中的脉冲信号,计算出神经元在一段时间内的膜电压增益;
第三步,通过第二步中的膜电压增益,计算脉冲发放频率;
第四步,利用第三步中的脉冲发放频率,得到脉冲神经网络的计算结果,即激活次数最多的神经元。
本发明经过不断探索以及试验,根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型。该近似计算模型利用神经元在一段时间内的脉冲发放频率近似正比于该段时间内的膜电压增益这一特征,计算脉冲发放频率,进而得到脉冲神经网络的计算结果。
因此本发明的近似计算模型可以忽略脉冲信号在细粒度事件片上的精确发放时间,使得脉冲输入包中无需包含精确的时间信息,如信号产生时间。每个脉冲输入包承载了多个脉冲信号,其大量减少脉冲路由过程以及后续神经计算过程。
进而本发明在保证模型精度足够的情况下,有效降低网络中的计算量,消除时间维度为脉冲神经网络带来的性能下行,脉冲神经网络不再依赖不同时间步上的计算,能够显著降低时间维度给脉冲神经网络带来的计算延迟,有效提升脉冲神经网络的性能。
作为优选技术措施:
所述第一步中,近似计算模型基于脉冲频域编码忽略脉冲信号时间语义信息的特性,通过收集脉冲信号操作,摒弃脉冲序列时间语义,以使多个时间步内的脉冲信号被集中在单个时间步。
作为优选技术措施:
所述第二步中,神经元在某一时间段内的膜电压增益,取决于该段时间内突触前神经元所带来的脉冲刺激强度,其具体的计算公式如下:
其中,表示t时刻神经元j的膜电压增益,τ表示时间常数,Wi,j表示神经元i和神
经元j之间连接权重,St i表示神经元i在t时刻是否发射脉冲信号,leak表示泄露项,freqi表
示神经元i在该时间段内的脉冲发放频率。
作为优选技术措施:
所述第三步中,神经元的脉冲发放频率近似正比于该段时间内的膜电压增益,膜电压增益除以脉冲发射阈值,得到近似脉冲发放频率;其具体的计算公式如下:
其中,Vthrd表示神经元的脉冲发放阈值。
作为优选技术措施:
脉冲神经网络的计算量公式如下:
脉冲神经网络经过加速后的计算量公式如下:
其中,Cs'表示加速后脉冲神经网络计算量,N表示脉冲神经网络中神经元数目,i表
示神经元标号,E i 表示神经元的后继神经元集合,T表示神经网络总时间步的长度,T'表示
时间粒度,δ表示脉冲神经网络在单个时间步内神经元的平均激活率,表示加速后脉冲神
经网络在T'时间步内神经元的平均激活率。
为实现上述目的之一,本发明的第二种技术方案为:
一种支持抑制型脉冲神经网络的事件驱动加速器,
应用上述一种脉冲神经网络加速方法,支持抑制型脉冲神经网络的事件驱动加速器包括脉冲输入模块、控制模块、状态模块、计算模块以及脉冲输出模块;
脉冲输入模块,用于负责加速器的输入输出,其设有一条队列,用来存储脉冲输入包;
控制模块设有图控制器和调度器;
所述图控制器,用于负责查找脉冲信号的突触后神经元以及相应连接权重,其能根据脉冲输入包中神经元标号,查找偏移量以及数目,之后再从外存中取出所有后继边;为了实现加速器对具有不同拓扑结构的脉冲神经网络的支持,本发明将脉冲神经网络拓扑结构抽象为图模式,其网络拓扑采用CSR方式保存在DDR中。为了降低访存开销,所有节点的后继边数目以及偏移量被保存在片上。
所述调度器,用于负责将突触后神经元的相关数据调度至特定计算单元。为了简化调度器硬件实现的复杂性,其采用组相联的策略进行调度,即每个计算单元负责一组特定突触神经元状态的更新。使用这种方式,在给定网络拓扑之后,对计算数据的调度可以在离线编译在CSR中,减少在线调度所带来的开销。
状态模块设有一组神经元状态存储单元SU,每个神经元状态存储单元SU保存一组神经元的状态信息,所述状态信息包括膜电位水平、脉冲发射阈值;
计算模块设有一组神经计算单元构成,每个神经计算单元CU包括一个乘加器和一个比较器;
脉冲输出模块设有一组去重队列deduplication queue,其能根据神经元是否是输出神经元,将输入包写入到不同的位置,并将输出神经元封装为脉冲输入包,传输给脉冲输入模块;
所述去重队列包括一个输出队列、一个位示图bitmap、一个用于计算脉冲频率的计算子模块cal_freq;
所述输出队列,用来保存所有中间状态膜电位超出阈值的神经元标号;
所述位示图,用来标识神经元是否已经存在于输出队列,以避免神经元被重复压入队列;当脉冲输入模块中的所有数据都已经被处理完成,计算子模块结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及脉冲信号的频率。
本发明能对神经元的状态信息,进行筛选,将中间状态膜电位水平超出脉冲发射阈值的神经元进行保存,构建神经元的输出队列以及位示图,推迟了脉冲信号的发射时机;然后结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及计算脉冲信号的频率,以避免在神经元膜电压超出阈值的中间状态而非最终状态发射脉冲信号,实现脉冲抖动问题的解决。
同时,本发明设置位示图,用来标识神经元是否已经存在于输出队列,有效避免神经元被重复压入队列,避免了同一神经元多次进入队列,从而彻底解决了脉冲抖动现象。
进而,本发明使得事件驱动网络加速器能够支持抑制型脉冲神经网络,使得抑制型脉冲神经网络也能充分利用事件驱动网络加速器的脉冲稀疏性,以减少计算量。
作为优选技术措施:
所述脉冲输入包为二元组结构,其包括神经元标号、脉冲激活频率;
所述神经元标号,用以指明该脉冲信号来源;
所述脉冲激活频率,用以反应神经元在粗粒度时间段内被激活的次数,以实现对近似计算模型的支持。
由于近似计算模型忽略了脉冲信号在细粒度事件片上的精确发放时间,因此脉冲输入包中无需包含精确的时间信息,如信号产生时间。每个脉冲输入包承载了多个脉冲信号,其大量减少脉冲路由过程以及后续神经计算过程。
作为优选技术措施:
所述神经计算单元CU和神经元状态存储单元SU存在一一映射关系,当神经计算单元CU收到突触后神经元的脉冲输入时,其首先更新神经元状态存储单元SU中保存的神经元的状态信息,然后判断是否向脉冲输出队列发送脉冲输出包。
作为优选技术措施:
所述去重队列利用位示图标识神经元是否已经存在于输出队列,以避免神经元被重复压入队列;推迟脉冲信号的发射时机,结合神经元最终膜电压状态,计算脉冲发放频率,避免在神经元膜电压超出阈值的中间状态发射脉冲信号,实现脉冲抖动问题的解决。
作为优选技术措施:
所述支持抑制型脉冲神经网络的加速器计算过程分为两阶段:
第一阶段是根据脉冲输入包,进行脉冲路由,更新突触后神经元的过程;
第二阶段是脉冲输出模块根据输出队列中神经元最终膜电位,计算脉冲发放频率的过程。
与现有技术相比,本发明具有以下有益效果:
本发明经过不断探索以及试验,根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型。该近似计算模型利用神经元在一段时间内的脉冲发放频率近似正比于该段时间内的膜电压增益这一特征,计算脉冲发放频率,进而得到脉冲神经网络的计算结果。
因此本发明的近似计算模型可以忽略脉冲信号在细粒度事件片上的精确发放时间,使得脉冲输入包中无需包含精确的时间信息,如信号产生时间。每个脉冲输入包承载了多个脉冲信号,其大量减少脉冲路由过程以及后续神经计算过程。
进而本发明在保证模型精度足够的情况下,有效降低网络中的计算量,消除时间维度为脉冲神经网络带来的性能下行,脉冲神经网络不再依赖不同时间步上的计算,能够显著降低时间维度给脉冲神经网络带来的计算延迟,有效提升脉冲神经网络的性能。
进一步,本发明经过不断探索以及试验,打破现有事件驱动型脉冲网络在神经元膜电压超出阈值的中间状态而非最终状态发射脉冲信号的技术偏见。
本发明能对神经元的状态信息,进行筛选,将中间状态膜电位水平超出脉冲发射阈值的神经元进行保存,构建神经元的输出队列以及位示图,推迟了脉冲信号的发射时机;然后结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及计算脉冲信号的频率,以避免在神经元膜电压超出阈值的中间状态而非最终状态发射脉冲信号,实现脉冲抖动问题的解决。
同时,本发明设置位示图,用来标识神经元是否已经存在于输出队列,有效避免神经元被重复压入队列,避免了同一神经元id多次进入队列,从而彻底解决了脉冲抖动现象。
进而,本发明使得事件驱动网络加速器能够支持抑制型脉冲神经网络,使得抑制型脉冲神经网络也能充分利用事件驱动网络加速器的脉冲稀疏性,以减少计算量。
附图说明
图1为人工神经元模型与脉冲神经元模型对比图;
图2为本发明整体逻辑流程图;
图3为人工神经网络处理过程伪代码示图;
图4为脉冲神经网络处理过程伪代码示图;
图5为本发明脉冲神经网络近似计算模型伪代码示图;
图6为本发明脉冲信号收集过程示图;
图7为本发明计算单元结构示图;
图8为本发明去重队列的结构图;
图9为本发明ESNN计算流程图;
图10为本发明IF_SNN/LIF_SNN拓扑结构和CONV_SNN拓扑结构示图;
图11为本发明不同时间粒度的近似计算模型ACS给脉冲神经网络带来的精度损失对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
如图2所示,本发明分别从控制方法层面和硬件设计层面进行优化,解决了传统事件驱动脉冲神经网络中可能出现的计算延迟高、应用范围小等问题。控制方法层面,本发明提出一种脉冲神经网络加速方法,利用构建的近似模型,有效减少脉冲神经网络的计算量,显著降低计算延迟。硬件设计层面,本发明的脉冲神经网络加速器通过设置多个计算单元,设计特殊计算模块,解决脉冲抖动问题,构建支持抑制性脉冲神经网络事件驱动加速器。
本发明脉冲神经网络加速方法的一种具体实施例:
一种脉冲神经网络加速方法,根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型,以消除脉冲神经网络在不同时间步上的计算依赖关系,显著降低时间维度给脉冲神经网络带来的计算延迟,其构建过程,包括以下步骤:
第一步,将粗粒度时间段内的所有脉冲信号搜集到同一个时间片内;
第二步,根据第一步中的脉冲信号,计算出神经元在一段时间内的膜电压增益;
第三步,通过第二步中的膜电压增益,计算脉冲发放频率;
第四步,利用第三步中的脉冲发放频率,得到脉冲神经网络的计算结果。
本发明经过不断探索以及试验,根据脉冲神经元模型以及脉冲编码方式,构建近似计算模型。该近似计算模型利用神经元在一段时间内的脉冲发放次数近似正比于该段时间内的膜电压增益这一特征,计算脉冲发放频率,进而得到脉冲神经网络的计算结果。
本发明的近似计算模型可以忽略脉冲信号在细粒度事件片上的精确发放时间,使得脉冲输入包中无需包含精确的时间信息,如信号产生时间。每个脉冲输入包承载了多个脉冲信号,其大量减少脉冲路由过程以及后续神经计算过程。
进而本发明在保证模型精度足够的情况下,有效降低网络中的计算量,消除时间维度为脉冲神经网络带来的性能下行,脉冲神经网络不再依赖不同时间步上的计算,能够显著降低时间维度给脉冲神经网络带来的计算延迟,有效提升脉冲神经网络的性能。
本发明脉冲神经网络近似计算模型ACS的一种具体实施例:
理论上,脉冲神经网络相较于人工神经网络具有低延迟、低能耗的特点,然而由于额外时间维度的存在,实验中往往并非此种情况。为了更加正式的描述该问题,将神经网络抽象为前驱图G,神经元按照前驱图的拓扑排序进行编号。
如图3和图4所示算法分别描述人工神经网络和脉冲神经网络的计算过程。其中N表示神经元数目,E i 表示神经元i的后继神经元集合,T表示神经网络总时间步的长度,δ表示脉冲神经网络在单个时间步内神经元的平均激活率,W ij 表示神经元i 到神经元j的连接权重。V、delay、thrd分别表示神经元膜电压、延迟以及脉冲发放阈值。
为了消除时间维度为脉冲神经网络带来的性能下行,本发明在控制方法层面针对脉冲神经网络提出一种近似计算模型ACS。为了更加方便描述近似计算模型的理论基础,这里给出三条基于事实的条件。
条件一:在脉冲神经网络应用中,LIF(Leaky Integrate and Fire)模型和IF(Integrate and Fire)模型是最常使用的脉冲神经元模型,这两种神经元模型极大简化了生物神经元的脉冲响应过程,在生物真实性和计算高效性之间取得折衷。脉冲编码方式主要分为频域编码和时域编码两大类,脉冲频域编码因为其简单,易于训练等优点而成为应用最广泛的脉冲编码方式。
条件二:主流的脉冲编码方式,都是将每个输入数据编码为一个脉冲序列。时域编码将输入数据信息编码在脉冲序列的时间结构中。例如,输入数据值越大,脉冲序列的间距越小。不同于时域编码,脉冲频域编码忽略了脉冲信号间的时间语义信息,仅仅关注脉冲信号在整个时域内的总体发放频率,值越大的输入,脉冲频率越高。
条件二表明脉冲频域编码不关注脉冲信号在时域上的分布情况。换言之,对于相同的输入数据,频域编码也无法保证所得到的脉冲序列是一致的,仅能够保证脉冲序列中的脉冲信号数目是相同的。
因此,可以将粗粒度时间段内的所有脉冲信号搜集到同一个时间片。这样便可以在一个时间步计算出神经元在一段时间内的膜电压增益。收集脉冲信号屏蔽了脉冲信号在时间语义上的信息,由于频域编码本身便不关注时间语义,因此理论上该种方法是可行的。收集操作有些类似于批处理操作,可以显著降低脉冲路由过程。图6给出4个脉冲搜集的示例,其中左边序列表示采用频域编码的脉冲序列所代表的输入数据,右图表示脉冲搜集后的脉冲序列所代表的输入数据,数字表示该输入数据。
条件三表明如果能够计算出在一段时间内的膜电压增益,那么便可以近似估算出神经元在该段时间内的脉冲发放频率。当然,模型估算的精度取决于模型本身。每次发放脉冲信号时,神经元膜电压越接近脉冲发放阈值,估算的误差越小。可以在模型训练的时候采用正则化等操作,来使得神经元连接权重的绝对值保持在较低水平,这样能够保证模型估算精度取得较好的水平。结合条件二、条件三,脉冲神经网络中所有神经元在一段时间内的脉冲发放频率便可以估算得出,其中输出神经元的脉冲发放频率便是脉冲神经网络的计算结果,由此得出脉冲神经网络的近似计算模型ACS。
如图5所示算法展示了使用近似计算模型ACS的脉冲神经网络的计算过程,近似计
算模型ACS可以显著降低时间维度给脉冲神经网络带来的计算延迟。分析算法可知,使用近
似计算模型ACS后,脉冲神经网络的计算量为,表示时间粒度,表
示加速后脉冲神经网络在时间步内神经元的平均激活率。由于脉冲神经网络高度稀疏,
且神经元在一段时间内被激活的概率很大,因此满足和。可以
通过选取合适的时间粒度来保证模型精度足够高的情况下,计算量明显少于传统脉冲神
经网络以及人工神经网络。
本发明支持抑制型脉冲神经网络高性能加速器一种实施例:
加速器主要包括5个主要部件,分别为脉冲输入模块、控制模块、状态模块、计算模块以及脉冲输出模块。
脉冲输入模块(Spike-input Module)负责加速器的输入输出。该模块包含一条队列,用来存储脉冲输入包。其数据要么来源于外存中图像输入数据,要么来源于脉冲输出单元的输出数据。区别于传统脉冲神经网络加速器的输入数据,脉冲输入包是由二元组<神经元标号,脉冲激活频率>构成。神经元标号指明该脉冲信号来源,脉冲激活频率反应神经元在粗粒度时间段内被激活的次数,用以实现对近似计算模型的支持。由于近似计算模型忽略了脉冲信号在细粒度事件片上的精确发放时间,因此脉冲输入包中无需包含精确的时间信息,如信号产生时间。每个脉冲输入包承载了多个脉冲信号,其大量减少脉冲路由过程以及后续神经计算过程。
控制模块(Control Module)包含图控制器Router和调度器Scheduler两个子模块。图控制器负责查找脉冲信号的突触后神经元以及相应连接权重。
为了实现加速器对具有不同拓扑结构的脉冲神经网络的支持,本发明将脉冲神经网络拓扑结构抽象为图模式,其网络拓扑采用CSR方式保存在DDR中。为了降低访存开销,所有节点的后继边数目以及偏移量被保存在片上。
控制器根据脉冲输入包中神经元标号,查找偏移量以及数目,之后再从外存中取出所有后继边。调度器负责将突触后神经元的相关数据调度至特定计算单元。为了简化调度器硬件实现的复杂性,采用组相联的策略进行调度,即每个计算单元负责一组特定突触神经元状态的更新。使用这种方式,在给定网络拓扑之后,对计算数据的调度可以在离线编译在CSR中,减少在线调度所带来的开销。
状态模块(State Module)包含一组神经元状态存储单元SU,每个SU则又保存一组神经元的状态信息,如膜电位水平,脉冲发射阈值等。
计算模块(Compute Module)是由一组神经计算单元CU构成,每个CU包含一个乘加器和一个比较器,如图7。CU和SU存在一一映射关系,当CU收到突触后神经元的脉冲输入时,其首先更新SU中保存的神经元的状态信息,然后判断是否向脉冲输出队列发送脉冲输出包。
脉冲输出模块(Spike-output Module)是由一组去重队列(deduplicationqueue)组成。去重队列包含一个输出队列,一个位示图(bitmap)和一个计算脉冲频率的子模块cal_freq,如图8。输出队列用来保存所有中间状态膜电位超出阈值的神经元标号。为了避免神经元被重复压入队列,位示图用来标识神经元是否已经存在于输出队列。当脉冲输入模块中的所有数据都已经被处理完成,cal_freq子模块结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及脉冲信号的频率。去重队列被设计用来解决脉冲抖动问题,其本质上一方面推迟了脉冲信号的发射时机,另一方面避免了同一神经元id多次进入队列,从而彻底解决了脉冲抖动现象。
总的来说,支持抑制型脉冲神经网络高性能加速器计算过程分为两阶段,如图9所示。第一阶段是根据脉冲输入包,进行脉冲路由,更新突触后神经元的过程。该阶段内,脉冲路由和神经元状态更新被流水线执行,以提高硬件利用率。第二阶段是脉冲输出模块根据输出队列中神经元最终膜电位,计算脉冲发放频率的过程。脉冲输出单元将神经元标号以及脉冲发放频率封装为脉冲输入包,交给脉冲输入模块。脉冲输入模块根据神经元是否是输出神经元,将输入包写入到不同的位置。
本发明一种最佳实施例:
本发明从控制算法和硬件架构两个方面进行优化,设计并实现一种基于FPGA平台的高性能脉冲神经网络硬件加速器。该加速器采用事件驱动的方式对神经元状态进行更新。
控制方法层面,本发明结合最常使用的脉冲神经元模型以及脉冲频域编码的特性,提出一种近似计算模型。经过理论分析和实验验证,得出该近似方法可以保证模型精度轻微损失的情况下,大幅降低脉冲神经网络的计算量。
硬件层面,一方面通过设置多个计算单元以提升并行度,通过流水线执行个模块以提升系统吞吐。另一方面,通过设计新颖的硬件模块以及重新规划计算流程,解决了脉冲抖动现象,进而实现了事件驱动脉冲神经网络加速器对抑制型脉冲神经网络的支持。
发明模型准确度进行验证的一种具体实施例:
为了验证本发明提出的方法的可行性,分别从控制方法层面和硬件层面进行验证。控制方法层面,搭建了3中脉冲神经网络模型,分别在MNIST,Fashion_MNIST,以及CIFAR10数据集上进行测试。对比使用近似计算模型ACS以及没有使用近似计算模型ACS的脉冲神经网络所得出的预测精度,分析近似计算模型ACS所带来的精度损失。
硬件层面,使用高层次综合语言HLS在Xilinx ZC706 FPGA平台上实现一款脉冲神经网络SNN加速器FEAS。FEAS是一款可配置的,时间驱动的脉冲神经网络加速器。一个全连接脉冲神经网络作为示例应用被部署至FEAS。将FEAS的运行结果与方法运行结果进行对比,用以验证FEAS是否可以实现对抑制型脉冲神经网络的支持。FEAS的吞吐以及预测精度作为关键指标被用来与相关工作进行对比。
本发明近似计算模型ACS精度损失验证实施例:
为了验证近似计算模型ACS给脉冲神经网络所带来的精度损失,基于
spikingjelly深度学习框架搭建了3种脉冲神经网络模型,分别成为IF_SNN,LIF_SNN和。IF_SNN是一个包含4层全连接层的、基于IF神经元模型的网络。IF_SNN被用来
在MNIST手写数字数据集上执行分类任务。LIF_SNN和IF_SNN具有相同的网络拓扑,不同的
是,LIF_SNN是基于LIF神经元,该网络被使用Fashion_MNNIST数据集作为训练和测试集。是一个基于IF神经元的卷积脉冲神经网络,在CIFAR10数据集上执行
分类操作。图10中的(a)展示了IF_SNN/LIF_SNN网络拓扑结构,图10中的(b)展示了拓扑结构。三种脉冲神经网络模型的详细信息被展示在表1中,其中三种模型的
预测精度被用作基准精度与使用近似计算模型ACS的脉冲神经网络SNN预测精度进行对比。
模型训练完成之后,基于模型参数信息使用近似计算模型ACS在测试集上进行预测。将近似计算模型ACS中时间粒度划分为2,4,8,16,32五种长度。图11展示了三种模型使用不同时间粒度的近似计算模型ACS所带来的精度损失。实验结果显示即使将近似计算模型ACS的时间粒度设置为32个时间步(这意味着原本32个时间步内的计算量,现在全部放在一个时间步内完成),其精度损失仍旧保持在2%以内。对于IF_SNN和LIF_SNN,精度损失更是保持在1%以内,这证明了近似计算模型ACS的合理性。
需要注意的是,在训练模型的时候加入了L2正则化操作。L2正则化一方面可以防止模型过拟合,另一方面可以保证模型的权重足够小。这样训练得到的脉冲神经网络SNN模型更加符合近似算法中条件三。加入L2正则化后,近似计算模型ACS对模型精度的影响更小。
本发明脉冲神经网络加速器架构合理性验证实施例:
为了验证事件驱动脉冲神经网络加速器架构ESNN可以实现对抑制型脉冲神经网络的支持,基于ESNN在Xilinx ZC706 FPGA平台上实例化了一款脉冲神经网络硬件加速器FEAS。FEAS可以支持包含8096 IF脉冲神经元以及最多64K突触连接的脉冲神经网络,其运行频率可以达到200MHz。FEAS中集成了8个CU单元,每个CU单元负责更新1024个脉冲神经元状态。表2展示了FEAS所消耗的ZC706 FPGA硬件资源量。
表2:FEAS资源使用情况
选择IF_SNN作为的示范样例,部署到FEAS上。IF_SNN是基于spikingjelly计算框架训练得到的抑制型脉冲神经网络SNN模型。IF_SNN在MNIST上数据集上的预测精度为98.23%。基于IF_SNN模型参数信息,采用时间粒度为32的近似计算模型ACS再次对测试集进行预测。结果显示采用近似计算模型ACS预测的精度高达97.54%,即近似计算模型给模型仅造成0.69%的精度损失。然后将测试集中的图像通过泊松分布编码,转化为脉冲信号序列。再进一步封装为脉冲输入包,作为输入数据,交给FEAS运行。FEAS的运行结果和在通用CPU上运行的结果一致,这证明了FEAS能够支持抑制型脉冲神经网络。FEAS在MNIST数据集上每秒平均可以处理3K+数字图片,相比于以往的脉冲神经网络SNN加速器,FEAS将吞吐量提升了接近一个数量级。综上所述,证明了本发明所提出的高性能脉冲神经网络硬件加速方案是合理的、可行的。
本发明针对通用计算平台以及专用脉冲神经网络加速硬件在处理脉冲神经网络SNN应用时的局限性,提出高性能脉冲神经网络硬件加速器设计方案。该方案结合方法算法优化以及硬件架构优化,实现了对通用脉冲神经网络(兴奋型和抑制型)的高效支持。基于提出的设计方案,在Xilinx ZC706 FPGA平台上实例化一款事件驱动脉冲神经网络硬件加速器FEAS。一个用于MNIST手写数字识别的抑制型脉冲神经网络应用被运行在FEAS上。运行结果显示,FEAS可以保证模型精度高达97.54%的情况下,实现每秒处理3K+张图片数据。相较于以往的脉冲神经网络加速器,FEAS将吞吐量提升了接近一个数量级,这证明了所提出的加速器设计方案是合理的,具有实际应用前景。
本发明通过控制方法层面所提出的近似计算模型ACS,消除了脉冲神经网络计算过程中,时间维度所带来的计算开销。理论分析和实验验证都表明,近似计算模型可以在保证模型精度轻微损失的情况下,大幅降低脉冲神经网络中的计算量。
本发明的事件驱动脉冲神经网络加速硬件架构(ESNN)可以支持本发明所提出的近似计算模型。同时,通过特殊的硬件模块以及计算过程的重新划分,ESNN解决了脉冲抖动问题,实现了对抑制型脉冲神经网络的高效支持。
为了验证技术方案的可行性,本发明在FPGA平台上实例化了一款脉冲神经网络SNN加速器FEAS。一个用于MNIST手写数字识别的抑制型脉冲神经网络SNN应用被部署到FEAS上。实验结果表明FEAS可以保证模型预测精度高达97.54%的情况下,每秒处理3K+数字图像。相比于以往脉冲神经网络SNN加速器运行同类应用,FEAS将模型的吞吐量提升了将近一个数量级,这证明本发明所提出的方案是可行的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种脉冲神经网络加速方法,其特征在于,
构建近似计算模型,以消除脉冲神经网络在不同时间步上的计算依赖关系,其构建过程,包括以下步骤:
第一步,将粗粒度时间段内的所有脉冲信号搜集到同一个时间片内;
第二步,根据第一步中的脉冲信号,计算出神经元在一段时间内的膜电压增益;
第三步,通过第二步中的膜电压增益,计算脉冲发放频率;
第四步,利用第三步中的脉冲发放频率,得到脉冲神经网络的计算结果。
2.如权利要求1所述的一种脉冲神经网络加速方法,其特征在于,
所述第一步中,近似计算模型基于脉冲频域编码忽略脉冲信号时间语义信息的特性,通过收集脉冲信号操作,摒弃脉冲序列时间语义,以使多个时间步内的脉冲信号被集中在单个时间步。
3.如权利要求1所述的一种脉冲神经网络加速方法,其特征在于,
所述第二步中,神经元在某一时间段内的膜电压增益,取决于该段时间内突触前神经元所带来的脉冲刺激强度,其具体的计算公式如下:
∑
T
'
t=1
X
j
t
=∑
T
'
t=1
(∑
N
i=0
W
i,j
*S
i
t
+leak) /τ
≈ (∑
N
i=0
W
i,j
*freq
i
+leak)/τ
其中,X j t 表示t时刻神经元j的膜电压增益,τ表示时间常数,Wi,j表示神经元i和神经元j之间连接权重,St i表示神经元i在t时刻是否发射脉冲信号,leak表示泄露项,freqi表示神经元i在该时间段内的脉冲发放频率。
4.如权利要求3所述的一种脉冲神经网络加速方法,其特征在于,
所述第三步中,神经元的脉冲发放频率近似正比于该段时间内的膜电压增益,膜电压增益除以脉冲发射阈值,得到近似脉冲发放频率;其具体的计算公式如下:
freq j =∑ T ' t=1 S j t ≈(∑ T ' t=1 X j t ) /V thrd ;
其中,Vthrd表示神经元的脉冲发放阈值。
5.如权利要求1-4任一所述的一种脉冲神经网络加速方法,其特征在于,
脉冲神经网络经过加速后的计算量公式如下:
C s' =δ'∑ N i=1 E i T/T',δ≤δ'≪ T'*δ;
其中,Cs'表示加速后脉冲神经网络计算量,N表示脉冲神经网络中神经元数目,i表示神经元标号,E i 表示神经元的后继神经元集合,T表示神经网络总时间步的长度,T'表示时间粒度,δ表示脉冲神经网络在单个时间步内神经元的平均激活率,δ'表示加速后脉冲神经网络在T'时间步内神经元的平均激活率。
6.一种支持抑制型脉冲神经网络的事件驱动加速器,其特征在于,
应用如权利要求1-5任一所述的一种脉冲神经网络加速方法,
支持抑制型脉冲神经网络的事件驱动加速器包括脉冲输入模块、控制模块、状态模块、计算模块以及脉冲输出模块;
脉冲输入模块,用于负责加速器的输入输出,其设有一条队列,用来存储脉冲输入包;
控制模块设有图控制器和调度器;
所述图控制器,用于负责查找脉冲信号的突触后神经元以及相应连接权重,其能根据脉冲输入包中神经元标号,查找偏移量以及数目,之后再从外存中取出所有后继边;
所述调度器,用于负责将突触后神经元的相关数据调度至特定计算单元,其采用组相联的策略进行调度,即每个计算单元负责一组特定突触神经元状态的更新;
状态模块设有一组神经元状态存储单元SU,每个神经元状态存储单元SU保存一组神经元的状态信息,所述状态信息包括膜电位水平、脉冲发射阈值;
计算模块设有一组神经计算单元构成,每个神经计算单元CU包括一个乘加器和一个比较器;
脉冲输出模块设有一组去重队列,其能根据神经元是否是输出神经元,将输入包写入到不同的位置,并将输出神经元封装为脉冲输入包,传输给脉冲输入模块;
所述去重队列包括一个输出队列、一个位示图、一个用于计算脉冲频率的计算子模块;
所述输出队列,用来保存所有中间状态膜电位超出阈值的神经元标号;
所述位示图,用来标识神经元是否已经存在于输出队列,以避免神经元被重复压入队列;当脉冲输入模块中的所有数据都已经被处理完成,计算子模块结合神经元最终膜电压状态,判断输出队列中神经元是否发射脉冲信号以及脉冲信号的频率。
7.如权利要求6所述的一种支持抑制型脉冲神经网络的事件驱动加速器,其特征在于,
所述脉冲输入包为二元组结构,其包括神经元标号、脉冲激活频率;
所述神经元标号,用以指明该脉冲信号来源;
所述脉冲激活频率,用以反应神经元在粗粒度时间段内被激活的次数,以实现对近似计算模型的支持。
8.如权利要求6所述的一种支持抑制型脉冲神经网络的事件驱动加速器,其特征在于,
所述神经计算单元CU和神经元状态存储单元SU存在一一映射关系,当神经计算单元CU收到突触后神经元的脉冲输入时,其首先更新神经元状态存储单元SU中保存的神经元的状态信息,然后判断是否向脉冲输出队列发送脉冲输出包。
9.如权利要求6所述的一种支持抑制型脉冲神经网络的事件驱动加速器,其特征在于,
所述去重队列利用位示图标识神经元是否已经存在于输出队列;推迟脉冲信号的发射时机,结合神经元最终膜电压状态,计算脉冲发放频率,实现脉冲抖动问题的解决。
10.如权利要求6-9任一所述的一种支持抑制型脉冲神经网络的事件驱动加速器,其特征在于,
所述支持抑制型脉冲神经网络的加速器计算过程分为两阶段:
第一阶段是根据脉冲输入包,进行脉冲路由,更新突触后神经元的过程;
第二阶段是脉冲输出模块根据输出队列中神经元最终膜电位,计算脉冲发放频率的过程。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010882.4A CN114139695B (zh) | 2022-01-06 | 2022-01-06 | 一种支持抑制型脉冲神经网络的事件驱动加速器 |
US17/878,096 US20230214634A1 (en) | 2022-01-06 | 2022-08-01 | Event-driven accelerator supporting inhibitory spiking neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010882.4A CN114139695B (zh) | 2022-01-06 | 2022-01-06 | 一种支持抑制型脉冲神经网络的事件驱动加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114139695A true CN114139695A (zh) | 2022-03-04 |
CN114139695B CN114139695B (zh) | 2022-06-03 |
Family
ID=80381669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210010882.4A Active CN114139695B (zh) | 2022-01-06 | 2022-01-06 | 一种支持抑制型脉冲神经网络的事件驱动加速器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230214634A1 (zh) |
CN (1) | CN114139695B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114418081A (zh) * | 2022-03-30 | 2022-04-29 | 浙江大学 | 面向片上脉冲神经网络的神经元实现系统 |
CN114819121A (zh) * | 2022-03-28 | 2022-07-29 | 中国科学院自动化研究所 | 基于脉冲神经网络的信号处理装置及信号处理方法 |
CN114998996A (zh) * | 2022-06-14 | 2022-09-02 | 中国电信股份有限公司 | 具有运动属性信息的信号处理方法、装置、设备及存储 |
CN115545190A (zh) * | 2022-12-01 | 2022-12-30 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
WO2024199542A1 (zh) * | 2023-03-31 | 2024-10-03 | 华为技术有限公司 | 脉冲神经网络加速器、脉冲神经网络计算方法和计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845633A (zh) * | 2017-01-25 | 2017-06-13 | 清华大学 | 神经网络信息转换方法和系统 |
CN108985447A (zh) * | 2018-06-15 | 2018-12-11 | 华中科技大学 | 一种硬件脉冲神经网络系统 |
CN112784976A (zh) * | 2021-01-15 | 2021-05-11 | 中山大学 | 一种基于脉冲神经网络的图像识别系统及方法 |
CN113221605A (zh) * | 2020-02-06 | 2021-08-06 | 华为技术有限公司 | 对象识别的方法、装置及计算机可读存储介质 |
US20210279559A1 (en) * | 2020-03-03 | 2021-09-09 | Kabushiki Kaisha Toshiba | Spiking neural network device and learning method of spiking neural network device |
-
2022
- 2022-01-06 CN CN202210010882.4A patent/CN114139695B/zh active Active
- 2022-08-01 US US17/878,096 patent/US20230214634A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845633A (zh) * | 2017-01-25 | 2017-06-13 | 清华大学 | 神经网络信息转换方法和系统 |
CN108985447A (zh) * | 2018-06-15 | 2018-12-11 | 华中科技大学 | 一种硬件脉冲神经网络系统 |
CN113221605A (zh) * | 2020-02-06 | 2021-08-06 | 华为技术有限公司 | 对象识别的方法、装置及计算机可读存储介质 |
US20210279559A1 (en) * | 2020-03-03 | 2021-09-09 | Kabushiki Kaisha Toshiba | Spiking neural network device and learning method of spiking neural network device |
CN112784976A (zh) * | 2021-01-15 | 2021-05-11 | 中山大学 | 一种基于脉冲神经网络的图像识别系统及方法 |
Non-Patent Citations (2)
Title |
---|
KAVEH AKBARZADEH-SHERBAF ET AL.: "A Novel Approximate Hamming Weight Computing for Spiking Neural Networks an FPGA Friendly Architecture", 《ARXIV:2104.14594V1》 * |
MAXENCE BOUVIER ET AL.: "Spiking Neural Networks Hardware Implementations and Challenges A Survey", 《ACM JOURNAL ON EMERGING TECHNOLOGIES IN COMPUTING SYSTEMS》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114819121A (zh) * | 2022-03-28 | 2022-07-29 | 中国科学院自动化研究所 | 基于脉冲神经网络的信号处理装置及信号处理方法 |
CN114819121B (zh) * | 2022-03-28 | 2022-09-27 | 中国科学院自动化研究所 | 基于脉冲神经网络的信号处理装置及信号处理方法 |
CN114418081A (zh) * | 2022-03-30 | 2022-04-29 | 浙江大学 | 面向片上脉冲神经网络的神经元实现系统 |
CN114418081B (zh) * | 2022-03-30 | 2022-07-19 | 浙江大学 | 面向片上脉冲神经网络的神经元实现系统 |
CN114998996A (zh) * | 2022-06-14 | 2022-09-02 | 中国电信股份有限公司 | 具有运动属性信息的信号处理方法、装置、设备及存储 |
CN114998996B (zh) * | 2022-06-14 | 2024-04-05 | 中国电信股份有限公司 | 具有运动属性信息的信号处理方法、装置、设备及存储 |
CN115545190A (zh) * | 2022-12-01 | 2022-12-30 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
CN115545190B (zh) * | 2022-12-01 | 2023-02-03 | 四川轻化工大学 | 一种基于概率计算的脉冲神经网络及其实现方法 |
WO2024199542A1 (zh) * | 2023-03-31 | 2024-10-03 | 华为技术有限公司 | 脉冲神经网络加速器、脉冲神经网络计算方法和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114139695B (zh) | 2022-06-03 |
US20230214634A1 (en) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114139695B (zh) | 一种支持抑制型脉冲神经网络的事件驱动加速器 | |
JP7366274B2 (ja) | ニューラル・ネットワークのための適応的探索方法および装置 | |
Chitty-Venkata et al. | Neural architecture search survey: A hardware perspective | |
Wang et al. | Drl-sfcp: Adaptive service function chains placement with deep reinforcement learning | |
Wang et al. | Dynexit: A dynamic early-exit strategy for deep residual networks | |
CN111262858A (zh) | 基于sa_soa_bp神经网络的网络安全态势预测方法 | |
CN114780739B (zh) | 基于时间图卷积网络的时序知识图谱补全方法及系统 | |
CN116594748B (zh) | 针对任务的模型定制处理方法、装置、设备和介质 | |
CN113537580B (zh) | 一种基于自适应图学习的公共交通客流预测方法及系统 | |
CN115862319A (zh) | 一种面向时空图自编码器的交通流量预测方法 | |
Ji et al. | Forecasting wind speed time series via dendritic neural regression | |
Wei et al. | Temporal-coded spiking neural networks with dynamic firing threshold: Learning with event-driven backpropagation | |
Fonseca et al. | Model-agnostic approaches to handling noisy labels when training sound event classifiers | |
Luo et al. | Designing efficient DNNs via hardware-aware neural architecture search and beyond | |
Li et al. | Pipuls: Predicting i/o patterns using lstm in storage systems | |
US11704562B1 (en) | Architecture for virtual instructions | |
Lahiany et al. | Pteenet: post-trained early-exit neural networks augmentation for inference cost optimization | |
CN117118836A (zh) | 基于资源预测的服务功能链多阶段节能迁移方法 | |
US12001893B1 (en) | Distributed synchronization scheme | |
Guo et al. | Improved CS algorithm and its application in parking space prediction | |
CN116997910A (zh) | 张量控制器架构 | |
Li et al. | FEAS: A Faster Event-driven Accelerator Supporting Inhibitory Spiking Neural Network | |
Lu et al. | Hardware/Software Co-Exploration for Graph Neural Architectures on FPGAs | |
Kutukcu et al. | EvoSh: Evolutionary Search with Shaving to Enable Power-Latency Tradeoff in Deep Learning Computing on Embedded Systems | |
Li et al. | Efficient Time Series Predicting with Feature Selection and Temporal Convolutional Network |
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 |