本发明属于类脑计算、图像识别领域,尤其是有关提高脉冲神经网络模型在图像识别上性能表现的技术,具体涉及一种基于增强脉冲的仿脑图像识别方法。
背景技术:
生物系统中的神经元使用脉冲来传输和处理信息,这与当前深度神经网络中所采用的模拟值大不相同。因此,脉冲神经网络(snn)被提出来模拟和探索哺乳动物脑中基于脉冲的高效且有效的信息处理方式。由于拥有与生物系统相似的信息处理方式,snn被认为具有更好的生物可信度和计算能力。
然而,当前所有基于脉冲神经网络的图像识别技术,都是基于二进制形式的脉冲,即信息只由精确的脉冲发放时间携带。在神经系统中,脉冲迸发(bursting)的现象普遍存在,即在短时间内大量脉冲被发放。我们认为这揭示了除了脉冲发放时间以外的另一额外信息传输方式。
技术实现要素:
受此启发,我们引入了增强脉冲的新概念,其通过定义一个脉冲系数来表示除脉冲发放时间以外的其他信息。然而,神经元如何处理和学习这样的增强脉冲仍不清楚。在本发明中,我们首先提出了两种新的学习算法来处理增强脉冲。之后,我们结合了当前的脉冲编码方法,提出了若干种基于增强脉冲的仿脑图像识别方法。实验结果表明,与之前基于二进制形式脉冲的模型相比,我们提出的基于增强脉冲的图像识别技术大幅度的提升了snn在图像识别任务上面的表现,突出了增强脉冲和我们的学习方法的优势。值得注意的是,本发明中提出的增强脉冲可以轻松地扩展到其它基于脉冲的系统当中,有益于进一步探索更加高效的图像识别框架,并为神经形态计算提供了新的潜在研究方向。
本发明首先提出了增强脉冲的新概念。之后,提出了两种新的学习算法来处理增强脉冲。我们结合了当前的脉冲编码方法,提出了若干种基于增强脉冲的仿脑图像识别方法。具体的技术方案如下:基于增强脉冲的仿脑图像识别方法,包括如下步骤:
(一)增强脉冲及其学习算法
与二进制形式的脉冲不同,增强脉冲可以使用附加维度来携带额外信息,例如脉冲迸发中的脉冲数目(见图1.c)。为了方便表示,我们将脉冲迸发抽象为脉冲系数,由此信息被打包为单个的增强脉冲。
(1)增强神经元模型
在标准的神经元模型中,例如leakyintegrate-and-fire(lif),传入脉冲对神经元膜电位v(t)的影响由突触权重和时间常数控制,这使得它们不能够处理增强脉冲中脉冲系数这一维度。为了处理增强脉冲,我们对lif模型进行了扩展,使其具有读取脉冲系数的能力。
其中,
v0是一个常数因子,用来对k(t)进行归一化。τm表示膜电位的时间常数,τs表示突触电流的时间常数。
(2)augtempotron学习算法
tempotron(tmp)由于其简单和高效性,被广泛应用到各种学习任务中。遵循tmp的原理,我们提出了第一个学习算法,即增强的tmp(augtmp),来学习和处理增强脉冲。
在二分类任务中,每个脉冲模式图都属于两个类别(记为a和b)之一。augtmp学习规则旨在训练神经元对a模式图发射脉冲同时对b保持沉默。当发生错误时,它将修改突触权重。augtmp通过最小化损失函数来调整神经元的权重,该函数定义为
其中tmax表示神经元膜电位达到其最大值的时刻点。应用梯度下降法将损失函数最小化,然后可以得出augtmp学习算法。
其中,η为学习速率。
(3)augtdp学习算法
最近,多脉冲学习算法被提出来训练神经元发射一定数目的脉冲。与以前的方法相比,多脉冲方法展示了更好的性能表现。在本发明中,考虑到简单性和效率,我们选择tdp多脉冲方法来开发新的增强多脉冲学习算法(augtdp)。
神经元的输出响应可以由其发射阈值所决定。例如,较低的阈值通常将引起较多的脉冲发放。因此,脉冲阈值表层spikethresholdsurface(sts)函数被提出来描述神经元阈值与输出脉冲数目之间的关系。sts定义了一系列使输出脉冲的数量从k变为k-1的临界阈值。因此,可以使用临界阈值来对突触权重进行调节,从而获得期望的响应。遵循tdp中的步骤,我们提出了基于sts的增强多脉冲学习规则。给定一个临界阈值θ*,则其相对于权重wi的导数
其中
为了方便,我们使用tx表示
由此,我们可以得到梯度
通过公式(10),我们可以对神经元的权重进行调整以得到期望的脉冲输出个数。
(二)图像编码算法
为了将增强脉冲应用到图像识别任务中,我们采用了三种图像编码方法将输入的图像转换成脉冲模式图。
(1)s1c1和hmax方法
s1c1和hmax是两种典型的层级时序编码方法,它们分别采用了高斯差分滤波器和gabor滤波器作为编码神经元的权重对感受野内的信息进行整合。
(2)cnn方法
在基于cnn的编码方法中,训练好的cnn中的卷积层和池化层被用作编码前端,全连接层被丢弃。本发明中所使用的完整cnn的网络结构为6c5@28x28-p2-f256-f10。
(3)相位发射时间方法
为了生成编码神经元的发射时间,本发明提出了一种相位发射方法。生物实验表明,脉冲的发射时间与膜电位振荡的相位有关。受此启发,本发明提出了一种新的相位方法使编码神经元输出稀疏离散的脉冲时空模式图。如果编码神经元的激活值高于发射阈值,此神经元将在时间窗口0到t=100ms中的某个预先设定的随机时刻点发射一个脉冲。值得注意的是,在我们的方法中,编码神经元的激活值被分配为脉冲系数。由此,输入图像被编码为增强脉冲模式图,以用于进一步学习和分类。
有益效果
本发明首先提出了增强脉冲的新概念,其中采用了脉冲系数来表示除脉冲发放时间以外的其他信息。之后,提出了两种新的学习算法来处理增强脉冲。本发明结合当前的脉冲编码方法,提出了若干种基于增强脉冲的仿脑图像识别方法。实验结果表明,与之前基于二进制形式脉冲的模型相比,我们提出的基于增强脉冲的图像识别技术大幅度的提升了snn在图像识别任务上面的表现,突出了增强脉冲和我们的学习方法的优势。值得注意的是,本发明中提出的增强脉冲可以轻松地扩展到其它基于脉冲的系统当中,有益于进一步探索更加高效的图像识别框架,并为神经形态计算提供了新的潜在研究方向。
附图说明
图1:经典的snn模型和脉冲迸发的生物学现象的图示说明。a,经典的snn模型使用二进制形式的脉冲,即精准的脉冲发放时间,来传输信息。b,神经系统中生物神经元的脉冲迸发(bursting)现象,即在短时间内发射若干个脉冲。c,受此启发,本发明提出同时使用脉冲发放时间和发放数目(我们将此数目抽象为脉冲系数)来传输信息的增强脉冲模型。
图2是传统二进制形式的脉冲时空图和本发明所提出的增强脉冲的示例图,圆点大小表示相应的脉冲系数。
图3展示了本发明与当前最新的脉冲神经网络模型的对比,表中的准确率是基于mnist数据集得到的。
具体实施方式
下面对本发明的使用进行详细说明。
(1)图像时序编码。
首先使用s1c1、hmax和cnn三种图像编码方法将输入图片编码成神经元的激活值,然后使用本发明中的相位脉冲方法生成编码神经元的脉冲发放时间,从而输入图片被转换成为了稀疏的脉冲时空图,作为下一阶段的输入。
(2)增强脉冲学习
通过编码方法得到脉冲时空图之后,运用增强脉冲学习算法augtmp和augtdp对神经元的权重进行调整,使其对指定类别的脉冲时空图发放一个或者一定数量的脉冲,同时对其它类别保持沉默。
(一)增强脉冲及其学习算法
与二进制形式的脉冲不同,增强脉冲可以使用附加维度来携带额外信息,例如脉冲迸发中的脉冲数目(见图1.c)。为了方便表示,我们将脉冲迸发抽象为脉冲系数,由此信息被打包为单个的增强脉冲。
(1)增强神经元模型
在标准的神经元模型中,例如leakyintegrate-and-fire(lif),传入脉冲对神经元膜电位v(t)的影响由突触权重和时间常数控制,这使得它们不能够处理增强脉冲中脉冲系数这一维度。为了处理增强脉冲,我们对lif模型进行了扩展,使其具有读取脉冲系数的能力。
其中,
v0是一个常数因子,用来对k(t)进行归一化。τm表示膜电位的时间常数,τs表示突触电流的时间常数。
(2)augtempotron学习算法
tempotron(tmp)由于其简单和高效性,被广泛应用到各种学习任务中。遵循tmp的原理,我们提出了第一个学习算法,即增强的tmp(augtmp),来学习和处理增强脉冲。
在二分类任务中,每个脉冲模式图都属于两个类别(记为a和b)之一。augtmp学习规则旨在训练神经元对a模式图发射脉冲同时对b保持沉默。当发生错误时,它将修改突触权重。augtmp通过最小化损失函数来调整神经元的权重,该函数定义为
其中tmax表示神经元膜电位达到其最大值的时刻点。应用梯度下降法将损失函数最小化,然后可以得出augtmp学习算法。
其中,η为学习速率。
(3)augtdp学习算法
最近,多脉冲学习算法被提出来训练神经元发射一定数目的脉冲。与以前的方法相比,多脉冲方法展示了更好的性能表现。在本发明中,考虑到简单性和效率,我们选择tdp多脉冲方法来开发新的增强多脉冲学习算法(augtdp)。
神经元的输出响应可以由其发射阈值所决定。例如,较低的阈值通常将引起较多的脉冲发放。因此,脉冲阈值表层spikethresholdsurface(sts)函数被提出来描述神经元阈值与输出脉冲数目之间的关系。sts定义了一系列使输出脉冲的数量从k变为k-1的临界阈值。因此,可以使用临界阈值来对突触权重进行调节,从而获得期望的响应。遵循tdp中的步骤,我们提出了基于sts的增强多脉冲学习规则。给定一个临界阈值θ*,则其相对于权重wi的导数
其中
为了方便,我们使用tx表示
由此,我们可以得到梯度
通过公式(10),我们可以对神经元的权重进行调整以得到期望的脉冲输出个数。
(二)图像编码算法
为了将增强脉冲应用到图像识别任务中,我们采用了三种图像编码方法将输入的图像转换成脉冲模式图。
(4)s1c1和hmax方法
s1c1和hmax是两种典型的层级时序编码方法,它们分别采用了高斯差分滤波器和gabor滤波器作为编码神经元的权重对感受野内的信息进行整合。
(5)cnn方法
在基于cnn的编码方法中,训练好的cnn中的卷积层和池化层被用作编码前端,全连接层被丢弃。本发明中所使用的完整cnn的网络结构为6c5@28x28-p2-f256-f10。
(6)相位发射时间方法
为了生成编码神经元的发射时间,本发明提出了一种相位发射方法。生物实验表明,脉冲的发射时间与膜电位振荡的相位有关。受此启发,本发明提出了一种新的相位方法使编码神经元输出稀疏离散的脉冲时空模式图。如果编码神经元的激活值高于发射阈值,此神经元将在时间窗口0到t=100ms中的某个预先设定的随机时刻点发射一个脉冲。值得注意的是,在我们的方法中,编码神经元的激活值被分配为脉冲系数。由此,输入图像被编码为增强脉冲模式图,以用于进一步学习和分类。
图2是传统二进制形式的脉冲时空图和本发明所提出的增强脉冲的示例图,圆点大小表示相应的脉冲系数。
图3展示了本发明与当前最新的脉冲神经网络模型的对比,表中的准确率是基于mnist数据集得到的。