基于无监督学习时间编码的脉冲神经网络训练方法及系统

文档序号:29468990发布日期:2022-04-02 04:17阅读:452来源:国知局
基于无监督学习时间编码的脉冲神经网络训练方法及系统

1.本发明涉及图像处理、人工智能算法及脉冲神经网络领域,具体涉及一种基于无监督学习时间编码的脉冲神经网络训练方法及系统。


背景技术:

2.受脑神经网络结构的启发,研究者提出了人工神经网络模型。然而,与复杂生物神经网络的信息处理能力相比,传统的人工神经网络面临着固有的局限性。为了解决这些问题,更符合生物神经网络系统实际情况的第三代人工神经网络模型——脉冲神经网络 (snn)应运而生。
3.与深度神经网络相比,脉冲神经网络模拟生物神经元的脉冲发放行为,以二元离散脉冲的形式相互通信,因此具有能效优势。大脑中的神经元通过突触连接,突触可以随着时间的推移而增强或减弱。脉冲时间依赖性可塑性(stdp)是突触可塑性的一种无监督学习规则,其考虑了突触前和突触后脉冲时间之间的差异,如果突触前神经元比突触后神经元更早激发,则突触增强,否则突触减弱。因为stdp是一种局部学习规则,更新突触权重的方法相对简单,因此与反向传播相比,stdp更适合在线学习,
4.近年来,研究者提出了许多训练snn的方法,在使用stdp学习规则的snn中,频繁的突触权重更新以及膜电位的更新需要大量的更新操作,这对于硬件实现来说需要消耗大量运算资源,是相当昂贵的。每当输入脉冲出现时,神经元的所有膜电位都会通过增加突触电流而更新,这会导致沉重的计算负担。


技术实现要素:

