CN110659666B - 一种基于相互作用的多层脉冲神经网络的图像分类方法 - Google Patents
一种基于相互作用的多层脉冲神经网络的图像分类方法 Download PDFInfo
- Publication number
- CN110659666B CN110659666B CN201910720045.9A CN201910720045A CN110659666B CN 110659666 B CN110659666 B CN 110659666B CN 201910720045 A CN201910720045 A CN 201910720045A CN 110659666 B CN110659666 B CN 110659666B
- Authority
- CN
- China
- Prior art keywords
- layer
- neuron
- neurons
- pulse
- stimulation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/08—Learning methods
Abstract
鉴于现有技术中脉冲神经网络分类效果不理想的现状,本发明提供一种基于相互作用的多层脉冲神经网络的图像分类方法,使用多层神经元模型的脉冲网络,采用多层的形式更好的模拟人类大脑的生物神经元模型,将图像输入到神经网络中,先通过泊松序列脉冲的转换,将图像转化为相应的泊松序列输入到第一层神经网络的刺激层,通过刺激层与抑制层的相互作用,可以得到该刺激层的输出,再输入到下一层的刺激层神经元中,经过多次的神经元刺激层与抑制层的相互处理,可以更好模拟现实社会中的人脑特性,达到更好的分类效果。
Description
技术领域
本发明涉及图像分类领域,尤其涉及一种基于相互作用的多层脉冲神经网络的图像分类方法。
背景技术
脉冲神经网络(snn)经常被誉为第三代人工神经网络,第一代神经网络是感知机,他是一个简单的神经元模型并且只能处理二进制的数据;第二代神经网络应用最广泛为BP神经网络,从本质上讲,这些神经网络都是基于神经脉冲的频率进行编码。而脉冲神经网络,其模拟神经元更加接近实际,同时在snn中也考虑了时间对神经元的影响。
脉冲神经网络更加贴近对人类大脑神经元的模拟,更加贴近实际。在生物研究中人类的大脑运行是在每一次信息传播中都刺激或抑制该神经元,可以在每一次传播对神经元的膜电位造成改变,当神经元的膜电位得到一个特定的值则被激活,神经元则产生一个信息通过突触传递给下一个神经元,下一个神经元提高或者降低膜电位。脉冲神经网络则是通过微分方程构建神经元突触的传递模式,将时间因素加入到神经网络的考虑中,借助于神经科学的研究,人们已经可以精确的建立基于脉冲产生时间神经网络模型,这种模型采用脉冲编码的方式。通过脉冲发生的精确时间,可以获得更多的信息和更强的计算能力,将脉冲神经网络应用于图像分类也能获得更接近人类分析的效果。
在专利文献CN108846408A中,提出了一种基于脉冲神经网络的图像分类方法,将外部输入的图像模拟量编码成脉冲时间序列;脉冲时间序列分别添加延时信息,并将添加延时信息的脉冲时间序列存入FIFO存储器内进行缓存,然后将添加的延时信息的脉冲序列输入到IF神经元模型,通过将膜电压信号与阈值比较并对膜电压信号进行分类判别分类效果。
在专利文献CN109871940A中,提出了了一种脉冲神经网络的多层训练算法,利用逐层训练的方式,允许层内连接,并将权值训练和结构训练相结合,锐化数据之间的关联性,先将输入数据通过转换函数转化为脉冲序列,接着初始化,设置脉冲神经网络层数、每层神经元数量和层内神经元分布状态;在初始网络中,网络层间不设置连接,层间连接采用逐层递推的方式生成;而通过对层间权值的归一化操作消除数据差异带来的影响;最后通过权值训练获取结果。
在专利文献CN108805879A中,提出了一种基于脉冲神经网络的图像分割方法,基于视觉皮层中存在的多个感受野结构,自动搜索输入图像的内在规律和本质属性,初步动态构建输入层-隐藏层-输出层模式的脉冲神经网络,通过脉冲神经网络的阈值点火模型和竞争方式,输出切割的图像。
总之,以上述专利为代表的现有技术,在利用脉冲神经网络仅仅使用其最后的分类功能,或者只是使用一层snn应用于图像,这样不能够充分的发挥出脉冲神经网络模拟人脑的特性,因为人脑就是不同的神经元充当不同的层次,原来的脉冲神经网络不能够很完整的处理图像,更难达到分类的效果。
发明内容
鉴于现有技术中脉冲神经网络分类效果不理想的现状,本发明提供基于相互作用的多层脉冲神经网络的图像分类方法。
为了实现上述目的,本发明采用的具体方案为:一种基于snn的多层脉冲神经网络的图像分类方法,其特征在于:包括以下步骤:
S1.图像的收集与预处理:选取图片数据集,将数据转换为ubyte数据形式,并将图像的大小整合成28*28的灰度图像;
S2.图像的输入转化:将S1步骤得到的28*28像素的图像转化为泊松-峰序列;
S3.图像分类的训练步骤:
S301.脉冲的输入:将S2步骤得到的泊松-峰序列按照全连接的方式输入到一个含固定数量的神经元刺激层,该层神经元有脉冲的输入时,其电导根据时间发生改变,从而改变膜电位的大小,当V>Vthrse时,神经元发出脉冲,电位恢复到静置电位Vreset,等待下一次的脉冲激活;其中,Vthrse为阈值电位;V为膜电位;
S302.一层神经元之间的传递:当输入经过刺激层神经元后,刺激神经元膜电位达到阈值电位则被激活,将脉冲输出到与其一一连接的同样大小的抑制层神经元层,一一对应的抑制神经元被激活,则反馈回上一个刺激层;通过自定义权值控制该刺激层除了与该抑制元对应的刺激神经元被激活,其他的神经元全被抑制不发出脉冲;
S303.多层神经元的传递:将反馈回上一个刺激层发出的脉冲输入到下一层的神经元的刺激层,然后继续按照步骤S301和步骤S302在第二层的刺激层和抑制层相互作用,得到其脉冲输出;
S304.神经元的学习:神经元之间的学习算法采用STDP算法,判断神经元权重;
S305.通过给定时间的多层snn的训练及stdp算法学习重复S303步骤,输出一个神经元结果对照表,同时输出训练刺激层的神经元权重保存,形成神经元对照表;
S4.图像分类的测试:通过S304步骤得到的刺激层权重,输入测试图像,经过上述的s1步骤到步骤s3的运行,得到测试的结果,最后输出result。
S5.结果对比:将步骤S4的到的测试结果result,与步骤S3得到的神经元对照表进行比对,输出每一张测试图对应的0-9的数字。
其中,S304步骤中的STDP算法是指:如果在神经元y传递信息之后,x才产生反应,则神经元x与y之间的联系权值G(y→x)会加强;如果在x产生反应之后,其他神经元才传递信息,神经元x与y之间的联系权值G(y→x)会减弱。
有益效果:本发明选择使用多层神经元模型的脉冲网络,采用多层的形式更好的模拟人类大脑的生物神经元模型,将图像输入到神经网络中,先通过泊松序列脉冲的转换,将图像转化为相应的泊松序列输入到第一层神经网络的刺激层,通过刺激层与抑制层的相互作用,可以得到该刺激层的输出,再输入到下一层的刺激层神经元中,经过多次的神经元刺激层与抑制层的相互处理,可以更好模拟现实社会中的人脑特性,达到更好的分类效果。
附图说明
图1是本发明的流程图。
图2是脉冲神经网络模拟图。
图3是多层snn脉冲传播图。
图4a是单层snn训练相同数量图像神经元表示。
图4b是多层snn训练相同数量图像神经元表示。
需要明确的是:图4a图4b中0-9的数字,不必须是清晰的,只要能够参与相互比对即可。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1~3,本发明提供了一种基于snn的多层脉冲神经网络的图像分类方法,具体步骤如下;
S1.图像的收集与预处理:选取图片数据集,将数据转换为ubyte数据形式。该网络模型可以处理十类数据的分类,所以做图像需要数据整理为十个类别,并且对应0-9的十个labels,并且将数据分成训练集和测试集,按照比例分成训练集:测试集为6:1。同时预处理时将图像的大小整合成28*28的灰度图像,通过矩阵变化reshape转化为784*1的一维矩阵,满足模型的需要,同时在将图像转化为脉冲神经网络的输入提供便捷。
S2.图像的输入转化:将28*28像素的图像转化为784个连续的输入,同时根据图像每个点的像素值大小将其转化为泊松-峰序列—即按照像素值的大小决定其发射脉冲的概率大小。
S3.图像分类的训练:
S301.脉冲的输入:将第二步得到的脉冲序列按照全连接的方式输入到一个含固定数量的神经元刺激层,该层神经元在脉冲序列的刺激下其膜电位会上升,并且在到达膜电位的阈值则会触发其放电。公式如下:
其电导随时间变换如下:τge为兴奋性突触后电位的时间常数,抑制性突触即将电导改为gi。当神经元传递脉冲时到达突触时,突触电导瞬间增加突触的权重;而当没有脉冲达到时,电导呈指数衰减。dge/dt即为电导随时间的变化率。
当该神经元有脉冲的输入时,其电导根据时间发生改变,从而改变膜电位的大小,当膜电位V>Vthrse时,神经元发出脉冲,电位恢复到静置电位Vreset,等待下一次的脉冲激活,其中,Vthrse为阈值电位。
S302.一层神经元之间的传递:当输入经过刺激层神经元后,有的刺激神经元膜电位达到阈值电位则被激活,则将脉冲输出到与其一一连接的同样大小的抑制层神经元层,一一对应的抑制神经元被激活,则反馈回上一个刺激层。由于抑制层反馈回刺激层时全连接的,通过自定义权值可以控制该刺激层除了与该抑制元对应的刺激神经元被激活,其他的神经元全被抑制不发出脉冲。
S303.多层神经元的传递:当脉冲信号经过输入层到达第一层刺激神经元和抑制神经元的作用产生新的刺激,接着将第一层最后作用完刺激层发出的脉冲输入到下一层的神经元的刺激层,然后继续按照步骤S301和S302在第二层的刺激层和抑制层相互作用,得到其脉冲输出。第二层处理的特征即为第一层提取出的脉冲特征,脉冲序列能够在脉冲神经网络中处理得到更好的效果。
S304.神经元的学习:神经元之间的学习算法采用STDP(Spike Timing DependentPlasticity)算法,即两个神经元之间的活动,如果其他神经元的信息在本身活动产生之前,则两神经元之间的连接会增强。如果神经元本身产生活动之后才接受其他神经元传来的信息,则两神经元之间的连接会减弱,这样加强神经元之间的联系。即对于一个神经元x:一.如果在神经元y传递信息之后,x才产生反应,即类似于因果关系,则神经元x与y之间的联系权值G(y→x)会加强;二.如果在x产生反应之后,其他神经元才传递信息,那么这个信息可能被忽略,即神经元x与y之间的联系权值G(y→x)会减弱。
S305.通过给定时间的多层snn的训练及stdp算法学习,输出一个神经元结果对照表,同时输出训练刺激层的神经元权重保存。
S4.图像分类的测试:通过道路第三步骤得到的刺激层权重,输入测试图像,同样经过多层的snn的运行,得到测试的结果,最后输出result。
S5.结果对比:将步骤4的到的测试结果result,与步骤3的到的神经元对照表进行比对,输出每一张测试图对应的0-9的数字,如图4a和图4b。
本发明通过将图像输入多层的脉冲神经网络中,经过多次刺激层与抑制层的相互作用与反馈,在训练时生成神经元对照表,在测试时生成最后一层刺激层神经元刺激表。通过与对照相互比对,则可以预测出该张预测图对应0-9的哪个数字,达到图像分类更好的效果。
验证:与现有的技术相比,本实施例具贴近实际人脑,有助分析,同时对比一层的脉冲神经网络具有更好的分类效果。
本发明对数字图像完全采用脉冲神经网络进行处理,运用多层脉冲神经网络刺激层与抑制层相互作用更能实现脉冲神经网络的适应性,稀疏性,合理性,更加的贴近人类大脑的实际分析原理。通过两层脉冲神经网络的图像处理第一层将图像特征转换为脉冲特征,神经元网络能更好的适应脉冲特征的输入,则将第一层输出的脉冲特征输出到第二层神经元,第二层神经元网络处理脉冲特征能达到更好的处理效果,分类效果得到提升。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易变化或替换,都属于本发明的保护范围之内。因此本发明的保护范围所述以权利要求的保护范围为准。
Claims (2)
1.一种基于相互作用的多层脉冲神经网络的图像分类方法,其特征在于:包括以下步骤:
S1.图像的收集与预处理:选取图片数据集,将数据转换为ubyte数据形式,并将图像的大小整合成28*28的灰度图像;
S2.图像的输入转化:将S1步骤得到的28*28像素的图像转化为泊松-峰序列;
S3.图像分类的训练步骤:
S301.脉冲的输入:将S2步骤得到的泊松-峰序列按照全连接的方式输入到一个含固定数量的神经元刺激层,该层神经元有脉冲的输入时,其电导根据时间发生改变,从而改变膜电位的大小,当V>Vthrse时,神经元发出脉冲,电位恢复到静置电位Vreset,等待下一次的脉冲激活;其中,Vthrse为阈值电位;V为膜电位;
S302.一层神经元之间的传递:当输入经过刺激层神经元后,刺激神经元膜电位达到阈值电位则被激活,将脉冲输出到与其一一连接的同样大小的抑制层神经元层,一一对应的抑制神经元被激活,则反馈回上一个刺激层;通过自定义权值控制该刺激层除了与抑制元对应的刺激神经元被激活,其他的神经元全被抑制不发出脉冲;
S303.多层神经元的传递:将反馈回上一个刺激层发出的脉冲输入到下一层的神经元的刺激层,然后继续按照步骤S301和步骤S302在第二层的刺激层和抑制层相互作用,得到其脉冲输出;
S304.神经元的学习:神经元之间的学习算法采用STDP算法,判断神经元权重;
S305.通过给定时间的多层snn的训练及stdp算法学习重复S303步骤,输出一个神经元结果对照表,同时输出训练刺激层的神经元权重保存,形成神经元对照表;
S4.图像分类的测试:通过S304步骤得到的刺激层权重,输入测试图像,经过多层的snn的运行,得到测试的结果,最后输出result;
S5.结果对比:将步骤S4的到的测试结果result,与步骤S3得到的神经元对照表进行比对,输出每一张测试图对应的0-9的数字。
2.根据权利要求1所述的一种基于相互作用的多层脉冲神经网络的图像分类方法,其特征在于:S304步骤中的STDP算法是指:如果在神经元y传递信息之后,x才产生反应,则神经元x与y之间的联系权值G(y→x)会加强;如果在x产生反应之后,其他神经元才传递信息,神经元x与y之间的联系权值G(y→x)会减弱。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910720045.9A CN110659666B (zh) | 2019-08-06 | 2019-08-06 | 一种基于相互作用的多层脉冲神经网络的图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910720045.9A CN110659666B (zh) | 2019-08-06 | 2019-08-06 | 一种基于相互作用的多层脉冲神经网络的图像分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659666A CN110659666A (zh) | 2020-01-07 |
CN110659666B true CN110659666B (zh) | 2022-05-13 |
Family
ID=69036429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910720045.9A Active CN110659666B (zh) | 2019-08-06 | 2019-08-06 | 一种基于相互作用的多层脉冲神经网络的图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659666B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260054B (zh) * | 2020-01-13 | 2023-05-30 | 清华大学 | 一种提高联想记忆脉冲神经网络准确度的学习方法 |
CN111275742B (zh) * | 2020-01-19 | 2022-01-11 | 北京大学 | 一种目标识别方法、装置、系统及计算机可读存储介质 |
CN111753975B (zh) * | 2020-07-01 | 2024-03-05 | 复旦大学 | 一种面向物联网的自然模拟信号的类脑处理方法 |
CN113408611B (zh) * | 2021-06-18 | 2022-05-10 | 电子科技大学 | 一种基于延迟机制的多层图像分类方法 |
CN114065806B (zh) * | 2021-10-28 | 2022-12-20 | 贵州大学 | 基于脉冲神经网络的机械手触觉数据分类方法 |
CN114092763B (zh) * | 2021-11-22 | 2023-08-25 | 南京铁道职业技术学院 | 一种脉冲神经网络模型构建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446937A (zh) * | 2016-09-08 | 2017-02-22 | 天津大学 | 用于aer图像传感器的多层卷积识别系统 |
CN107330447A (zh) * | 2017-06-05 | 2017-11-07 | 三峡大学 | 一种反馈式icm神经网络和fpf相结合的剪影识别系统 |
CN109102000A (zh) * | 2018-09-05 | 2018-12-28 | 杭州电子科技大学 | 一种基于分层特征提取与多层脉冲神经网络的图像识别方法 |
CN109117884A (zh) * | 2018-08-16 | 2019-01-01 | 电子科技大学 | 一种基于改进监督学习算法的图像识别方法 |
CN109871940A (zh) * | 2019-01-31 | 2019-06-11 | 清华大学 | 一种脉冲神经网络的多层训练算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140074761A1 (en) * | 2012-05-30 | 2014-03-13 | Qualcomm Incorporated | Dynamical event neuron and synapse models for learning spiking neural networks |
-
2019
- 2019-08-06 CN CN201910720045.9A patent/CN110659666B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446937A (zh) * | 2016-09-08 | 2017-02-22 | 天津大学 | 用于aer图像传感器的多层卷积识别系统 |
CN107330447A (zh) * | 2017-06-05 | 2017-11-07 | 三峡大学 | 一种反馈式icm神经网络和fpf相结合的剪影识别系统 |
CN109117884A (zh) * | 2018-08-16 | 2019-01-01 | 电子科技大学 | 一种基于改进监督学习算法的图像识别方法 |
CN109102000A (zh) * | 2018-09-05 | 2018-12-28 | 杭州电子科技大学 | 一种基于分层特征提取与多层脉冲神经网络的图像识别方法 |
CN109871940A (zh) * | 2019-01-31 | 2019-06-11 | 清华大学 | 一种脉冲神经网络的多层训练算法 |
Non-Patent Citations (3)
Title |
---|
Multi-layered Spiking Neural Network with Target Timestamp Threshold Adaptation and STDP;Pierre Falez等;《arXiv》;20190403;第1-8页 * |
基于STDP的脉冲神经网络图像识别算法研究;柯成仁;《中国优秀硕士学位论文全文数据库信息科技辑》;20190215;I138-2093 * |
脉冲时序编码的有监督脉冲神经网络算法研究;应曌中;《中国优秀硕士学位论文全文数据库信息科技辑》;20190615;I140-78 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659666A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659666B (zh) | 一种基于相互作用的多层脉冲神经网络的图像分类方法 | |
Pham et al. | Control chart pattern recognition using spiking neural networks | |
CN112633497B (zh) | 一种基于重加权膜电压的卷积脉冲神经网络的训练方法 | |
US9418331B2 (en) | Methods and apparatus for tagging classes using supervised learning | |
Belatreche et al. | Advances in design and application of spiking neural networks | |
Shrestha et al. | Stable spike-timing dependent plasticity rule for multilayer unsupervised and supervised learning | |
US11157798B2 (en) | Intelligent autonomous feature extraction system using two hardware spiking neutral networks with spike timing dependent plasticity | |
GB2579528A (en) | Neuromorphic processing apparatus | |
CN111858989A (zh) | 一种基于注意力机制的脉冲卷积神经网络的图像分类方法 | |
CN112101535B (zh) | 脉冲神经元的信号处理方法及相关装置 | |
US9361545B2 (en) | Methods and apparatus for estimating angular movement with a single two dimensional device | |
WO2015167765A2 (en) | Temporal spike encoding for temporal learning | |
CN108304912A (zh) | 一种运用抑制信号实现脉冲神经网络监督学习的系统和方法 | |
CN112906828A (zh) | 一种基于时域编码和脉冲神经网络的图像分类方法 | |
CN109635938B (zh) | 一种自主学习脉冲神经网络权值量化方法 | |
Humaidi et al. | Spiking versus traditional neural networks for character recognition on FPGA platform | |
Yu et al. | Pattern recognition computation in a spiking neural network with temporal encoding and learning | |
Roclin et al. | Design study of efficient digital order-based STDP neuron implementations for extracting temporal features | |
Wu et al. | Remembering key features of visual images based on spike timing dependent plasticity of spiking neurons | |
Kunkle et al. | Pulsed neural networks and their application | |
Lin et al. | An automatic image segmentation algorithm based on spiking neural network model | |
Vaila et al. | Spiking CNNs with PYNN and NEURON | |
Jia et al. | Studying on improved spiking neural network in handwritten digital recognition | |
CN115392442B (zh) | 神经元点火方法、芯片及电子设备 | |
CN113723594A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |