CN113822416A - 脉冲神经网络奖励优化方法、装置、电子设备和存储介质 - Google Patents
脉冲神经网络奖励优化方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113822416A CN113822416A CN202111061828.4A CN202111061828A CN113822416A CN 113822416 A CN113822416 A CN 113822416A CN 202111061828 A CN202111061828 A CN 202111061828A CN 113822416 A CN113822416 A CN 113822416A
- Authority
- CN
- China
- Prior art keywords
- hidden layer
- reward
- neuron
- synaptic
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 115
- 238000005457 optimization Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012421 spiking Methods 0.000 title claims abstract description 46
- 210000002569 neuron Anatomy 0.000 claims abstract description 155
- 230000000946 synaptic effect Effects 0.000 claims abstract description 104
- 210000005215 presynaptic neuron Anatomy 0.000 claims abstract description 95
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012937 correction Methods 0.000 claims description 49
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000010304 firing Methods 0.000 claims description 23
- 239000012528 membrane Substances 0.000 claims description 20
- 238000009792 diffusion process Methods 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 239000006185 dispersion Substances 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 230000036279 refractory period Effects 0.000 claims description 6
- 210000000225 synapse Anatomy 0.000 claims description 6
- 230000036390 resting membrane potential Effects 0.000 claims description 5
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000012549 training Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000001054 cortical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001423 neocortical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000027928 long-term synaptic potentiation Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research 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/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/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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
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)
- 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)
- Image Analysis (AREA)
Abstract
本发明提供一种脉冲神经网络奖励优化方法、装置、电子设备和存储介质,其中方法包括:对脉冲神经网络进行初始化操作;基于脉冲编码器,将样本数据转换为样本脉冲序列编码;将样本脉冲序列编码输入至脉冲神经网络,确定脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至脉冲神经网络收敛;其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。本发明具备生物合理性,且与逐层优化方式对比,可以减少不必要的信息存储,降低了内存占用,减少了能耗,有利于置于芯片上使用。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种脉冲神经网络奖励优化方法、装置、电子设备和存储介质。
背景技术
脉冲神经网络被认为是第三代人工神经网络。脉冲神经网络中神经元之间传递的基本信息单位是离散的脉冲,包含达到发放阈值的膜电位状态的精确时间。这种事件型信号包含内部神经元动力学和历史积累(和衰减)的膜电位。脉冲神经网络中的脉冲训练与人工神经网络中的放电率(这里可以将放电率定义为描述传播信息的模拟值)相比,为更好地表征处理序列信息打开了一个新的时间坐标。除了神经元动力学,生物学特征的学习原则是脉冲神经网络的其他关键特征,描述了通过局部和全局可塑性原则修改突触权值。目前大多数的局部准则都是无监督的,包括脉冲时间依赖可塑性(STDP)、短时可塑性(STP)、长时程增强(LTP)、长时程抑制(LTD)和侧向抑制等。对于全局性准则,其比局部原则更“受监督”,数量规模更小,但与网络功能更相关,例如,可塑性传播,奖励传播(RP),反馈对齐(FA),目标传播(TP)等。
脉冲神经网络在结构和功能上存在差异,如回声状态机、液体状态机、生物神经元前馈结构以及一些与任务相关的结构。目前存在的脉冲神经网络训练方法是基于BP(BackPropagation,反向传播)方式或者是与BP方式相关的。然而,BP方式并不符合生物学习方法准则,训练效果欠佳,在将脉冲神经网络应用到音视频或图像数据的识别任务上时,识别效果不佳。
发明内容
本发明提供一种脉冲神经网络奖励优化方法、装置、电子设备和存储介质,用以解决现有技术中利用BP训练方式训练脉冲神经网络不符合生物学习方法准则、将训练好的脉冲神经网络应用到识别任务上时的识别效果欠佳的缺陷。
本发明提供一种脉冲神经网络奖励优化方法,包括:
对脉冲神经网络进行初始化操作;
基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;
将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
根据本发明提供的一种脉冲神经网络奖励优化方法,所述基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
确定所述奖励的奖励类型;
若所述奖励的奖励类型为与输出无关的非误差类奖励,则在任一隐藏层运算结束后,基于所述任一隐藏层的输出及其对应的奖励,对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重执行优化操作;
若所述奖励的奖励类型为与输出相关的误差类奖励,则在前向传播计算得到输出后,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作。
根据本发明提供的一种脉冲神经网络奖励优化方法,所述对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
基于任一隐藏层的弥散矩阵,对所述任一隐藏层的奖励进行映射,得到所述任一隐藏层的目标值;
基于所述任一隐藏层的目标值和输出,确定所述任一隐藏层对应的输出修正量;
基于所述任一隐藏层对应的输出修正量,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
根据本发明提供的一种脉冲神经网络奖励优化方法,任一隐藏层的弥散矩阵的维度与所述任一隐藏层的输出的维度相同,且所述弥散矩阵的均值为0。
根据本发明提供的一种脉冲神经网络奖励优化方法,所述基于所述任一隐藏层对应的输出修正量,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
基于所述任一隐藏层对应的输出修正量和伪梯度,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
根据本发明提供的一种脉冲神经网络奖励优化方法,所述基于所述任一隐藏层对应的输出修正量和伪梯度,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
采用如下公式确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量:
Δwi(t)∝Δhconv/fc,l(t)ΔVi(t)
ΔVi(t)=Vi(t+1)-Vi(t)=1,if(Vi(t)=Vth)
其中,为所述任一隐藏层的目标值,为所述任一隐藏层的弥散矩阵,R(t)为所述任一隐藏层的奖励,Δhconv/fc,l(t)为t时刻所述任一隐藏层对应的输出修正量,hconv/fc,l(t)为所述任一隐藏层的输出,Vi(t)为所述任一隐藏层中神经元i在t时刻的膜电位,Vth为发放阈值,ΔVi(t)为膜电位的微分数值,当Vi(t)=Vth时,使用所述伪梯度计算;
采用如下公式对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正:
wi(t+1)=wi(t)-ηconv/fcΔwi(t)
其中,wi(t)为t时刻所述任一隐藏层的神经元i与其对应的突触前神经元间的突触权重,ηconv/fc为学习率。
根据本发明提供的一种脉冲神经网络奖励优化方法,所述对脉冲神经网络进行初始化操作,具体包括:
初始化所述脉冲神经网络中与神经元相关的超参数以及网络参数;
其中,所述与神经元相关的超参数包括膜电容、突触电导率、时间间隔、发放阈值、静息膜电位、突触权重和不应期;
所述网络参数包括核大小、核数量、隐藏层数量、神经元数量、学习率、每个隐藏层的弥散矩阵以及时间窗数量。
本发明还提供一种脉冲神经网络奖励优化装置,包括:
初始化单元,用于对脉冲神经网络进行初始化操作;
脉冲编码单元,用于基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;
参数优化单元,用于将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述脉冲神经网络奖励优化方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述脉冲神经网络奖励优化方法的步骤。
本发明提供的脉冲神经网络奖励优化方法、装置、电子设备和存储介质,通过确定脉冲神经网络的前向传播过程中每层神经元的发放状态,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,且每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的,使得优化操作与新皮层皮质柱自上而下的奖励导向学习更一致,具备生物合理性,且与逐层优化方式对比,可以减少不必要的信息存储,降低了内存占用,减少了能耗,有利于置于芯片上使用。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的脉冲神经网络奖励优化方法的流程示意图之一;
图2是本发明提供的脉冲神经网络奖励优化方法的流程示意图之二;
图3是本发明提供的脉冲神经网络奖励优化装置的结构示意图;
图4为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前存在的脉冲神经网络训练方法是基于BP(Back Propagation,反向传播)方式或者是与BP方式相关的。然而,BP方式并不符合生物学***的人工智能。
对此,本发明实施例提供了一种脉冲神经网络奖励优化方法。图1为本发明实施例提供的脉冲神经网络奖励优化方法的流程示意图之一,如图1所示,该方法包括:
步骤110,对脉冲神经网络进行初始化操作;
步骤120,基于脉冲编码器,将样本数据转换为样本脉冲序列编码;样本数据为音频数据、图像数据或视频数据;
步骤130,将样本脉冲序列编码输入至脉冲神经网络,确定脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至脉冲神经网络收敛;任一隐藏层的输出是基于该隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
具体地,对脉冲神经网络进行初始化操作后,可以利用脉冲编码器(例如泊松编码器)对样本数据进行脉冲编码,将非脉冲输入信号编码为某种分布形式的新的脉冲序列,得到样本数据对应的样本脉冲序列编码,以供后面的脉冲神经元使用处理。其中,样本数据可以为音频数据、图像数据或视频数据等序列数据。
将样本脉冲序列编码输入至脉冲神经网络,执行脉冲神经网络的前向传播的过程。其中,可以基于LIF神经元构建了多层脉冲神经网络结构。针对每个隐藏层的每个神经元,可以利用多个时间窗确定神经元输出的发放状态。具体而言,可以分别获取单个神经元在多个(例如20个)时间窗内的发放状态Ospikes(t),求取多个Ospikes(t)的平均值y(t),将平均值y(t)作为该神经元的发放状态,如公式(1)所示。
其中,T为变量,可在初始化时进行调整。
任一隐藏层的输出由该隐藏层的神经元的发放状态组合而成。
脉冲神经网络中使用的LIF神经元膜电位动态变化如公式(2)所示:
其中,τref是不应期,g是突触电导率,Vreset是神经元i在时刻y的膜电位Vi(t)达到发放阈值Vth后的静息膜电位,静息膜电位被设置为膜电位Vi(t)的吸引子,尤其是没有刺激输入的时候。C是膜电容,N是当前隐藏层中的神经元个数,Wi,j是突触前神经元j和当前神经元i之间的突触权重。tspike表示神经元释放特定脉冲的时刻,Xj(t)是神经元i接收的来自突触前神经元j的输入。
随后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,使用全局奖励优化方法,对每层神经元与其对应的突触前神经元间的突触权重进行非逐层反向传播式地优化修改。其中,非逐层反向传播式是指每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。即,隐藏层之间的梯度计算不涉及层与层之间的连续传播,而是根据各隐藏层对应的奖励分别对每一个隐藏层对应的突触权重直接进行优化,属于全局可塑性。此处,将奖励通过特殊映射的方式直接传播到所有的隐藏层,这种方式与新皮层皮质柱自上而下的奖励导向学习更一致。在局部使用伪BP诱导只存在局部梯度差异的突触修改,同时这种局部修改也可使用脉冲时序依赖可塑性(STDP)。
由于任一隐藏层的优化操作不依赖于其后隐藏层的优化操作,无需像BP方式一般由最后一个隐藏层逐步向前执行优化操作,具备生物合理性,且与逐层优化方式对比,可以减少不必要的信息存储,降低了内存占用,减少了能耗,有利于置于芯片上使用。
依次将各个样本数据的样本脉冲序列编码输入至脉冲神经网络中,并执行上述突触权重优化操作,直至脉冲神经网络收敛,并保存训练好的脉冲神经网络,以将其应用于音频、图像或视频数据的识别任务中,提高相应识别任务的准确性。
本发明实施例提供的方法,通过确定脉冲神经网络的前向传播过程中每层神经元的发放状态,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,且每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的,使得优化操作与新皮层皮质柱自上而下的奖励导向学习更一致,具备生物合理性,且与逐层优化方式对比,可以减少不必要的信息存储,降低了内存占用,减少了能耗,有利于置于芯片上使用。
基于上述实施例,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
确定奖励的奖励类型;
若奖励的奖励类型为与输出无关的非误差类奖励,则在任一隐藏层运算结束后,基于该隐藏层的输出及其对应的奖励,对该隐藏层的神经元与其对应的突触前神经元间的突触权重执行优化操作;
若奖励的奖励类型为与输出相关的误差类奖励,则在前向传播计算得到输出后,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作。
具体地,确定奖励优化方法中所需要的各奖励的奖励类型,该“奖励类型”是一种全局奖励,其可以被划分为两大类:一类是与输出无关的非误差类奖励,例如样本标签,即描述一个尖峰序列来表示目标标签;另一类是与输出相关的误差类奖励,例如样本真实值与网络输出值的误差,即或误差的符号,即等。
若使用与输出无关的非误差类奖励,则在前向传播的过程中,伴随着每一个隐藏层运算结束后实时进行奖励优化,即在任一隐藏层运算结束后,基于该隐藏层的输出及其对应的奖励,对该隐藏层的神经元与其对应的突触前神经元间的突触权重执行优化操作;若使用与输出相关的误差奖励,则在网络前向传播计算得到输出后进行奖励优化。
基于上述任一实施例,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
基于任一隐藏层的弥散矩阵,对该隐藏层的奖励进行映射,得到该隐藏层的目标值;
基于该隐藏层的目标值和输出,确定该隐藏层对应的输出修正量;
基于该隐藏层对应的输出修正量,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
具体地,将任一隐藏层l的奖励R(Label/Error/Sign)通过弥散矩阵映射为与该隐藏层的输出一致的维度。其中,对于每个隐藏层,均有其对应的对奖励R进行映射,映射得到的结果将直接作为该隐藏层输出的目标值,如公式(3)所示:
基于该隐藏层的目标值和输出,确定该隐藏层对应的输出修正量。其中,根据隐藏层类型的不同,可以采用不同的学习率计算输出修正量,例如可采用公式(4)或公式(5)确定该隐藏层对应的输出修正量:
其中,当该隐藏层为卷积层时,可采用公式(4)确定该隐藏层对应的输出修正量,当该隐藏层为全连接层时,可采用公式(5)确定该隐藏层对应的输出修正量。
随后,基于该隐藏层对应的输出修正量,进一步确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并根据上述突触权重修正量对突触权重进行修正。
基于上述任一实施例,任一隐藏层的弥散矩阵的维度与该隐藏层的输出的维度相同,且弥散矩阵的均值为0。
具体地,在保证任一隐藏层的弥散矩阵的维度与该隐藏层的输出的维度一致的情况下,该弥散矩阵可被随机设置为均值为0的任意矩阵,并且不需要被更新。
基于上述任一实施例,基于任一隐藏层对应的输出修正量,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
基于该隐藏层对应的输出修正量和伪梯度,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
具体地,由于脉冲神经网络中的动态LIF神经元是非微分的,难以传播梯度以进一步计算从全局建立到局部权值更新的梯度。因此,可以使用一个附加的伪梯度来近似LIF神经元放电时刻的梯度,伪梯度可以将放电神经元的非微分过程(其中膜电位Vi(t)达到发放阈值然后将Vth重置为Vreset)转换为可微分。其中,伪梯度为一个固定数值。
将放电神经元的非微分过程转换为可微分后,可以基于该隐藏层对应的输出修正量和伪梯度,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量。随后,基于该隐藏层的任一神经元与其对应的突触前神经元间的突触权重修正量,修正该神经元与其对应的突触前神经元间的突触权重。
基于上述任一实施例,基于任一隐藏层对应的输出修正量和伪梯度,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
采用如下公式确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量:
Δwi(t)∝Δhconv/fc,l(t)ΔVi(t)
ΔVi(t)=Vi(t+1)-Vi(t)=1,if(Vi(t)=Vth)
其中,为该隐藏层的目标值,为该隐藏层的弥散矩阵,R(t)为该隐藏层的奖励,Δhconv/fc,l(t)为t时刻该隐藏层对应的输出修正量,hconv/fc,l(t)为该隐藏层的输出,Vi(t)为该隐藏层中神经元i在t时刻的膜电位,Vth为发放阈值,ΔVi(t)为膜电位的微分数值,当Vi(t)=Vth时,使用伪梯度计算;
采用如下公式对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正:
wi(t+1)=wi(t)-ηconv/fcΔwi(t)
其中,wi(t)为t时刻该隐藏层的神经元i与其对应的突触前神经元间的突触权重,ηconv/fc为学习率。
基于上述任一实施例,步骤110具体包括:
初始化脉冲神经网络中与神经元相关的超参数以及网络参数;
其中,与神经元相关的超参数包括膜电容、突触电导率、时间间隔、发放阈值、静息膜电位、突触权重和不应期;
网络参数包括核大小、核数量、隐藏层数量、神经元数量、学习率、每个隐藏层的弥散矩阵以及时间窗数量。
具体地,初始化脉冲神经网络中与神经元相关的超参数,例如膜电容C、突触电导率g、时间间隔dt、发放阈值Vth、静息膜电位Vreset、突触权重Wij和不应期τref。此外,还初始化脉冲神经网络自身的网络参数,例如核的大小,核的数量,隐藏层的数量,神经元数量,学习率ηconv,ηfc,每个隐藏层的弥散矩阵以及时间窗数量T。
基于上述任一实施例,图2为本发明实施例提供的脉冲神经网络奖励优化方法的流程示意图之二,如图2所示,该方法包括:
打包输入原始的样本数据并进行网络初始化:初始化所有与网络和动态神经元相关的超参数。
利用数据预处理模块将样本数据转为脉冲序列编码,并输入到脉冲神经网络中进行训练。
选择奖励优化方法中的奖励类型。
若是与输出无关的非误差类奖励,则采用奖励优化方法1,即在前向传播的过程中,伴随着每一个隐藏层运算结束后实时进行奖励优化;否则,采用奖励优化方法2,在网络前向传播计算得到输出后进行奖励优化,具体奖励优化方式与上述实施例给出的优化操作一致,在此不再赘述。
迭代上述步骤直至脉冲神经网络稳定收敛,并保存优化完全的脉冲神经网络。
基于上述任一实施例,本发明实施例搭建了一个包含卷积层和全连接层的脉冲神经网络,在奖励类型部分以标签脉冲训练的形式,在时空数据集上进行分别进行了验证,结果如表1所示,结果表明该方法提供了一种有效的生物合理的脉冲神经网络训练方式,且取得了与标准伪BP优化相当的效果。
表1
基于上述任一实施例,图3为本发明实施例提供的脉冲神经网络奖励优化装置的结构示意图,如图3所示,该装置包括:初始化单元310、脉冲编码单元320和参数优化单元330。
其中,初始化单元310用于对脉冲神经网络进行初始化操作;
脉冲编码单元320用于基于脉冲编码器,将样本数据转换为样本脉冲序列编码;样本数据为音频数据、图像数据或视频数据;
参数优化单元330用于将样本脉冲序列编码输入至脉冲神经网络,确定脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至脉冲神经网络收敛;任一隐藏层的输出是基于该隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
本发明实施例提供的装置,通过确定脉冲神经网络的前向传播过程中每层神经元的发放状态,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,且每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的,使得优化操作与新皮层皮质柱自上而下的奖励导向学习更一致,具备生物合理性,且与逐层优化方式对比,可以减少不必要的信息存储,降低了内存占用,减少了能耗,有利于置于芯片上使用。
基于上述任一实施例,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
确定奖励的奖励类型;
若奖励的奖励类型为与输出无关的非误差类奖励,则在任一隐藏层运算结束后,基于该隐藏层的输出及其对应的奖励,对该隐藏层的神经元与其对应的突触前神经元间的突触权重执行优化操作;
若奖励的奖励类型为与输出相关的误差类奖励,则在前向传播计算得到输出后,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作。
基于上述任一实施例,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
基于任一隐藏层的弥散矩阵,对该隐藏层的奖励进行映射,得到该隐藏层的目标值;
基于该隐藏层的目标值和输出,确定该隐藏层对应的输出修正量;
基于该隐藏层对应的输出修正量,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
基于上述任一实施例,任一隐藏层的弥散矩阵的维度与该隐藏层的输出的维度相同,且弥散矩阵的均值为0。
基于上述任一实施例,基于任一隐藏层对应的输出修正量,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
基于该隐藏层对应的输出修正量和伪梯度,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
基于上述任一实施例,基于任一隐藏层对应的输出修正量和伪梯度,确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
采用如下公式确定该隐藏层的神经元与其对应的突触前神经元间的突触权重修正量:
Δwi(t)∝Δhconv/fc,l(t)ΔVi(t)
ΔVi(t)=Vi(t+1)-Vi(t)=1,if(Vi(t)=Vth)
其中,为该隐藏层的目标值,为该隐藏层的弥散矩阵,R(t)为该隐藏层的奖励,Δhconv/fc,l(t)为t时刻该隐藏层对应的输出修正量,hconv/fc,l(t)为该隐藏层的输出,Vi(t)为该隐藏层中神经元i在t时刻的膜电位,Vth为发放阈值,ΔVi(t)为膜电位的微分数值,当Vi(t)=Vth时,使用伪梯度计算ΔVi(t);
采用如下公式对该隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正:
wi(t+1)=wi(t)-ηconv/fcΔwi(t)
其中,wi(t)为t时刻该隐藏层的神经元i与其对应的突触前神经元间的突触权重,ηconv/fc为学习率。
基于上述任一实施例,初始化单元310具体用于:
初始化脉冲神经网络中与神经元相关的超参数以及网络参数;
其中,与神经元相关的超参数包括膜电容、突触电导率、时间间隔、发放阈值、静息膜电位、突触权重和不应期;
网络参数包括核大小、核数量、隐藏层数量、神经元数量、学习率、每个隐藏层的弥散矩阵以及时间窗数量。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行脉冲神经网络奖励优化方法,该方法包括:对脉冲神经网络进行初始化操作;基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的脉冲神经网络奖励优化方法,该方法包括:对脉冲神经网络进行初始化操作;基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的脉冲神经网络奖励优化方法,该方法包括:对脉冲神经网络进行初始化操作;基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种脉冲神经网络奖励优化方法,其特征在于,包括:
对脉冲神经网络进行初始化操作;
基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;
将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
2.根据权利要求1所述的脉冲神经网络奖励优化方法,其特征在于,所述基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
确定所述奖励的奖励类型;
若所述奖励的奖励类型为与输出无关的非误差类奖励,则在任一隐藏层运算结束后,基于所述任一隐藏层的输出及其对应的奖励,对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重执行优化操作;
若所述奖励的奖励类型为与输出相关的误差类奖励,则在前向传播计算得到输出后,基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作。
3.根据权利要求1或2所述的脉冲神经网络奖励优化方法,其特征在于,所述对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,具体包括:
基于任一隐藏层的弥散矩阵,对所述任一隐藏层的奖励进行映射,得到所述任一隐藏层的目标值;
基于所述任一隐藏层的目标值和输出,确定所述任一隐藏层对应的输出修正量;
基于所述任一隐藏层对应的输出修正量,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
4.根据权利要求3所述的脉冲神经网络奖励优化方法,其特征在于,任一隐藏层的弥散矩阵的维度与所述任一隐藏层的输出的维度相同,且所述弥散矩阵的均值为0。
5.根据权利要求3所述的脉冲神经网络奖励优化方法,其特征在于,所述基于所述任一隐藏层对应的输出修正量,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
基于所述任一隐藏层对应的输出修正量和伪梯度,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正。
6.根据权利要求5所述的脉冲神经网络奖励优化方法,其特征在于,所述基于所述任一隐藏层对应的输出修正量和伪梯度,确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量,并对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正,具体包括:
采用如下公式确定所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重修正量:
Δwi(t)∝Δhconv/fc,l(t)ΔVi(t)
ΔVi(t)=Vi(t+1)-Vi(t)=1,if(Vi(t)=Vth)
其中,为所述任一隐藏层的目标值,为所述任一隐藏层的弥散矩阵,R(t)为所述任一隐藏层的奖励,Δhconv/fc,l(t)为t时刻所述任一隐藏层对应的输出修正量,hconv/fc,l(t)为所述任一隐藏层的输出,Vi(t)为所述任一隐藏层中神经元i在t时刻的膜电位,Vth为发放阈值,ΔVi(t)为膜电位的微分数值,当Vi(t)=Vth时,使用所述伪梯度计算;
采用如下公式对所述任一隐藏层的神经元与其对应的突触前神经元间的突触权重进行修正:
wi(t+1)=wi(t)-ηconv/fcΔwi(t)
其中,wi(t)为t时刻所述任一隐藏层的神经元i与其对应的突触前神经元间的突触权重,ηconv/fc为学习率。
7.根据权利要求1所述的脉冲神经网络奖励优化方法,其特征在于,所述对脉冲神经网络进行初始化操作,具体包括:
初始化所述脉冲神经网络中与神经元相关的超参数以及网络参数;
其中,所述与神经元相关的超参数包括膜电容、突触电导率、时间间隔、发放阈值、静息膜电位、突触权重和不应期;
所述网络参数包括核大小、核数量、隐藏层数量、神经元数量、学习率、每个隐藏层的弥散矩阵以及时间窗数量。
8.一种脉冲神经网络奖励优化装置,其特征在于,包括:
初始化单元,用于对脉冲神经网络进行初始化操作;
脉冲编码单元,用于基于脉冲编码器,将样本数据转换为样本脉冲序列编码;所述样本数据为音频数据、图像数据或视频数据;
参数优化单元,用于将所述样本脉冲序列编码输入至所述脉冲神经网络,确定所述脉冲神经网络的前向传播过程中每层神经元的发放状态后,确定每个隐藏层对应的奖励,并基于每个隐藏层的输出及其对应的奖励,对每层神经元与其对应的突触前神经元间的突触权重执行优化操作,直至所述脉冲神经网络收敛;任一隐藏层的输出是基于所述任一隐藏层的神经元的发放状态确定的;
其中,每层神经元与其对应的突触前神经元间的突触权重的优化操作是相互独立的。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述脉冲神经网络奖励优化方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述脉冲神经网络奖励优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111061828.4A CN113822416A (zh) | 2021-09-10 | 2021-09-10 | 脉冲神经网络奖励优化方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111061828.4A CN113822416A (zh) | 2021-09-10 | 2021-09-10 | 脉冲神经网络奖励优化方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113822416A true CN113822416A (zh) | 2021-12-21 |
Family
ID=78922081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111061828.4A Pending CN113822416A (zh) | 2021-09-10 | 2021-09-10 | 脉冲神经网络奖励优化方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822416A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493955A (zh) * | 2023-11-01 | 2024-02-02 | 北京大学 | 一种癫痫患者的脑电信号分类模型的训练方法 |
-
2021
- 2021-09-10 CN CN202111061828.4A patent/CN113822416A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493955A (zh) * | 2023-11-01 | 2024-02-02 | 北京大学 | 一种癫痫患者的脑电信号分类模型的训练方法 |
CN117493955B (zh) * | 2023-11-01 | 2024-06-07 | 北京大学 | 一种癫痫患者的脑电信号分类模型的训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636343B2 (en) | Systems and methods for neural network pruning with accuracy preservation | |
US10671912B2 (en) | Spatio-temporal spiking neural networks in neuromorphic hardware systems | |
US11373092B2 (en) | Training of artificial neural networks | |
JP2017525038A (ja) | ニューラルネットワークにおける畳込み演算の分解 | |
Chao et al. | Forecasting exchange rate with deep belief networks | |
US20150269481A1 (en) | Differential encoding in neural networks | |
Stewart et al. | A biologically realistic cleanup memory: Autoassociation in spiking neurons | |
TW201602807A (zh) | Cold神經元尖峰時序反向傳播 | |
US20150242745A1 (en) | Event-based inference and learning for stochastic spiking bayesian networks | |
US20190042943A1 (en) | Cooperative neural network deep reinforcement learning with partial input assistance | |
CN107622303A (zh) | 用于神经网络的方法和执行该方法的设备 | |
WO2015020802A2 (en) | Computed synapses for neuromorphic systems | |
US20150212861A1 (en) | Value synchronization across neural processors | |
CN112085198A (zh) | 基于全局反馈以及局部突触可塑的脉冲神经网络优化方法 | |
US9672464B2 (en) | Method and apparatus for efficient implementation of common neuron models | |
Fu et al. | An ensemble unsupervised spiking neural network for objective recognition | |
Niimi | Deep learning for credit card data analysis | |
CN115630651B (zh) | 文本生成方法和文本生成模型的训练方法、装置 | |
CN113628615B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN113822416A (zh) | 脉冲神经网络奖励优化方法、装置、电子设备和存储介质 | |
Harikrishnan et al. | Handwritten digit recognition with feed-forward multi-layer perceptron and convolutional neural network architectures | |
US9342782B2 (en) | Stochastic delay plasticity | |
CN116304676B (zh) | 脑活动状态分类模型训练方法、装置和设备 | |
Kulkarni et al. | Learning and real-time classification of hand-written digits with spiking neural networks | |
CN115482578A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211221 |