5.发明目的:本发明的目的在于克服以上现有技术之不足,为了减轻计算负担,提出了一种基于stdp的时间编码脉冲神经网络的无监督学习训练方法,该方法将时间编码方案扩展到具有stdp规则的脉冲神经网络。输入图像的信息直接以脉冲时间编码,每个神经元最多可以触发一次,且每次只选择一个神经元更新其权重,在每次正向传播中,突触权重只更新一次,因此突触权重更新的数量显著减少,不需要大量的时间步长。此外,无论是在训练模式还是在推理模式下,前向传播都可以提前停止。与基于频率的 snn相比,本发明提出的网络使得学习成本显著降低,在推理模式下的计算量和延迟也减少,因此在神经形态结构上可以更有效地实现。具体由以下技术方案实现:
6.第一方面,提出一种基于无监督学习时间编码的脉冲神经网络训练方法,构造了一个只有一个全连接层而没有抑制层的脉冲神经网络,使用时间编码机制,使得输入信息直接编码到脉冲时间,使用脉冲时间依赖可塑性(stdp)训练网络,首脉冲神经元在前向传播中最先产生脉冲,在训练过程中,只更新连接到首脉冲神经元的权重,这显著降低了突触权重更新的频率。且无论是在训练模式还是在推理模式下,一旦神经元触发,前向传播过程都可以停止,从而避免了许多不必要的计算,并减少了推理模式下的延迟。
7.方法包括以下步骤:
8.1)根据与输入像素强度相关的特定编码方案生成脉冲序列,将输入图像编码为脉冲时间向量;
9.2)将输入图像编码的脉冲时间向量从小到大排序;
10.3)排序后的向量用于生成每个神经元的输出脉冲时间;
11.4)网络中最先出现峰值的神经元为首脉冲神经元,只有首脉冲神经元需要被更新突触参数,一旦一个神经元在训练过程中出现脉冲,这一次的前向传播就可以终止,不需要等待网络中其他神经元的输出,一旦首脉冲神经元的突触权重更新完成,下一次正向传播将开始,这有助于避免在训练期间进行许多不必要的计算;
12.5)在数据集中进行训练和推理,每个神经元在训练完成后根据其对不同分类情况的最早反应分配一类。然后,这些神经元可用于在测试集上测量网络的分类精度。响应最早的神经元类别,也就是在所有神经元中具有最小脉冲响应时间的神经元,就是网络的预测结果。
13.在第一方面的一些可实现方式中,所述时间编码方法,即根据与输入像素强度相关的特定编码方案生成脉冲序列,将输入图像编码为脉冲时间向量。编码方法如下式:
14.ti=α(1-input)
β
15.式中,input为输入图像像素标准化为[0,1]之间的值,α和β为调整两个像素的绝对峰值时间和相对峰值时间的参数。
[0016]
在第一方面的一些可实现方式中,排序后的向量用于生成每个神经元的输出脉冲时间。脉冲时间计算方法为下式:
[0017][0018]
其中,v
th
为点火阈值,c={i,ti《t
out
},很明显,只有集合c中的权重之和大于神经元的膜阈值,反对数为正,因此t
out
有解,神经元有机会激发。即使前向传播结束,大多数神经元也不会激发。
[0019]
在第一方面的一些可实现方式中,网络中最先出现峰值的神经元为首脉冲神经元,只有首脉冲神经元需要被更新突触参数。即在训练过程中,采用了一种“赢家通吃”的学习机制,每次更新突触权重的只有获胜者神经元,即唯一被选择来更新其突触权重的神经元是网络中最先出现峰值的神经元。一旦一个神经元在训练过程中出现尖峰,这一次的前向传播就可以终止,不需要等待网络中其他神经元的输出。一旦第一个尖峰神经元的突触重量更新完成,下一个正向传播将开始。因为前向传播可以提前结束,所以这有助于避免在训练期间进行许多不必要的计算,此外,该网络不需要抑制层,因为不需要抑制神经元。
[0020]
在第一方面的一些可实现方式中,训练中采用了基于stdp的基本规则,每次突触后神经元出现峰值时,计算突触前神经元与后神经元的时间差δt=t
pre-t
post
,网络中突触的初始权重随机设定,平均值为0.1,标准偏差为0.05,更新方法为下式:
[0021][0022]
式中,δω表示突触权重的变化量,a
p
、an、t
p
、tn为衡量突触权重变化幅度的参数,
其中a
p
》0,an《0,t
p
,tn》0,δt表示突触前神经元与后神经元的时间差。
[0023]
第二方面,提出一种脉冲神经网络训练系统,该系统包括编码模块、排序模块、权重更新模块三部分。
[0024]
编码模块根据与输入像素强度相关的特定编码方案生成脉冲序列,将输入图像编码为脉冲时间向量。排序模块用于将输入图像编码的脉冲时间向量从小到大排序;排序后的向量用于生成每个神经元的输出脉冲时间。权重更新模块用于更新首脉冲神经元的突触权重。
[0025]
每个神经元在训练完成后根据其对十类数字的最早反应分配一类,这些神经元用于在测试集上测量网络的分类精度;响应最早的神经元类别,即是在所有神经元中具有最小脉冲响应时间的神经元,即是网络的预测结果。
[0026]
第三方面,提出一种脉冲神经网络训练设备,该设备包括至少一个处理器和存储器;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面及第一方面的一些实施例中提及的脉冲神经网络训练方法。
[0027]
第四方面,提出一种可读存储介质,该可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面及第一方面的一些实施例中提及的脉冲神经网络训练方法。
[0028]
有益效果:
[0029]
第一,该发明使用时间编码方法,将输入图像直接编码为脉冲时间向量,网络比其他基于频率的snn稀疏得多。
[0030]
第二,该发明提出了一种硬件友好的算法,使用脉冲时间依赖可塑性(stdp)训练网络,只更新连接到首脉冲神经元的权重,显著降低了突触权重更新的频率,可以减少计算的冗余,降低功耗和面积开销。
[0031]
第三,该发明无论是在训练模式还是在推理模式下,一旦神经元触发,前向传播过程都可以停止,从而避免了许多不必要的计算,并减少了推理模式下的延迟。
[0032]
第四,该发明设计了一种基于神经元响应快慢的图像识别策略,能很好支持在线学习的图像识别的任务。
[0033]
综上所述,本发明提出的网络使得学习成本显著降低,在推理模式下的计算量和延迟也减少,因此在神经形态结构上可以更有效地实现。
附图说明
[0034]
图1为本发明构建的基于stdp的时间编码脉冲神经网络的无监督学习训练方法的流程框图。
[0035]
图2是为本发明构建的基于stdp的时间编码脉冲神经网络的无监督学习训练方法的网络结构示意图。
[0036]
图3是本发明在mnist数据集上使用不同数量神经元训练网络的性能示意图。
[0037]
图4是本发明在mnist数据集上训练网络的收敛性示意图。
具体实施方式
[0038]
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
[0039]
近年来,研究者提出了许多训练snn的方法,在使用stdp学习规则的snn中,频繁的突触权重更新以及膜电位的更新需要大量的更新操作,这对于硬件实现来说需要消耗大量运算资源,是相当昂贵的。每当输入脉冲出现时,神经元的所有膜电位都会通过增加突触电流而更新,这会导致沉重的计算负担。在snn的训练中,神经元发送的信息目前主要有用两种不同的编码方案,即频率编码和时间编码。在基于频率的snn中,在时间窗口期间生成的脉冲数表示真实值的强度。在基于时间的snn中,正在传输的值被编码到脉冲之间的相对时间,因此网络比基于频率的snn稀疏得多,基于时间的snn可以被认为是一种更节能的替代方案,然而,基于时间的snn通常更难训练。
[0040]
为了减轻计算负担,本发明提出了一种基于stdp的时间编码脉冲神经网络的无监督学习训练方法,该方法将时间编码方案扩展到具有stdp规则的脉冲神经网络。输入图像的信息直接以脉冲时间编码,每个神经元最多可以触发一次,且每次只选择一个神经元更新其权重,在每次正向传播中,突触权重只更新一次,因此突触权重更新的数量显著减少,不需要大量的时间步长。此外,无论是在训练模式还是在推理模式下,前向传播都可以提前停止。与基于频率的snn相比,本发明提出的网络使得学习成本显著降低,在推理模式下的计算量和延迟也减少,因此在神经形态结构上可以更有效地实现。
[0041]
如图1,该实例的基于stdp的时间编码脉冲神经网络的无监督学习训练方法,构造了一个只有一个全连接层而没有抑制层的脉冲神经网络,使用时间编码机制,使得输入信息直接编码到脉冲时间。使用脉冲时间依赖可塑性(stdp)训练网络,具体训练网络及其机制如图2所示,首脉冲神经元在前向传播中最先产生脉冲,只更新连接到首脉冲神经元的权重,这显著降低了突触权重更新的频率。且无论是在训练模式还是在推理模式下,一旦神经元触发,前向传播过程都可以停止,从而避免了许多不必要的计算,并减少了推理模式下的延迟,方法包括以下步骤:
[0042]
1)根据与输入像素强度相关的特定编码方案生成脉冲序列,将输入图像编码为脉冲时间向量;
[0043]
2)将输入图像编码的脉冲时间向量从小到大排序;
[0044]
3)排序后的向量用于生成每个神经元的输出脉冲时间;
[0045]
4)更新首脉冲神经元的突触权重;
[0046]
5)每个神经元在训练完成后根据其对十类数字的最早反应分配一类,然后,这些神经元可用于推理模式的图像分类。
[0047]
下面以本发明的一个实例进行详细说明,通过推理模式对算法设计进行验证。将图像数据分为训练样本和测试样本,本实例所有数据集为mnist数据集,由70000张大小为28
×
28的灰度图像组成,其中训练数据60000张,测试数据10000张,类别分为10类,为手写数字0-9。
[0048]
本发明基于图1所示流程的基于stdp的时间编码脉冲神经网络的无监督学习训练
方法,训练网络如图2所示,实例中输入的图像大小为28
×
28的单通道灰度图像,根据图1所示流程,该实例实现步骤如下:
[0049]
1)将输入图像28
×
28的像素值标准化至[0,1]之间,并将此28
×
28像素矩阵展开为 784维的向量,再根据与输入像素强度相关的特定编码方案生成脉冲序列,将784维输入向量编码为脉冲时间向量,编码方式为:ti=α(1-input)
β
,其中input为输入图像像素标准化为[0,1]之间的值,α和β为调整两个像素的绝对峰值时间和相对峰值时间的参数,具体取值如表1所示。
[0050]
表1.实例中使用的参数
[0051][0052]
2)将该脉冲时间向量使用sort函数使之从最小到最大排序。排序后的向量用于步骤 3)以获得每个神经元的输出脉冲时间。
[0053]
3)排序后的向量使用计算出每个神经元的输出脉冲时间t
out
,其中,v
th
为点火阈值,c={i,ti《t
out
},很明显,只有集合c中的权重之和大于神经元的膜阈值v
th
,其反对数为正,上式才有解,神经元有机会激发。即使前向传播结束,大多数神经元也不会激发。网络中突触的初始权重随机设定,平均值为0.1,标准偏差为0.05,然后可以在步骤4)中应用stdp学习规则对首脉冲调整突触权重。
[0054]
4)网络中最先出现峰值的神经元为首脉冲神经元,只有首脉冲神经元需要被更新突触参数。训练中采用了基于stdp的基本规则,每次突触后神经元出现峰值时,计算突触前神经元与后神经元的时间差δt=t
pre-t
post
,更新方法为:一旦一个神经元在训练过程中出现脉冲,这一次的前向传播就可以终止,不需要等待网络中其他神经元的输出,一旦首脉冲神经元的突触权重更新完成,下一次正向传播将开始,这有助于避免在训练期间进行许多不必要的计算。
[0055]
为了探讨神经元数量对性能的影响,我们在mnist数据集上训练了四个网络,分别包含400个、800个、1600个和2400个神经元,这四个网络的其他所有参数都相同。如表2所示,它们的平均分类准确率分别为88.5%、88.6%、90.1%和89.4%。可以看出,增加网络中的神经元数量不会显著提高网络性能,在包含1600个神经元的网络中,分类精度达到最佳,当神经元数量超过1600个时,分类精度甚至会下降。一个可能的原因是,网络的输出仅由首先出现峰值的首脉冲神经元决定,即使有更多的神经元,输出仍然只由一个神经元决定,并且大多数神经元在推理中不会影响输出。因此,简单地增加一层神经元的数量对于第一个基于尖峰的时间编码snn可能没有用处。
[0056]
表2.不同神经元数量对网络准确率的影响
[0057]
神经元数量40080016002400
测试准确率88.5%88.6%90.1%89.4%
[0058]
在训练过程中,只有最先出现峰值的首脉冲神经元才需要更新其突触权重,突触权重更新的计算量大大减少,因此更适合在硬件上实现。除了每次只选择一个神经元来更新其突触权重的情况外,我们还测试了选择2、3、4个神经元来更新突触权重的性能,如图2所示。可以看出,只有一个神经元按预期选择的情况下才能达到测试精度,增加选定神经元的数量不能提高准确性,相反却会增加训练过程中突触权重更新的计算量。
[0059]
5)在mnist数据集中进行训练和推理,为了知道网络预测的数字,每个神经元在训练完成后根据其对十类数字的最早反应分配一类。然后,这些神经元可用于在mnist 测试集上测量网络的分类精度。响应最早的神经元类别,也就是在所有神经元中具有最小脉冲响应时间的神经元,就是网络的预测数字。
[0060]
在使用400个神经元的情况下,推理的准确性变化曲线如图4所示,可以看出,大多数突触权重为负数,这可以抑制神经元并阻止神经元放电。这表明大多数突触起抑制性突触的作用,即当一个输入数字呈现给网络时,只有少数神经元产生脉冲。在推理过程中,约有16%的神经元能在包含400个神经元的网络中产生脉冲,只有约3%的神经元能在包含1600个神经元的网络中产生脉冲。在推理模式下,网络在在实验中计算平均80个输入像素,而一个输入mnist图像包含784个像素。只计算大约10%的输入图像像素,然后网络就可以得到输出,这表明推断模式中的延迟显著减少。
[0061]
表3将我们的工作与传统方案的参考网络进行了比较。与参考网络相比,我们提出的工作通过非常低成本的突触权重更新实现了具有竞争力的识别性能,并且不存在抑制性神经元,使得所提出的网络结构相对简单。
[0062]
表3.网络性能对比
[0063] 传统网络1传统网络2本发明神经元数量1600800400更新权重的神经元数量16008001mnist数据集中的准确率91.9%90.0%88.5%
[0064]
本发明的技术方案提出了一种基于stdp的时间编码脉冲神经网络的无监督学习训练方法,输入图像直接转换为脉冲时间,网络的输出也是脉冲时间,使用脉冲时间依赖可塑性(stdp)训练网络,只更新连接到首脉冲神经元的权重,这显著降低了突触权重更新的频率。且无论是在训练模式还是在推理模式下,一旦神经元触发,前向传播过程都可以停止,从而避免了许多不必要的计算,并减少了推理模式下的延迟,不需要复杂的学习规则,学习方法和网络都很简单,并且突触权重更新需要很少的计算,因此适合于片上训练。该网络在minst测试集上的准确率达到88.5%,表明了该网络的可行性。
[0065]
如上所述,尽管参照特定的优选实施例已经表示和表述了本实施例,但其不得解释为对本实施例自身的限制。在不脱离所附权利要求定义的本实施例的精神和范围前提下,可对其在形式上和细节上做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1