买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于Spike cube SNN的图像脉冲数据时空信息学习及识别方法_北京大学_201910481420.9 

申请/专利权人:北京大学

申请日:2019-06-04

公开(公告)日:2021-04-30

公开(公告)号:CN110210563B

主分类号:G06K9/62(20060101)

分类号:G06K9/62(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.30#授权;2019.10.08#实质审查的生效;2019.09.06#公开

摘要:本发明公布了一种针对图像脉冲序列的时空信息进行联合学习的方法及图像识别方法,基于脉冲神经网络建立脉冲序列单元Spikecube和LIF神经元模型,并采用STDP机制,对脉冲神经网络的各层神经元相互之间连接的突触权重和激发阈值进行学习;再利用训练好的模型进行图像分类识别。本发明为脉冲神经网络的结构设计和学习、图像脉冲序列学习和识别提供了新的技术方案,同时也为DVS等仿生视觉相机输出的脉冲数据提供新的处理方法。

主权项:1.一种针对图像脉冲序列的时空信息进行联合学习的方法,基于脉冲神经网络建立脉冲序列单元Spikecube和LIF神经元模型,并采用STDP机制,对脉冲神经网络的各层神经元相互之间连接的突触权重和激发阈值进行学习;包括如下步骤:1建立脉冲神经网络,神经网络的神经元采用LIF模型表示;2将待学习的图像脉冲序列按比率划分为训练集、验证集和测试集;按照待学习的图像脉冲序列中包含的时序模式的最小时间长度,对输入的图像脉冲序列进行等间隔划分而得到脉冲序列片段,将得到的脉冲序列片段称为脉冲序列单元Spikecube;3将训练集图像脉冲序列输入步骤1建立的脉冲神经网络进行前向传播,依次通过脉冲神经网络的第一卷积层、第二卷积层、全连接层和分类层;在逐层传播过程中,分层对各层神经元相互之间连接的突触权重和激发阈值进行学习,即对图像脉冲序列的时间和空间信息进行联合学习;联合学习方法包括:输入标定的图像脉冲序列、前向传播和分层学习;先基于脉冲序列单元的无监督STDP学习机制进行卷积层突触权重和激发阈值学习,再基于脉冲序列单元和脉冲时刻依赖突触可塑性的反向传播机制进行全连接层和分类层突触权重学习;4每学习一段时间后,暂时中断突触的学习过程,将验证集图像脉冲序列输入到当前的脉冲神经网络,进行图像类别的识别准确率测试;5如果识别准确率达到预期标准,则结束学习过程并保存当前突触权重和激发阈值;如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集脉冲序列均学习完毕;6学习结束后,即得到训练好的脉冲神经网络。

全文数据:基于SpikecubeSNN的图像脉冲数据时空信息学习及识别方法技术领域本发明属于类脑计算、脉冲神经网络SNN、STDP学习、图像识别技术领域,涉及脉冲序列的学习方法,尤其涉及一种基于spikecube脉冲神经网络对图像脉冲序列包含的时间和空间信息进行联合学习的方法。背景技术近几年来,随着深度学习的快速发展,大规模人工神经网络广泛应用在诸多领域当中。对序列信息的学习和识别,也可以通过深度学习技术实现。例如,以数值循环神经网络为代表的时间序列处理方法,可以对具有时间关联性的序列信息进行学习和处理,广泛应用在自然语言处理、机器翻译、语音识别等这种仅包含一维时间信息和一维语言信息的二维场景中,但对于脉冲序列这种包含一维时间信息和二维空间位置信息的三维立体数据,循环神经网络目前还不具备较成熟的学习和处理能力。再例如,以数值卷积神经网络为代表的图像处理方法,对平面图像具备非常成熟的信息处理能力,广泛应用在图像识别、目标检测和目标跟踪等领域,对脉冲序列也具备学习和识别的能力,但这种学习和识别方法是先对脉冲序列进行时间上的累积,然后再送入神经网络中。这种信息处理方式虽然在识别率上达到了比较高的水平,但实质上丢失了脉冲序列原本携带的时序信息,不是真正意义上的脉冲序列时空信息的学习和识别方法。此外,在学习和处理机制上也不具备生物学特性,在计算能耗上也比较高。脉冲神经网络SNN,SpikingNeuronNetworks被誉为“第三代神经网络”,相比于目前广为流行的数值深度学习神经网络,脉冲神经网络更具仿生特性,具体体现在信息处理机制和学习机制方面。在信息处理机制方面,脉冲神经网络的输入和处理的信息是脉冲序列,与大脑中生物神经元对动作电位信号的相应和激发机制在形式上颇为相似。在学习机制方面,脉冲神经网络的学习主要基于STDP机制,而STDP机制则被认为是大脑中生物神经元突触连接的学习方式。脉冲神经网络在信息处理机制和学习机制上均参考了大脑的方式,因此,脉冲神经网络是类脑计算的一个研究分支。现有的大多数类型脉冲神经网络对脉冲序列的处理虽然没在输入源上对脉冲序列进行累积,但由于其突触权重大多是通过数值神经网络进行权重移植得到的,而数值神经网络的权重是通过对脉冲序列累积后的脉冲图像进行学习得到的,所以,通过权重移植搭建的脉冲神经网络本质上并不具有对脉冲序列时序信息的发掘能力,仅是依靠对脉冲序列在时间上累积的空间信息进行识别,没有完全发挥出脉冲序列在时空信息表达上的潜力。还有少数类型的脉冲神经是采用STDP机制直接对未累积的脉冲序列进行学习,虽然学习的对象是脉冲序列本身,但目前这类方法学习到的结果,即神经元之间的突触权重和神经元激发阈值依然是静态的值。用不具备时间特性的静态突触去处理具有时间特性的脉冲序列,自然是没能将脉冲序列所包含的时序信息有效利用起来。发明内容为了克服上述现有技术的不足,本发明提供基于spikecube脉冲序列单元脉冲神经网络对图像脉冲序列包含的时间和空间信息进行联合学习的方法,为图像脉冲序列学习和识别提供了一种新的技术方案,为脉冲神经网络的结构设计和学习方法提供了新的思路,并进一步为DVS等仿生视觉相机输出的脉冲数据提供了一种新的处理方法。本发明的核心是:提出了一种用于图像处理的基于spikecube和LIFleakyIntegrateandFire,漏电流积分激发神经元模型并采用STDPspikingtimedependentplasticity,脉冲时刻依赖的突触可塑性机制对图像脉冲序列的时间和空间信息进行联合学习的方法。本发明中,按照待识别的图像脉冲序列中所包含的时序模式的最小时间长度,对输入图像脉冲序列进行等间隔划分而得到脉冲序列片段,并将得到的脉冲序列片段定义为脉冲序列单元Spikecube。首先按照附图2的架构搭建脉冲神经网络,脉冲神经网络的神经元采用LIF模型表示;然后准备好待学习的图像脉冲序列,将其按照一定的比率划分为训练集、验证集和测试集,将训练集脉冲序列输入脉冲神经网络进行前向传播,依次通过第一卷积层、第二卷积层、全连接层和分类层;在逐层传播过程中,以spikecube为学习单位并采用STDP机制对神经元相互之间连接的突触权重和激发阈值进行学习;需要特别说明的是卷积层突触权重和激发阈值在不同的时刻具有不同的特征形态,每学习一段时间后,要暂时中断突触的学习过程,并使用验证集图像脉冲序列输入到当前的脉冲神经网络进行图像类别的识别准确率测试,如果达到预期标准,则结束学习过程并保存突触权重和激发阈值,如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集图像脉冲序列均学习完毕;在学习结束后,用该脉冲神经网络对测试集图像脉冲进行识别准确率测试。需要特别补充说明的是,图2搭建的脉冲神经网络提供了本发明提出的学习和识别方法所依托的一种现有的比较简单的脉冲神经网络架构,该架构下的脉冲神经网络可用于手写体数字图像脉冲序列的学习和识别。当图像脉冲序列所包含的时空模式信息变得更加复杂和多样后,如果想要达到较好的脉冲序列识别效果,那么脉冲神经网络的卷积层、全连接层的层数和规模都需要进行拓展,但本发明所提出的脉冲序列包含的时间和空间信息进行联合学习的方法依然适用于拓展后更大规模的脉冲神经网络。本发明提供的技术方案是:一种基于Spikecube脉冲神经网络的脉冲序列的时间和空间信息进行联合学习的方法,该脉冲序列是二维图像的信息编码方式,神经形态相机的感光芯片每个像素在最小时间分辨率的时间内检测自身的光强变化,当变化量超过自身对应的激发阈值则立即发出一个表征像素位置和激发时刻的信号,并将该信号通过总线输出,由此形成具有时刻信息和空间坐标信息的脉冲序列。脉冲序列可以是DVSDynamicVisionSensor,动态视觉传感器相机、事件型相机、仿视网膜相机等神经形态相机输出的脉冲数据,也可以通过软件仿真产生,例如把静态图像的每个像素按照泊松分布进行转化后生成的脉冲序列。本发明基于脉冲神经网络spikecube和LIF神经元模型并采用STDP机制,对脉冲神经网络的各层神经元相互之间连接的突触权重和激发阈值进行学习,学习过程包括如下步骤:1搭建脉冲神经网络,神经网络的神经元采用LIF模型表示;2准备待学习的图像脉冲序列,按照一定的比率将其划分为训练集、验证集和测试集通常可按照5:1:1的比率划分;Spikecube脉冲序列单元是按照待学习或待识别的图像脉冲序列中所包含的时序模式的最小时间长度,对输入图像脉冲序列进行等间隔划分而得到的脉冲序列片段。该输入的图像脉冲序列可以是DVSDynamicVisionSensor,动态视觉传感器相机、事件型相机、仿视网膜相机等神经形态相机输出的脉冲数据,也可以通过软件仿真产生,例如把静态图像的每个像素按照泊松分布进行转化后生成的脉冲序列。3将训练集图像脉冲序列输入脉冲神经网络进行前向传播,依次通过脉冲神经网络的第一卷积层、第二卷积层、全连接层和分类层;在逐层传播过程中,基于spikecube并采用STDP机制对各层神经元相互之间连接的突触权重和激发阈值进行学习;需要特别说明的是卷积层突触权重和激发阈值在不同的时刻具有不同的特征形态,对图像脉冲序列的时间和空间信息进行联合学习的方法包括:输入标定的图像脉冲序列、前向传播和分层学习;31将有标定的图像脉冲序列输入到脉冲神经网络;在学习阶段输入有标定的图像脉冲序列,该图像脉冲序列由大量的脉冲序列单元spikecube组成;脉冲序列的获取方式一般有2种途径,第一种是通过DVS相机、事件型相机、仿视网膜相机等神经形态相机对一些待识别的目标进行录制而输出的脉冲序列,图像类别做标定是将这些脉冲序列按照表征待识别目标所需的脉冲时序模式的最小时间长度进行等间隔划分,划分后的每个脉冲序列单元的标定值是该片段所对应的神经形态相机的录制目标。第二种是通过软件模拟神经形态相机的特性对静态图像的每个像素按照泊松分布对其转化成脉冲序列单元,脉冲序列单元的长度设定为用于表征待识别目标所需的脉冲时序模式的最小时间长度,脉冲序列单元的标定值设定为其对应的静态图像类别。32前向传播,包括:321有标定脉冲序列前向传播通过第一卷积层;第一卷积层由1*N个步长为1的卷积核及其对应的N个特征图组成,特征图相当于由一定数量的神经元组成的响应区域,神经元采用LIF神经元模型,当突触有脉冲输入时,该模型的膜电位在脉冲的到达时刻增加突触的强度,如果没有使神经元膜电位达到激发阈值,则膜电位会随着时间进行指数衰减,如果使神经元膜电位达到了激发阈值,则膜电位骤降并激发一个脉冲转递给下一层与之相连接的神经元;卷积核相当于与之连接的特征图中神经元的共享突触,每个卷积核根据当前时刻所有输入脉冲各自的位置,连接到各个特征图与之对应区域的神经元,这些神经元的膜电位根据卷积突触输入脉冲的情况得到相应的变化。在每个时间刻度,神经元要检查自己的膜电位是否超过了激发阈值。如果特征图中的某些神经元膜电位超过了激发阈值,则激发产生一个脉冲,如果没有超过激发阈值,则不激发脉冲。322脉冲前向传播通过第二卷积层;第一卷积层各特征图神经元激发的脉冲传递到第二卷积层。第二卷积层由N*M个步长为2的卷积核及其对应的M个特征图组成。神经元采用LIF神经元模型,步长为2可以把第二卷积层特征图的尺寸降低为第一卷积层特征图尺寸的一半,第二卷积层每个特征图中的神经元均通过卷积核突触与第一卷积层的N个特征图中的对应神经元相连。当第一卷积层中的神经元激发后,通过卷积突触传递到第二卷积层各个特征图的对应神经元,第二卷积层的神经元接收到脉冲之后,根据与之相连的卷积突触输入脉冲的情况相应的调整自身的膜电位值,并在每个时间刻度检测自身的膜电位值,如果达到激发阈值,则激发一个脉冲并传递到下一层与之相连的神经元,如果没有达到即激发阈值,则不激发脉冲。323脉冲前向传播通过全连接层;第二卷积层各特征图神经元激发的脉冲传递到全连接层。全连接层由K个LIF神经元组成,K的值可以设定为第二卷积层神经元数量的1.5倍。如果第二卷积层神经元数量为L,则全连接层的每个神经元通过L个突触与第二卷积层的每个神经元相连,两层之间共有L*K个突触。当第二卷积层的神经元激发后,脉冲会通过突触传递到全连接层与之相连的神经元。全连接层的神经元在每个时间刻度根据自己连接的突触传递来脉冲的情况调整自身的膜电位,并检测当前膜电位是否超过激发阈值,如果超过激发阈值,则激发一个脉冲并传递到下一层与之相连的神经元,如果没有达到激发阈值,则不激发脉冲。324脉冲前向传播到达分类层全连接层各个神经元激发的脉冲传递到分类层。分类层由Y个LIF神经元组成,Y的值对应于脉冲序列中待识别目标的数量。分类层的每个神经元通过K个突触与全连接层的每个神经元相连,因此从全连接层到分类层总共有K*Y个突触。当全连接层的神经元激发后,脉冲会通过突触传递到分类层的每个神经元。分类层的神经元会在每个时间刻度根据与之相连的全部突触传递来的脉冲情况调整自身的膜电位,并检测膜电位是否超过激发阈值,如果超过激发阈值,则激发脉冲并记录在自身对应的一个变量中进行保存,如果没有超过激发阈值,则不激发脉冲并且不记录。本发明中学习方法包括spikecubeSTDP机制基于spikecube的无监督STDP学习机制和spikecubeBP-STDPspikecubeSTDPbasedback-propagationalgorithm,基于脉冲序列单元和脉冲时刻依赖突触可塑性的反向传播算法机制。SpikecubeSTDP机制用于卷积层突触权重的学习,spikecubeBP-STDP机制用于全连接层和分类层突触权重的学习。整个学习过程是分层进行的,并且先进行spikecubeSTDP机制的突触权重学习,学习完毕后,再进行spikecubeBP-STDP机制的突触权重学习。4每学习一段时间后,暂时中断突触的学习过程,并把验证集图像脉冲序列输入到当前的脉冲神经网络,进行图像类别的识别准确率测试;5如果识别准确率达到预期标准,则结束学习过程并保存当前突触权重和激发阈值;如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集脉冲序列均学习完毕;6学习结束后,即得到训练好的脉冲神经网络。将上述基于脉冲神经网络spikecube和LIF神经元模型并采用STDP机制对脉冲序列的时间和空间信息进行联合学习的方法进行学习得到的脉冲神经网络应用于图像识别,包括如下步骤:1输入无标定的图像脉冲序列;识别过程中输入无标定的图像脉冲序列,相比于标定的图像脉冲序列,区别在于不需要在划分spikecube的时候对所表征的图像类别做标定;2前向传播;图像序列识别过程中的前向传播与学习过程中的步骤“前向传播”完全相同。在识别过程中将学习完毕的各层激发阈值适当调低例如,将学习完毕的各神经元激发阈值在识别过程中调整为0.9倍,使得最终的识别率有微弱提升;3图像分类识别;包括:当每个spikecube图像脉冲序列单元全部输入到脉冲神经网络并传递到达分类层神经元后,统计各个分类层神经元各自对应的变量中存储的激发脉冲个数;然后选择激发脉冲个数最多的分类神经元作为最活跃的神经元,如果出现两个神经元激发的脉冲个数相同,则挑选累积膜电位最高的神经元作为最活跃的神经元,最终,脉冲神经网络的图像识别结果是最活跃的神经元所代表的图像类别。例如,把一段脉冲序列输入到该脉冲神经网络,脉冲经过前向传播最终导致分类层神经元激发,当该脉冲序列单元全部输入到脉冲神经网络后,统计每个分类层神经元激发的脉冲数目,不妨假设2号神经元激发的脉冲数目最多,则脉冲神经网络对该脉冲序列单元的识别结果为2。上述将利用本发明提供的联合学习方法进行学习得到的脉冲神经网络应用于图像识别的分类结果也表明了,本发明提供的联合学习方法学习得到的脉冲神经网络可实现对脉冲序列进行分类识别。与现有技术相比,本发明的有益效果是:本发明提出了一种基于spikecube脉冲神经网络对图像脉冲序列包含的时间和空间信息进行联合学习的方法,学习结束的脉冲神经网络可实现对图像脉冲序列的识别。相比已经存在的方案,例如通过循环神经网络对序列学习和识别、通过卷积神经网络先对静态图像学习然后把学习结束的卷积神经网络转化为与之对应的脉冲神经网络形式再对图像脉冲序列识别的方法,本发明的核心创新点是提出了一种基于spikecube和LIF神经元模型并采用STDP机制对脉冲序列的时间和空间信息进行联合学习的方法。本发明创造性地实现了基于spikecube和STDP机制对脉冲序列中所包含的时间上的时序信息和空间上的位置信息的联合学习,学习完毕的脉冲神经网络具有对脉冲序列识别的能力,再利用训练好的模型进行图像分类识别。本发明为图像脉冲序列的学习和分类识别提供了新的方法。附图说明图1为本发明实施例中对静态手写体数字0进行泊松转化生成的脉冲序列片段;其中,a静态手写体数字0;b对图a泊松转化生成的脉冲序列片段。图2是一种现有的简单的脉冲神经网络架构。图3是本发明实施例中仿真时刻分别为1,3,7的脉冲发放和累积效果;其中,a仿真时刻为1时的脉冲发放效果;b仿真时刻为3时的脉冲累积效果,c仿真时刻为7时的脉冲累积效果。图4是LIF神经元膜电位特性示意图;t11、t21表示LIF神经元1号突触在t1、t2时刻接收到脉冲,t32、t42表示LIF神经元2号突触在t3、t4时刻接收到脉冲,tjf表示第f号LIF神经元在tj时刻激发了1个脉冲。具体实施方式下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。本发明提出了一种基于spikecube脉冲神经网络对脉冲序列包含的时间和空间信息进行联合学习的方法,并可应用于图像的类别识别。其中,脉冲序列包括图像脉冲序列、语音序列信息、震动序列信息等。本发明提供的基于spikecube和LIF神经元模型并采用STDP机制对脉冲序列的时间和空间信息进行联合学习的方法。实现流程是:首先可以参考图2的架构搭建一套脉冲神经网络,神经网络的神经元选择LIF模型;然后准备待学习的脉冲序列,按照一定的比率将其划分为训练集、验证集和测试集通常可按照5:1:1的比率划分,然后把训练集脉冲序列输入脉冲神经网络进行前向传播,依次通过图2所示脉冲神经网络的第一卷积层、第二卷积层、全连接层和分类层;在逐层传播过程中,基于spikecube并采用STDP机制对各层神经元相互之间连接的突触权重和激发阈值进行学习;每学习一段时间后,要暂时中断突触的学习过程,并把验证集脉冲序列输入到当前的脉冲神经网络进行识别率测试,如果识别率达到预期标准,则结束学习过程并保存当前突触权重和激发阈值,如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集脉冲序列均学习完毕;在学习结束后,可以用该脉冲神经网络对测试集脉冲序列进行识别率测试。Spikecube是按照待识别的脉冲时序模式的最小时间长度,对输入脉冲序列进行等间隔划分而得到的脉冲序列片段。该输入的脉冲序列可以是DVSDynamicVisionSensor,动态视觉传感器相机、事件型相机、仿视网膜相机等神经形态相机输出的脉冲数据,也可以通过软件仿真产生,例如把静态图像的每个像素按照泊松分布进行转化后生成的脉冲序列,如图1所示,展示了通过软件仿真对静态手写体数字0进行泊松转化而生成的脉冲序列片段。对脉冲序列的时间和空间信息进行联合学习的方法包括:输入标定脉冲序列、前向传播和分层学习,学习结束后的脉冲神经网络可以对脉冲序列进行识别,识别的过程包括:输入无标定脉冲序列、前向传播和分类识别。具体包括如下步骤:学习过程:1.输入标定的脉冲序列本发明提出的脉冲神经网络学习算法在学习阶段需要输入大量有标定的脉冲序列,脉冲序列的获取方式一般有2种途径,第一种是通过DVS相机、事件型相机、仿视网膜相机等神经形态相机对一些待识别的目标进行录制而输出的脉冲序列,将这些脉冲序列按照表征待识别目标所需的脉冲时序模式的最小时间长度进行等间隔划分,划分后的每个脉冲序列片段的标定值是该片段所对应的神经形态相机的录制目标。第二种是通过软件模拟神经形态相机的特性对静态图像的每个像素按照泊松分布对其转化成脉冲序列片段,脉冲序列片段的长度设定为用于表征待识别目标所需的脉冲时序模式的最小时间长度,脉冲序列片段的标定值设定为该片段所对应的静态图像。为便于理解脉冲序列的生成和标定过程,我用一个示例来阐明:用软件模拟神经形态相机对手写数字7录制的脉冲输出序列,仿真时间单位设为1微秒,如图3所示,分别展示了仿真时刻为1,3,7的脉冲发放和累积效果,当仿真时刻为1时,展示了在最小时间分辨率下,脉冲的输出情况,单个时刻发放的脉冲完全不能够表征出被转化的静态图像手写数字7;当仿真时刻为3时,所累积的脉冲已经可以初步体现出被转化的静态图像手写数字7的基本轮廓,但受到周围噪声脉冲的影响,依然不能够表征出手写数字7;当仿真时刻为7时,所累积的脉冲已经能够比较完整的表征出被录制的静态图像手写数字7,因此将脉冲序列片段的长度设定为7。准备好全部的有标定脉冲序列片段后,将脉冲序列片段逐一输入到脉冲神经网络。2.前向传播1脉冲前向传播通过第一卷积层有标定的脉冲序列按照时间刻度的先后次序依次把各个时刻的脉冲输入脉冲神经网络,首先到达脉冲神经网络的第一卷积层。第一卷积层由1*N个步长为1的卷积核及其对应的N个特征图组成,特征图相当于由一定数量的神经元组成的响应区域,神经元采用LIF神经元模型,该模型的膜电位特性由图4所示当突触有脉冲输入时,其膜电位会在该脉冲的到达时刻增加该突触的强度,如果没有使神经元膜电位达到激发阈值,则膜电位会随着时间进行指数衰减,如果使神经元膜电位达到了激发阈值,则膜电位骤降并激发一个脉冲转递给下一层与之相连接的神经元,卷积核相当于与之连接的特征图中神经元的共享突触,每个卷积核根据当前时刻所有输入脉冲各自的位置,连接到各个特征图与之对应区域的神经元,这些神经元的膜电位根据卷积突触输入脉冲的情况得到相应的变化如果卷积突触的兴奋强度大于抑制强度,则膜电位增加与之对应的量,反之,膜电位减少与之对应的量。在每个时间刻度,神经元要检查自己的膜电位是否超过了激发阈值。如果特征图中的某些神经元膜电位超过了激发阈值,则激发产生一个脉冲,如果没有超过激发阈值,则不激发脉冲。2脉冲前向传播通过第二卷积层第一卷积层各特征图神经元激发的脉冲会传递到第二卷积层。第二卷积层由N*M个步长为2的卷积核及其对应的M个特征图组成。神经元采用LIF神经元模型,步长为2可以把第二卷积层特征图的尺寸降低为第一卷积层特征图尺寸的一半,第二卷积层每个特征图中的神经元均通过卷积核突触与第一卷积层的N个特征图中的对应神经元相连。当第一卷积层中的神经元激发后,通过卷积突触传递到第二卷积层各个特征图的对应神经元,第二卷积层的神经元接收到脉冲之后,根据与之相连的卷积突触输入脉冲的情况相应的调整自身的膜电位值,并在每个时间刻度检测自身的膜电位值,如果达到激发阈值,则激发一个脉冲并传递到下一层与之相连的神经元,如果没有达到激发阈值,则不激发脉冲。3脉冲前向传播通过全连接层第二卷积层各特征图神经元激发的脉冲会传递到全连接层。全连接层由K个LIF神经元组成,K的值可以设定为第二卷积层神经元数量的1.5倍。如果第二卷积层神经元数量为L,则全连接层的每个神经元通过L个突触与第二卷积层的每个神经元相连,两层之间共有L*K个突触。当第二卷积层的神经元激发后,脉冲会通过突触传递到全连接层与之相连的神经元。全连接层的神经元在每个时间刻度根据自己连接的突触传递来脉冲的情况调整自身的膜电位,并检测当前膜电位是否超过激发阈值,如果超过激发阈值,则激发一个脉冲并传递到下一层与之相连的神经元,如果没有达到激发阈值,则不激发脉冲。4脉冲前向传播到达分类层全连接层各个神经元激发的脉冲会传递到分类层。分类层由Y个LIF神经元组成,Y的值对应于脉冲序列中待识别目标的数量。分类层的每个神经元通过K个突触与全连接层的每个神经元相连,因此从全连接层到分类层总共有K*Y个突触。当全连接层的神经元激发后,脉冲会通过突触传递到分类层的每个神经元。分类层的神经元会在每个时间刻度根据与之相连的全部突触传递来的脉冲情况调整自身的膜电位,并检测膜电位是否超过激发阈值,如果超过激发阈值,则激发脉冲并记录在自身对应的一个变量中进行保存,如果没有超过激发阈值,则不激发脉冲并且不记录。3.分层学习本发明提出的学习算法由无监督的STDP学习机制和有监督的BP-STDPSTDP-basedback-propagationalgorithm,基于脉冲时刻依赖突触可塑性的反向传播算法机制共同组成。无监督的STDP机制用于卷积层突触权重的学习,有监督的BP-STDP机制用于全连接层和分类层突触权重的学习。整个学习过程是分层进行的,并且先进行无监督学习STDP机制的突触权重学习,学习完毕后,再进行有监督BP-STDP机制的突触权重学习。接下来,对分层学习过程具体介绍:1无监督STDP学习无监督的STDP机制用于卷积层突触权重的学习。学习过程是分层进行的,首先对第一卷积层的突触权重进行学习。由前向传播的过程可知,当输入脉冲通过第一卷积层后,第一卷积层的部分神经元会激发。然后从每个特征图激发的神经元中只挑选一个膜电位最高的神经元进行STDP机制的突触可塑性学习,并同时抑制本层其他特征图中相同位置其他激发神经元的学习。如果在多个特征图的同一位置上出现了激发的神经元,则仅令膜电位最高的神经元学习,其他的神经元抑制其学习过程。如果有的特征图中膜电位最高的神经元被抑制学习,则对膜电位次高的激发神经元进行突触权重的学习,如果膜电位次高的激发神经元也被抑制,则以此类推,直到遍历完该特征图全部的激发神经元。如果有的特征图没有激发神经元或者激发的神经元全部被抑制学习,则该特征图在当前时间刻度不进行突触可塑性学习。当第一层的卷积突触权重的代价函数收敛到一定范围之内,则结束第一层的学习,并用相同的方法开始对第二卷积层的突触权重进行学习。第二卷积层突触权重学习结束的判断方法与第一卷积层相似。对于卷积层神经元的激发阈值,也需要进行学习。卷积突触权重一般会按照正态分布进行初始化均值为μ,方差为δ,激发阈值则一般初始化为卷积突触权重初始化的均值μ。每当卷积突触学习一段较长时间间隔后,激发阈值需要根据卷积突触权重的学习效果进行调整。本发明中提出的算法是将神经元激发阈值设定为与之相连卷积突触权重的平均值再乘以一个缩放系数,缩放系数的范围一般在0.5~1.0之间。激发阈值的学习过程伴随着卷积突触权重学习过程的终止而结束。在卷积权重和激发阈值的学习过程中,均以spikecube脉冲序列片段为学习单位,假设spikecube脉冲序列片段长度为5个时间刻度,则卷积权重和激发阈值在5个时间刻度下分别有不同的特征形态。每个当前时刻的卷积权重都要在继承上一时刻卷积权重信息的基础上,再进行当下时刻的权重可塑性学习。这也使得学习完毕的卷积突触在不同的时间刻度用不同的特征形态对输入的脉冲进行卷积,卷积后用不同时刻的激发阈值去判断变化了膜电位的神经元是否应该激发。通过卷积突触与激发阈值的关联学习,使卷积突触提取到了脉冲序列的时间信息。此外,通过多个卷积对输入脉冲进行卷积,将输入脉冲序列所包含的空间模式信息从低维映射到高维,为分类层利用高维特征进行分类提供了条件。综上所述,本发明提出的学习算法具有从根源上去发掘脉冲序列中包含的时序信息和空间信息的能力。2有监督BP-STDP学习有监督BP-STDP学习机制用于全连接层和分类层突触权重的学习。学习的过程也是分层进行的,但先从最后一层分类层开始,进行有监督的反向学习。分类层神经元的数目与脉冲序列中待识别目标的数目相同,因此,分类层的每个神经元都对应于一个待识别目标。在突触权重的学习过程中,输入的脉冲序列片段是有标定的,标定值即为该脉冲序列片段所表征目标的类别。当脉冲前向传播到达分类层神经元后,激发的分类层神经元则与该脉冲序列的标定值进行比较,人为将比较的结果划分为3种情况:第一种是代表当前标定值类别的分类层神经元没有激发,这种情况被标记为1;第二种是激发的分类层神经元并非代表当前标定值类别,这种情况被标记为-1;第三种情况涵盖2种结果,一种结果是代表当前标定值类别的分类神经元激发了,另一种结果是不代表当前标定值类别的神经元没有激发,第三种情况被标记为0。根据本发明提出的学习算法,对于上述第一种情况,该激发神经元与全连接层之间的突触权重根据STDP机制做更新;对于上述第二种情况,该激发的神经元与全连接层之间的突触权重要根据anti-STDP机制做更新anti-STDP机制与STDP机制原理一致,但在权重更新过程中符号相反,也就是在STDP机制对突触权重改变量的基础上,乘以标记值-1。在每个spikecube学习单位中,每当进行完一次分类层突触权重的学习,根据反向传播的原理,就会紧接着进行一次全连接层突触权重的学习。与数值神经网络中反向传播算法不同的是,在数值神经网络中,反向传播是基于梯度进行的,而在脉冲神经网络中,反向传播是基于神经元激发的脉冲情况。全连接层的与第二卷积层之间的突触权重具体学习过程如下:首先逐一遍历全连接层每个神经元的激发情况,如果在当下时间刻度激发了脉冲,则更新该神经元与第二卷积层之间相连接的突触权重,权重的改变量与该神经元与分类层每个神经元的激发情况和连接权重有关,即每个分类层神经元的激发情况1,-1,0乘以各自与该全连接层神经元之间的突触权重并将运算结果求和,这个结果再乘上一个学习率参数以及前面卷积层对应神经元的激发状态激发为1,未激发则为0所得到的值就是该神经元与前面卷积层对应神经元之间连接突触的改变量。按照上述方法,逐一更新全连接层每个神经元与前面卷积层相连接的突触权重,则完成了一次全连接层突触权重的学习。需要特别说明的是,全连接层的神经元激发阈值是不需要学习的,在初始化的过程中预设为一个固定的值。每当全连接层和分类层的突触权重经过较长一段时间的学习后,就要暂时停止学习过程,然后把验证集脉冲序列输入到当前的脉冲神经网络进行识别率测试,如果识别率达到预期标准,则结束学习过程并保存突触权重和激发阈值,如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集脉冲序列均学习完毕后,结束全连接层和分类层神经元突触权重的BP-STDP学习过程。识别过程:学习结束后的脉冲神经网络可以对脉冲序列进行识别,识别的过程包括:输入无标定脉冲序列、前向传播和分类识别。其中,第一步骤“输入无标定的脉冲序列”与学习过程中的第一步骤“输入标定的脉冲序列”类似,只是不需要在划分spikecube的时候做标定;第二步骤“前向传播”与学习过程中的第二步骤“前向传播”完全相同,只不过在识别过程中将学习完毕的各层激发阈值适当调低后例如,将学习完毕的各神经元激发阈值在识别过程中调整为0.9倍会对最终的识别率有微弱提升;第三步骤“分类识别”,当每个spikecube脉冲序列片段全部输入到脉冲神经网络并传递到达分类层神经元后,此时统计各个分类层神经元各自对应的变量中存储的激发脉冲个数,然后选择激发脉冲个数最多的分类神经元作为最活跃的神经元,如果出现两个神经元激发的脉冲个数相同,则挑选累积膜电位最高的神经元作为最活跃的神经元,最终,脉冲神经网络输出的分类结果是最活跃的神经元所代表的目标类别。需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

权利要求:1.一种针对图像脉冲序列的时空信息进行联合学习的方法,基于脉冲神经网络建立脉冲序列单元Spikecube和LIF神经元模型,并采用STDP机制,对脉冲神经网络的各层神经元相互之间连接的突触权重和激发阈值进行学习;包括如下步骤:1建立脉冲神经网络,神经网络的神经元采用LIF模型表示;2将待学习的图像脉冲序列按比率划分为训练集、验证集和测试集;按照待学习的图像脉冲序列中包含的时序模式的最小时间长度,对输入的图像脉冲序列进行等间隔划分而得到脉冲序列片段,将得到的脉冲序列片段称为脉冲序列单元Spikecube;3将训练集图像脉冲序列输入步骤1建立的脉冲神经网络进行前向传播,依次通过脉冲神经网络的第一卷积层、第二卷积层、全连接层和分类层;在逐层传播过程中,分层对各层神经元相互之间连接的突触权重和激发阈值进行学习,即对图像脉冲序列的时间和空间信息进行联合学习;联合学习方法包括:输入标定的图像脉冲序列、前向传播和分层学习;先基于脉冲序列单元的无监督STDP学习机制进行卷积层突触权重和激发阈值学习,再基于脉冲序列单元和脉冲时刻依赖突触可塑性的反向传播机制进行全连接层和分类层突触权重学习;4每学习一段时间后,暂时中断突触的学习过程,将验证集图像脉冲序列输入到当前的脉冲神经网络,进行图像类别的识别准确率测试;5如果识别准确率达到预期标准,则结束学习过程并保存当前突触权重和激发阈值;如果没有达到预期标准,则在此基础上继续学习,直到达到预期标准或者整个训练集脉冲序列均学习完毕;6学习结束后,即得到训练好的脉冲神经网络。2.如权利要求1所述针对图像脉冲序列的时空信息进行联合学习的方法,其特征是,步骤3联合学习方法具体包括如下步骤:31将有标定的图像脉冲序列片段逐一输入到脉冲神经网络;32进行前向传播与分层学习,包括:321有标定的脉冲序列片段前向传播通过第一卷积层;第一卷积层包括N个卷积核及其对应的N个特征图,特征图为由神经元组成的响应区域,神经元采用LIF神经元模型;卷积核是与之连接的特征图中神经元的共享突触,每个卷积核根据当前时刻所有输入脉冲各自的位置,连接到各个特征图与之对应区域的神经元;神经元的膜电位根据卷积突触输入脉冲的情况得到相应的变化;当突触有脉冲输入时,膜电位在脉冲的到达时刻增加突触的强度;如果没有使神经元膜电位达到激发阈值,则膜电位会随着时间进行指数衰减,如果使神经元膜电位达到了激发阈值,则膜电位骤降并激发一个脉冲转递给下一层与之相连接的神经元;在每个时间刻度,神经元检查膜电位是否超过阈值;如果特征图中的某些神经元膜电位超过阈值,则激发产生一个脉冲,如果没有超过阈值,则不激发脉冲;322脉冲前向传播通过第二卷积层;第二卷积层包括N*M个卷积核及其对应的M个特征图;神经元采用LIF神经元模型;第二卷积层的神经元数量为L;当第一卷积层中的神经元激发后,通过卷积突触传递到第二卷积层各个特征图的对应神经元,第二卷积层的神经元接收到脉冲之后,根据与之相连的卷积突触输入脉冲的情况相应的调整自身的膜电位值,并在每个时间刻度检测自身的膜电位值,如果达到激发阈值,则激发一个脉冲并传递到下一层与之相连的神经元,如果没有达到阈值,则不激发脉冲;323脉冲前向传播通过全连接层;第二卷积层各特征图神经元激发的脉冲传递到全连接层;全连接层包括K个LIF神经元;则全连接层的每个神经元通过L个突触与第二卷积层的每个神经元相连,两层之间共有L*K个突触;当第二卷积层的神经元激发后,脉冲通过突触传递到全连接层与之相连的神经元;全连接层的神经元在每个时间刻度根据连接的突触传递来的脉冲调整自身的膜电位,并检测当前膜电位是否超过阈值;如果超过阈值,则激发一个脉冲并传递到下一层相连的神经元;如果没有达到阈值,则不激发脉冲;324脉冲前向传播到达分类层;全连接层各个神经元激发的脉冲传递到分类层;分类层由Y个LIF神经元组成,Y的值对应于脉冲序列中待识别目标的数量;分类层的每个神经元通过K个突触与全连接层的每个神经元相连,从全连接层到分类层总共有K*Y个突触;当全连接层的神经元激发后,脉冲通过突触传递到分类层的每个神经元;分类层的神经元在每个时间刻度根据相连的全部突触传递来的脉冲调整自身的膜电位,并检测膜电位是否超过阈值;如果超过阈值,则激发脉冲并记录在自身对应的一个变量中进行保存,如果没有超过阈值,则不激发脉冲。3.如权利要求2所述针对图像脉冲序列的时空信息进行联合学习的方法,其特征是,第一卷积层的卷积核为1*N个,卷积核步长为1;第二卷积层的卷积核为N*M个,步长为2;将第二卷积层特征图的尺寸降低为第一卷积层特征图尺寸的一半。4.如权利要求1所述针对图像脉冲序列的时空信息进行联合学习的方法,其特征是,有标定的图像脉冲序列的获取包括两种方法:对于通过神经形态相机对目标进行录制而输出的脉冲序列,具体方法是:将脉冲序列按照表征目标所需的脉冲时序模式的最小时间长度进行等间隔划分,划分后的每个脉冲序列片段的标定值是该片段所对应的神经形态相机的录制目标;对于通过软件工具仿真神经形态相机的特性生成的脉冲序列片段,具体方法是:将脉冲序列片段的长度设定为用于表征待识别目标所需的脉冲时序模式的最小时间长度,脉冲序列片段的标定值设定为该片段所对应的静态图像。5.如权利要求1~4所述针对图像脉冲序列的时空信息进行联合学习的方法,其特征是,脉冲序列还可以是语音序列信息或震动序列信息。6.一种基于图像脉冲序列时空信息进行联合学习的图像识别方法,利用权利要求1~4所述针对图像脉冲序列的时空信息进行联合学习的方法得到的训练好的脉冲神经网络进行图像分类识别,包括如下步骤:S1输入无标定的图像脉冲序列;无需在划分Spikecube时对所表征的图像类别进行标定;S2执行步骤3所述前向传播的步骤,进行前向传播;S3分类识别;包括:S31每个Spikecube图像脉冲序列片段全部输入到脉冲神经网络并传递到达分类层神经元;S32之后,统计各个分类层神经元各自对应的变量中存储的激发脉冲个数;S33然后将激发脉冲个数最多的分类神经元作为最活跃的神经元;S34如果两个神经元激发的脉冲个数相同,则将累积膜电位最高的神经元作为最活跃的神经元;S35输出最活跃的神经元所代表的图像类别,作为图像分类结果。7.如权利要求6所述基于图像脉冲序列时空信息进行联合学习的图像识别方法,其特征是,步骤S2进行前向传播中,调低学习完毕的各神经元激发阈值的取值,以提升识别率。8.如权利要求6所述基于图像脉冲序列时空信息进行联合学习的图像识别方法,其特征是,图像脉冲序列为神经形态相机输出的脉冲数据或通过仿真生成的脉冲序列;所述神经形态相机包括但不限于:动态视觉传感器相机、事件型相机、仿视网膜相机。

百度查询: 北京大学 基于Spike cube SNN的图像脉冲数据时空信息学习及识别方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。