一种提高联想记忆脉冲神经网络准确度的学习方法[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202010031259.8
(22)申请日 2020.01.13
(71)申请人 清华大学
地址 100084 北京市海淀区100084信箱82
分箱清华大学专利办公室
(72)发明人 何虎 王麒淋 董丽亚
(74)专利代理机构 西安智大知识产权代理事务
所 61215
代理人 段俊涛
(51)Int.Cl.
G06N 3/08(2006.01)
(54)发明名称
一种提高联想记忆脉冲神经网络准确度的
学习方法
(57)摘要
一种提高联想记忆脉冲神经网络准确度的
学习方法,所述联想记忆脉冲神经网络的记忆神
经网络通过结构训练能够实现联想记忆和回想
记忆,通过如下方法进行权值训练以提高记忆神
经网络输出的准确率:若记忆神经网络不能激发
输出神经元,则连接记忆神经网络激发神经元与
目标输出神经元,若已有连接,则增大记忆神经
网络激发神经元与目标输出神经元之间的权值;
若输出神经元激发错误,则增大记忆神经网络激
发神经元与目标输出神经元之间的权值,减小记
忆神经网络激发神经元与其他输出神经元的权
值;若输出神经元激发正确,则不进行权值调整。
本发明能够实现联想记忆、回想记忆,从而显著
提高联想记忆脉冲神经网络准确度。
权利要求书1页 说明书4页 附图3页CN 111260054 A 2020.06.09
C N 111260054
A
1.一种提高联想记忆脉冲神经网络准确度的学习方法,所述联想记忆脉冲神经网络的记忆神经网络通过结构训练能够实现联想记忆和回想记忆,其特征在于,通过如下方法进行权值训练以提高记忆神经网络输出的准确率:
(1)若记忆神经网络不能激发输出神经元,则连接记忆神经网络激发神经元与目标输出神经元,若已有连接,则增大记忆神经网络激发神经元与目标输出神经元之间的权值;
(2)若输出神经元激发错误,则增大记忆神经网络激发神经元与目标输出神经元之间的权值,减小记忆神经网络激发神经元与其他输出神经元的权值;
(3)若输出神经元激发正确,则不进行权值调整。
2.根据权利要求1所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,所述联想记忆脉冲神经网络的输入神经元发射脉冲后激发记忆神经网络神经元,使记忆神经网络神经元拥有包含特征的脉冲,然后进行记忆神经网络结构训练,所述记忆神经网络结构训练的规则如下:输入数据,当记忆神经网络有脉冲以后,对记忆神经网络的神经元进行hebb连接,即在一定时间和空间范围内,若两个神经元都激发,则使其单向相连,由先激发神经元连向后激发神经元。
3.根据权利要求2所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,当hebb连接完成后,把记忆神经网络的所有神经元分为主动神经元和被动神经元,只连接其他记忆神经网络神经元而不被其他记忆神经网络神经元相连的神经元称为主动神经元,被其他记忆神经网络神经元相连的神经元称为被动神经元。
4.根据权利要求3所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,降低输入神经元与记忆神经网络的被动神经元之间的权值。
5.根据权利要求1所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,所述权值改变量的设定遵循如下规则:
(1)如果某个权值越大,说明在之前的权值训练中,该连接都是正向作用,则增大这种正向作用,权值增加的越多;
(2)如果某个权值越小,说明在之前的权值训练中,该连接都是反向作用,则减小这种反向作用,权值增加的越小;
即,权值改变量与权值本身大小有关,权值改变量为f(x),x为权值大小。
6.根据权利要求5所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,采用log函数作为权值训练函数,设记忆层神经元与输出层神经元的突触连接权值为x,则权值增大量为log(1+x),权值减小量为k(log(1+x)),0≤k≤1。
7.根据权利要求1所述提高联想记忆脉冲神经网络准确度的学习方法,其特征在于,所述联想记忆脉冲神经网络联想记忆脉冲神经网络包括预处理层、输入层、记忆层以及输出层,预处理层对输入数据进行特征提取,并且把特征进行时间编码;输入层神经元将时间编码的特征转化为脉冲,并且产生脉冲,激发记忆层神经元;记忆层神经元记忆输入内容,实现联想记忆与回想记忆;输出层神经元对记忆层神经元的记忆进行读取,并且进行分类输出。
权 利 要 求 书1/1页CN 111260054 A
一种提高联想记忆脉冲神经网络准确度的学习方法
技术领域
[0001]本发明属于人工智能技术领域,特别涉及一种提高联想记忆脉冲神经网络准确度的学习方法。
背景技术
[0002]人工智能技术逐渐成熟,并且在各个领域的应用不断增加。
现在的人工智能技术都是基于第二代神经网络,即BP神经网络。
BP神经网络是基于权值的一种网络,不能进行联想记忆。
它们通常是全连接的,接收连续的值,输出连续的值。
尽管当代神经网络已经让我们在很多领域中实现了突破,但它们在生物学上是不精确的,其实并不能模仿生物大脑神经元的运作机制。
[0003]第三代神经网络,即脉冲神经网络(Spiking Neural Network,SNN),是以仿生神经元为模型的一种基于脉冲发射的一种网络,旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。
脉冲神经网络与目前流行的神经网络和机器学习方法有着根本上的不同。
SNN使用脉冲——这是一种发生在时间点上的离散事件——而非常见的连续值。
每个峰值由代表生物过程的微分方程表示出来,其中最重要的是神经元的膜电位。
本质上,一旦神经元达到了某一电位,脉冲就会出现,随后达到电位的神经元会被重置。
对此,最常见的模型是Integrate-And-Fire(LIF)模型。
此外,SNN通常是稀疏连接的,并会利用特殊的网络拓扑。
脉冲神经网络更加接近实际人脑工作过程,在仿生智能中有极大的潜力,被认为是人工智能的未来发展方向。
[0004]联想记忆是当脑海中想起某个特定事件时,另一个与之相关的事件也会被想起,比如当一个人回想起他的祖母时,他可能会同时想起他的祖母养了一只猫。
要形成这种联想记忆,需要在两个事件间产生联系,于是需要特定的网络结构。
此外,人们在记忆某件事的时候,会在脑海中持续回想某件事,这个记忆过程会持续几秒钟,称为回想记忆。
在形成记忆后,要对记忆进行读取,但是记忆读取的准确率一般都不高,要提高联想记忆脉冲神经网络的准确率,才能使其能有实际应用。
发明内容
[0005]为了克服上述现有技术的缺点,本发明的目的在于提供一种能够实现联想记忆的脉冲神经网络和一种提高联想记忆脉冲神经网络准确度的学习方法。
[0006]为了实现上述目的,本发明采用的技术方案是:
[0007]一种提高联想记忆脉冲神经网络准确度的学习方法,所述联想记忆脉冲神经网络的记忆神经网络通过结构训练能够实现联想记忆和回想记忆,通过如下方法进行权值训练以提高记忆神经网络输出的准确率:
[0008](1)若记忆神经网络不能激发输出神经元,则连接记忆神经网络激发神经元与目标输出神经元,若已有连接,则增大记忆神经网络激发神经元与目标输出神经元之间的权值;
[0009](2)若输出神经元激发错误,则增大记忆神经网络激发神经元与目标输出神经元之间的权值,减小记忆神经网络激发神经元与其他输出神经元的权值;
[0010](3)若输出神经元激发正确,则不进行权值调整。
[0011]所述联想记忆脉冲神经网络的输入神经元发射脉冲后激发记忆神经网络神经元,使记忆神经网络神经元拥有包含特征的脉冲,然后进行记忆神经网络结构训练,所述记忆神经网络结构训练的规则如下:
[0012](1)输入数据,当记忆神经网络有脉冲以后,对记忆神经网络的神经元进行hebb连接,即在一定时间和空间范围内,若两个神经元都激发,则使其单向相连,由先激发神经元连向后激发神经元;
[0013](2)当hebb连接完成后,把记忆神经网络的所有神经元分为主动神经元和被动神经元,只连接其他记忆神经网络神经元而不被其他记忆神经网络神经元相连的神经元称为主动神经元,被其他记忆神经网络神经元相连的神经元称为被动神经元。
[0014](3)降低输入神经元与记忆神经网络的被动神经元之间的权值。
[0015]所述权值训练的权值改变量的设定遵循如下规则:
[0016](1)如果某个权值越大,说明在之前的权值训练中,该连接都是正向作用,则增大这种正向作用,权值增加的越多;
[0017](2)如果某个权值越小,说明在之前的权值训练中,该连接都是反向作用,则减小这种反向作用,权值增加的越小;
[0018]故权值改变量与权值本身大小有关,即权值改变量为f(x),x为权值大小。
[0019]采用log函数作为权值训练函数,设记忆层神经元与输出层神经元之间权值为x,则权值增大量为log(1+x),权值减小量为k(log(1+x)),0≤k≤1。
[0020]所述联想记忆脉冲神经网络中,预处理层对输入数据进行特征提取,并且把特征进行时间编码;输入层将时间编码的特征转化为脉冲,并且产生脉冲,记忆层记忆输入内容,实现联想记忆与回想记忆,输出层对记忆层记忆进行读取,并且进行分类输出。
[0021]与现有技术相比,本发明的有益效果是:
[0022](1)本发明能够实现联想记忆。
当输入数据时,能让输入脉冲和记忆层脉冲一起激发被动神经元,即当人脑接收外界刺激时,由外界刺激联想到了另一件事。
[0023](2)本发明能够实现回想记忆。
当输入数据后,记忆层的激发环能够持续一段时间的振荡激发,即某个记忆持续在脑子出现。
[0024](3)本发明能够显著提高联想记忆脉冲神经网络准确度。
附图说明
[0025]图1是本发明联想记忆脉冲神经网络结构示意图。
[0026]图2是本发明联想记忆脉冲神经网络中的记忆层结构示意图。
[0027]图3是本发明输入脉冲与主动神经元一起激发被动神经元的示意图。
[0028]图4是本发明记忆层神经元之间形成的激发环基本结构示意图。
[0029]图5是本发明神经元激发振荡示意图。
具体实施方式
[0030]下面结合附图和实施例详细说明本发明的实施方式。
[0031]本发明所基于的联想记忆脉冲神经网络结构如图1所示,其包括:
[0032]预处理:对输入数据进行特征提取,并且将特征进行时间编码。
[0033]输入层:将时间编码的特征转化为脉冲,并且产生脉冲。
[0034]记忆层:记忆输入内容,可实现联想记忆与回想记忆。
[0035]输出层:对记忆层记忆进行读取,并且进行分类输出。
[0036]该网络结构主要实现记忆实现和记忆读出两大功能,其中:
[0037]记忆实现:记忆主要发生在记忆层,输入层神经元发射脉冲后激发了记忆层神经元,于是记忆层神经元拥有了包含特征的脉冲,然后进行结构训练。
记忆层结构训练规则如下:
[0038](1)输入数据,当记忆层有脉冲以后,对记忆层神经元进行hebb连接,即在一定时间和空间范围内,若两个神经元都激发,则使其单向相连,由先激发神经元连向后激发神经元。
[0039](2)当hebb连接完成后,把记忆层所有神经元分为主动神经元和被动神经元。
只连接其他记忆层神经元而不被其他记忆层神经元相连的神经元称为主动神经元,被其他记忆层神经元相连的神经元称为被动神经元。
[0040](3)降低输入层神经元与被动神经元之间的权值。
[0041]结构训练完成后,记忆层结构如图2所示,正方形为主动神经元,圆形为被动神经元。
主动神经元只连向其他神经元,被动神经元可被多个神经元相连。
[0042]记忆读出:记忆的读出由输出层实现。
结构训练完成后,虽然实现了记忆功能,但是记忆的读出准确率并不高。
于是需要一种学习方法进行权值训练,提高准确率,也即本发明的学习方法,其规则如下:
[0043](1)若输出层没有神经元激发,则连接记忆层激发神经元与目标输出神经元,若已有连接,则增大记忆层激发神经元与目标输出神经元之间的权值。
[0044](2)若输出层神经元激发错误,则增大记忆层激发神经元与目标输出神经元之间的权值,减小记忆层激发神经元与其他输出神经元的权值。
[0045](3)若输出层神经元激发正确,则不进行权值调整。
[0046]权值改变量的设定应该考虑如下规则:
[0047](1)如果某个权值越大,说明在之前的权值训练中,该连接都是正向作用,那么增大这种正向作用,所以增加的应该越多。
[0048](2)如果某个权值越小,说明在之前的权值训练中,该连接都是反向作用,那么减小这种反向作用,所以增加的应该越小。
[0049]故权值改变量与权值本身大小有关,即权值改变量为f(x),x为权值大小。
比如,采用log函数作为权值训练函数。
设记忆层神经元与输出层神经元之间权值为x,则权值增大量为log(1+x),权值减小量为k(log(1+x)),0≤k≤1。
[0050]根据以上方法,由于输入层神经元与被动神经元之间权值降低,当再次输入图片时,输入层只能激发记忆层的主动神经元,不能激发被动神经元。
主动神经元激发以后,会给与之相连的被动神经元发送脉冲,如果输入神经元也给这个被动神经元发送过脉冲,则
被动神经元被激发,即被动神经元只能由主动神经元和输入层神经元一起激发,被动神经元属于主动神经元的联想记忆。
由此实现记忆层的联想记忆功能。
[0051]输入脉冲与主动神经元一起激发被动神经元如图3所示,横坐标是时间(ms),纵坐标是神经元的膜电位(mV),当神经元的膜电位到达-56mV时神经元就会激发,并且发射脉冲。
虚线曲线为输入神经元脉冲,点划线曲线为主动神经元脉冲,实线曲线为被动神经元脉冲。
由图可见,输入神经元脉冲到达后,能使被动神经元膜电位升高,但被动神经元的膜电位没有到激发阈值,所以没有激发。
当与被动神经元相连的主动神经元激发以后,被动神经元的膜电位才达到激发阈值,被动神经元才被激发,发射脉冲。
[0052]结构训练完成以后,记忆层神经元之间可以形成多个激发环。
其基本结构如图4所示。
复杂的记忆层记忆结构都是该图中所示三角形的激发环交叉组合而成,神经元之间相互不断振荡激发。
输入数据后,激发环可以持续激发振荡一段时间,即实现了回想记忆功能。
[0053]神经元1470,1471,1483可以构成一个图4的环。
这三个神经元的振荡激发情况如图5所示,横坐标是时间(ms),纵坐标是神经元的膜电位(mV),当神经元的膜电位到达-56mV 时神经元就会激发,并且发射脉冲。
输入数据后,神经元1470,1471,1483的膜电位到达激发阈值,发射脉冲,同时激发环里与之相连的另一个神经元,另一个神经元再次激发下一个神经元,不断往复,形成振荡。
[0054]在本发明的一个具体实施例中,采用仿真工具nest进行试验,神经元采用LIF模型,使用MNIST数据集。
结构训练训练10张挑选过的图片,权值训练训练MNIST训练集前10000张图片,使用MNIST测试集前10000张图片进行预测,准确率非常高,超过78%。
与传统CNN全连接方案不同,本发明记忆层与输出层之间的突触连接数量很少,占所有可连接突触数量比例非常小。
图1
图2
图3
图4
图5。