一种利用脉冲神经元阵列来实现卷积功能的方法技术

技术编号:18498093 阅读:165 留言:0更新日期:2018-07-21 20:39
一种利用脉冲神经元阵列来实现卷积功能的方法,步骤如下:输入图片,并对图片进行预处理;根据实际情况设计卷积核;利用设计的卷积核,在图像上做卷积。本发明专利技术根据脉冲神经网络特征来设计具有卷积功能的结构,由脉冲神经元组成的脉冲阵列来实现卷积功能。与现有的根据传统神经网络设计的卷积核来实现卷积相比,基于脉冲神经网络的卷积会更接近地模拟生物神经元,计算功耗也会大大降低。

A method of realizing convolution function by using pulse neuron array

A method of using a pulse neuron array to realize the convolution function. The steps are as follows: input the picture, preprocess the picture; design the convolution kernel according to the actual situation; use the designed convolution kernel to convolution on the image. According to the characteristics of pulse neural network, the invention designs a convolution function structure, and realizes a convolution function by a pulse array composed of pulse neurons. Compared with the existing convolution based on the convolution kernel designed by the traditional neural network, the convolution based on the pulse neural network can mimic the biological neurons more closely, and the power consumption will be greatly reduced.

【技术实现步骤摘要】
一种利用脉冲神经元阵列来实现卷积功能的方法
本专利技术属于计算科学、人工智能
,特别涉及一种利用脉冲神经元阵列来实现卷积功能的方法。
技术介绍
卷积神经网络独特的网络结构可以有效地降低反馈神经网络的复杂性。卷积在数据处理中用于平滑,对信号进行滤波、降噪,并通过设计不同卷积核来进行特征提取,进而在图像上进行卷积。由于目前较多的一般是为传统神经网络而设计的卷积核,而动物的神经网络大多为脉冲神经网络,常见的设计的卷积核与之不匹配,相比之下,脉冲神经网络比传统的神经网络更接近地模仿生物神经元。脉冲神经网络诞生于反向传播算法,它还未能通过传统神经网络处理过的现实数据广泛试验。目前已有不少论文对脉冲神经网络和传统神经网络性能进行了比对,有的已表明脉冲神经网络适用于更复杂的非线性数据集。基于非脉冲神经网络目前的通用性大于脉冲神经网络,现在已出现了不少基于脉冲神经网络的各项研究。在此基础上,将脉冲神经网络通用地用于各种数据不会太久。目前也有一些工作是在把例如CNN、DBN等传统的人工神经网络转化为SNN的工作。但是脉冲神经网络暂时并没有找到一个完美的训练算法,尤其是需要训练深层网络的时候。而传统人工神经网络借助统计与优化等数学工具得到充分发展,训练得到的效果目前比脉冲神经网络要更好。因此该项提议也仅仅是针对脉冲神经网络作卷积提出的改进。总的来说,脉冲神经网络有更强的生物学基础,潜在的能力更强大,但尚待开发;而传统人工神经网络充分利用统计学与优化等数学工具,现在取得的效果更好。如图3所示为非脉冲神经元中的神经元大致计算模型。与之相比,在脉冲神经网络中,神经元传递的是一个个脉冲。由于每个神经元有一个膜电位(membranevoltage),当一个神经元接收输入脉冲时,会导致其膜电位发生变化,在达到一个阈值时,则会发送一个脉冲,这个脉冲再向后传递。因此我们可以将其定义为,脉冲神经网络传递的是一个个脉冲,它们组成了一个脉冲序列,脉冲序列中蕴含了时间信息(temporalinformation),至于单个脉冲之间的时间间隔是不一定的,这是传统的人工神经网络所不能表达的。除此之外,脉冲神经网络中的每个神经元只有接收到一个脉冲时才需要进行计算,功耗更低,计算更快;而传统人工神经网络需要一层层的计算,计算量相比之下要大很多。此外,传统的神经网络和脉冲神经网络都是基于神经脉冲的频率进行编码,而脉冲神经网络的模拟神经元更加接近实际。2016年,发表在IEEE的论文TowardsanSpikingDeepBeliefNetworkforFaceRecognitionApplication提到,脉冲速率和时间是生物模型中数据传输的决定参数。这篇论文使用Brain模拟器来模拟脉冲神经网络,由于Matlab中的数字精度和Brian模拟器重新加载的不同,Python中的权重矩阵导致了精度的小幅下降,Brian模拟器模型的准确性降低到了92.4%。2017年,发表在IEEE的论文Multi-LayerUnsupervisedLearninginaSpikingConvolutionalNeuralNetwork,提出了脉冲神经网络(SNN)相对于传统的非脉冲神经网络在生物真实性、低功耗硬件实现的可能性以及理论计算方面具有优势。然而多层次的学习网络难以训练,且大多数卷积神经网络是通过反向传播算法训练,不能在本地进行计算。本文虽然实现了在权重上用生物学可信的本地学习来训练基于脉冲的卷积神经网络,但依然是用传统卷积核来实现卷积,且是先将网络训练成卷积神经网络,在训练之后转换为脉冲网络。
技术实现思路
为了克服上述现有技术的缺点,基于这几项分析基础,在针对性、生物真实性、潜在的低功耗硬件实现和和理论计算能力的改进方面上,本专利技术提供一种利用脉冲神经元阵列来实现卷积功能的方法,根据脉冲神经网络特征来设计具有卷积功能的结构,由脉冲神经元组成的脉冲阵列来实现卷积功能。为了实现上述目的,本专利技术采用的技术方案是:一种利用脉冲神经元阵列来实现卷积功能的方法,包括如下步骤:输入图片,并对图片进行预处理;根据实际情况设计卷积核;利用设计的卷积核,在图像上做卷积。优选地,所述对输入图片,并对图片进行预处理的步骤,包括:输入图片,第一层输入神经元接收图像,将图片转换成像素矩阵(假设为N*N),并将每一个像素值都减去所有像素平均值,再除以所有图片像素的标准差,使像素值都处于0-1之间;优选地,所述根据实际情况设计卷积核的步骤,包括:卷积操作的目的为提取图像特征,具体到本专利技术中,设计卷积核为r*r的规模,一共s种,根据实际情况(图像规模等)来确定;优选地,所述利用设计的卷积核,在图像上做卷积的步骤,包括:根据设计的r*r卷积核,在N*N的图像上对图像的每一块进行点对点的连接,其中每块的规模与卷积核大小相同,为r*r,连接的部分视为通路,为权值连接,不连接的部分视为掩模被过滤,不同形状的连接视为实现了不同卷积功能,即使用不同的卷积核进行连接时视为使用了不同的函数;卷积核在图像上滚动与之进行连接,每一块完成后移动一个步长,继续与下一块做点对点连接。卷积核在图像上进行点对点连接后,采用利用发送脉冲的时序快慢来替代卷积值大小的方式来替代原有的使用卷积值完成卷积的方式,且卷积参数体现在神经元之间的连接上,即权值weight,具体实现方式如下:通过点对点连接,权值大小体现在卷积核与图片的连接上。对于每一次的卷积操作,都设置一个时间窗来体现发脉冲的时序先后。权值非0的部分视为发送脉冲,若权值较大时,在时间窗上的体现为脉冲发送较紧密,特征比较明显,反之脉冲体现较为稀疏,关联性不大,特征不明显,值越小。与现有的根据传统神经网络设计的卷积核来实现卷积相比,基于脉冲神经网络的卷积会更接近地模拟生物神经元,计算功耗也会大大降低。附图说明图1是本专利技术实例的利用脉冲神经元阵列来实现卷积功能的流程示意图。图2是本专利技术实例中对提取的特征设计卷积核,在图像上做卷积的过程示意图。图3是非脉冲神经网络中神经元的大致计算模型。图4是脉冲神经网络中神经元膜电位随输入脉冲时间变化图。图5是卷积过程的示意图。图6是本专利技术实例中卷积方式的示意图。具体实施方式下面结合附图和实施例详细说明本专利技术的实施方式。图1是本专利技术实例的利用脉冲神经元阵列来实现卷积功能的流程示意图,该方法包括:S1输入图片,并对图片进行预处理;S2根据实际情况设计卷积核;S3利用设计的卷积核,在图像上做卷积。在S1中,通过第一层输入神经元接收输入图片,然后将图片转换成像素矩阵(假设为N*N),通过如上所述的预处理方式使像素值都处于0-1之间,简化计算量,还能避免过拟合;在S2中,设计卷积核为r*r的规模,一共s种,根据实际情况(图像规模等)来确定,具体到本实例中,设计卷积核的大小为3*3,一共4种,分别体现为矩阵r0,r1,r2,r3如下所示:进一步地,如图2所示,S3包括:S31,用r*r的卷积核,在N*N的图像上按顺序进行点对点连接;S32,通过点对点连接,权值大小体现在卷积核与图片的连接上。对于每一次的卷积操作,都对相应的接收神经元设置一个时间窗来体现发脉冲的时序先后。当一个神经元接收输入脉冲时,若在该时刻达到了神经元膜电位的阈值,则该神经元被本文档来自技高网
...

【技术保护点】
1.一种利用脉冲神经元阵列来实现卷积功能的方法,其特征在于,包括如下步骤:1)输入图片,并对图片进行预处理;2)设计卷积核;3)利用设计的卷积核,在图像上做卷积。

【技术特征摘要】
1.一种利用脉冲神经元阵列来实现卷积功能的方法,其特征在于,包括如下步骤:1)输入图片,并对图片进行预处理;2)设计卷积核;3)利用设计的卷积核,在图像上做卷积。2.根据权利要求1所述利用脉冲神经元阵列来实现卷积功能的方法,其特征在于,所述步骤1)输入图片,并对图片进行预处理,包括:输入图片,第一层输入神经元接收图像,将图片转换成像素矩阵,并将每一个像素值都减去所有图片像素的平均值,再除以所有图片像素的标准差,使像素值都处于0-1之间。3.根据权利要求1所述利用脉冲神经元阵列来实现卷积功能的方法,其特征在于,所述步骤2)设计卷积核,包括:设计卷积核为r*r的规模,一共s种。4.根据权利要求1所述利用脉冲神经元阵列来实现卷积功能的方法,其特征在于,所述步骤3)利用设计的卷积核,在图像上做卷积,包括:根据设计的r*r卷积核,在N*N的图像上对图像的每一块进行点对点的连接,其...

【专利技术属性】
技术研发人员:杨旭朱奕檬刘志林邓松高筠
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1