一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种脉冲神经网络神经元膜电压计算方法与流程

2022-03-26 13:52:53 来源:中国专利 TAG:


1.本发明涉及脉冲神经网络技术领域,具体涉及一种脉冲神经网络神经元膜电压计算方法。


背景技术:

2.深度学习推动了人工智能技术的发展,在很多领域成果显著。但是,在具有较多不确定性、时空关联性以及泛化通用性的任务中,如语义理解、自适应学习、联想记忆、多模态信息处理等,深度学习还远远不如人脑。因此深度学习虽然代表了目前人工智能领域的先进技术,但这与理想的类脑通用智能目标仍有较大差距,还有许多其难以解决的智能问题。另外,深度学习模型在长期学习时会出现灾难性遗忘现象,如何在动态的环境中像人一样具备长期学习的能力成为了学术界关注的热点。
3.类脑计算模拟生物神经网络的结构和信息加工过程,它在软件层面的尝试之一是脉冲神经网络(snn),神经元之间是神经脉冲,信息的表达和处理通过神经脉冲发送来实现,就像我们的大脑中,有大量神经脉冲在不停传递和流转,因此在表达和处理信息时,比深度学习的时间性更突出,更加适合进行高效的时空信息处理,可应用于诸多复杂问题的求解中,如语言建模、手写数字识别以及语音识别等。通过学习大脑的信息处理机制,建立更强大和更通用的机器智能,类脑计算应用前景广阔,有望为人工智能未来发展提供强大的技术基础。
4.脉冲神经网络神经元具有强大的信息处理机制,具有计算效率高、能耗低等优点,一直是重要的研究方向,提出了hodgkin

huxley(h-h模型)、intergrate-and-fire(if模型)、izhikevich和spike response model(srm)等神经元模型,在人脑神经元脉冲编码的放电模式、计算模型、算法和计算架构等方面取得了令人欣喜的成果。脉冲神经网络神经元通过脉冲进行信息处理和传递,如何建立输入信号与神经元之间的映射关系,如何将输入转换为等价的spiking神经元模型的外部刺激信号转换为脉冲序列,如何对神经元脉冲编码,是脉冲神经网络应用中必须要解决的问题。目前的一些脉冲神经网络神经元模型,如srm等,考虑了神经元的不应期。神经元脉冲发放后进入不应期,神经元不应期期间不接收突触前神经元发出的脉冲,这就造成输入脉冲的丢失,即信息的丢失,在实际应用中,这将导致输入信息的不完整,可能影响应用的效果。


技术实现要素:

5.神经元脉冲发放后进入不应期,神经元不应期期间不接受突触前神经元发出的脉冲,这就造成输入脉冲的丢失,即信息的丢失。本发明的目的是提供一种脉冲神经网络神经元膜电压计算方法,有效解决信息丢失问题。
6.为实现上述技术效果,本发明提出了一种脉冲神经网络神经元膜电压计算方法,包括:
7.步骤1:建立输入信号与神经元之间的映射关系,将输入信号转换为脉冲序列;
8.步骤2:建立脉冲神经网络神经元模电压分布计算模型;
9.步骤3:计算突触后神经元膜电压,生成突触后神经元脉冲序列。
10.所述步骤1包括:
11.步骤1.1:采用首脉冲编码、时序脉冲编码或延时编码计算输入信号编码值;
12.步骤1.2:根据编码值得到神经元脉冲发放时间,生成突触前神经元发放的脉冲序列。
13.所述步骤2包括:
14.步骤2.1:选取spike response model神经元模型做为脉冲神经网络神经元非不应期时间段的膜电压计算模型;
15.步骤2.2:建立突触后神经元不应期时段突触前神经元的脉冲累积生成的膜电压模型。
16.进一步地,所述步骤2.1中的脉冲神经网络神经元非不应期时间段的膜电压计算模型为:
[0017][0018]
式中,v
jc
(t)表示突触后神经元非不应期时段接收突触前神经元的脉冲累积生成的膜电压;ti表示突触前神经元i在到时间段内发放的脉冲;δt为突触后神经元j脉冲发放后的不应期时间长度;w
ij
表示突触前神经元i与突触后神经元j之间的连接权值;表示突触后神经元j发放脉冲时间;t表示到时间段内的时间;表示突触后神经元j发放的前一个脉冲的时间;
[0019]
ε(x)为spike响应核函数:
[0020][0021]
式中τ表示时间延迟常量;
[0022]
η(x)为不应期核函数:
[0023][0024]
式中η0、τr分别为学习率、不应期常量。
[0025]
进一步地,所述步骤2.2中的突触后神经元不应期时段突触前神经元的脉冲累积生成的膜电压模型为:
[0026][0027]
ε(x)为脉冲响应核函数:
[0028][0029]
式中,v
jn
(t)表示突触后神经元j发放脉冲后进入不应期期间,突触前神经元i的脉冲累积生成的膜电压;ti表示突触前神经元i在到时间段内发放的脉冲;δt为突
触后神经元j脉冲发放后的不应期时间长度;w
ij
表示突触前神经元i与突触后神经元j之间的连接权值;表示突触后神经元j发放脉冲时间;t表示到时间段内的时间;τ表示时间延迟常量。
[0030]
所述步骤3包括:
[0031]
步骤3.1:构建脉冲神经网络神经元膜电压计算模型:
[0032]
突触后神经元j在t时刻的膜电压vj(t):
[0033][0034]
式中,vj(t)表示突触后神经元j在t时刻的膜电压,θ表示脉冲发放的阈值;
[0035]
步骤3.2:根据输入的脉冲计算每一时刻的神经元j膜电压vj(t),生成突触后神经元脉冲序列。
[0036]
所述步骤3.2包括:
[0037]
步骤3.2.1:判断是否计算结束或时间大于等于总脉冲时间t,是则跳转到步骤3.2.6;
[0038]
步骤3.2.2:突触后神经元j接收输入脉冲,计算其膜电压vj(t);
[0039]
步骤3.2.3:判断vj(t)是否大于等于设定阈值θ;
[0040]
步骤3.2.4:当vj(t)<θ时,转到步骤3.2.1;
[0041]
步骤3.2.5:当vj(t)≥θ时,突触后神经元j发放一个脉冲,发放时间记为tjf,并加入突触后神经元j发放的脉冲序列,随后突触后神经元进入不应期,不应期时间长度为δt,计算膜电压v
jn
(t),置vj(t)和v
jc
(t)值为0,跳转到步骤3.2.1;
[0042]
步骤3.2.6:结束计算。
[0043]
本发明的有益效果是:
[0044]
1)本发明针对脉冲神经网络神经元发放脉冲后进入不应期,不应期期间不再接收突触前神经元发放的脉冲,出现输入脉冲丢失,即信息丢失,提出了一种脉冲神经网络神经元膜电压计算方法,能很好地解决输入脉冲丢失问题;
[0045]
2)本发明将神经元膜电压计算分成两部分,一是非不应期时间突出前神经元输入脉冲的累积计算,二是不应期突出前神经元输入脉冲的累积计算,两部分之和作为神经元膜电压。通过计算不应期突出前神经元输入脉冲的累积,弥补了输入信息的丢失;
[0046]
3)本发明用于解决应用问题,可减少输入信息的损失,提高输入信息的利用率。
附图说明
[0047]
图1为本发明中脉冲神经网络神经元膜电压计算流程图;
[0048]
图2为本发明中神经元发放脉冲过程图;
[0049]
图3为本发明中神经元膜电压计算过程图;
[0050]
图4为本发明中图片灰度图;
[0051]
图5为本发明中脉冲编码时间图;
[0052]
图6为本发明中对应的脉冲序列图。
具体实施方式
[0053]
本发明的目的是提供一种脉冲神经网络神经元膜电压计算方法,有效解决信息丢失问题,
[0054]
神经元是一个多输入单输出的单元,若干突触前神经元作用于突触后神经元。突触后神经元接收来自突触前的神经元脉冲信息,经过一定的累积后,突触后神经元的膜电位值达到阈值发放脉冲,然后膜电位值重置为静息电位,突触后神经元进入不应期,过程原理图如图3所示。突触后神经元处于绝对不应期状态时,对突触前神经元脉冲输入没有反应,即不接收脉冲输入,直到一段时间过后突触后神经元才对输入的刺激给予反应,如图2所示。不断重复上述的脉冲发放过程,实现信息的处理和传递。
[0055]
由于神经元脉冲发放后存在不应期,突触后神经元发放脉冲后不接收突触前神经元脉冲输入,造成输入脉冲丢失。对于脉冲神经网络应用而言,存在信息丢失现象。为了避免输入信息的丢失,本发明将突触后神经元的膜电位计算分为两部分:
[0056]
一是突触后神经元在非不应期时间段接收来自突触前神经元的脉冲信息,经累积计算得到的突触后神经元的膜电位,记为v
jc

[0057]
二是突触后神经元的膜电位超过阈值,发放脉冲后处于不应期。此时突触前神经元仍在发放脉冲,由于突触后神经元处于不应期,对突触前神经元的脉冲信息没有反应,造成输入信息丢失。本发明对突触后神经元不应期期间突触前神经元发放的脉冲进行累积,计算不应期期间的膜电压,记为v
jn
,这部分膜电压参与下一个时间段突触后神经元膜电位的计算。
[0058]
某一时刻,突触后神经元的膜电位等于v
jc
和v
jn
之和:
[0059]
v=v
jc
v
jn
[0060]
对于首次计算突触后神经元的膜电位,v
nc
膜电压值设为0。
[0061]
下面结合附图和具体实施实例对发明做进一步说明。
[0062]
以图像处理为例,采用首脉冲编码和spike response model(srm)神经元模型,描述本方法,一种脉冲神经网络神经元膜电压计算方法,包括:
[0063]
步骤1:建立输入信号与神经元之间的映射关系,将输入信号转换为脉冲序列;包括:
[0064]
步骤1.1:采用首脉冲编码、时序脉冲编码或延时编码计算输入信号编码值;
[0065]
给定一张灰度图,把它划分成m*n块,每块看作是一个神经元。每块像素点的灰度值用p
ij
(i:1..m,j:1..n)表示,像素点最大灰度值为p
max
,最小灰度值为p
min
,总脉冲时间为t。灰度图中灰度值为p
ij
的像素点的编码值t
ij
计算如下:
[0066][0067]
式中,p
ij
表示灰度图中每个像素点的灰度值,p
min
表示最小灰度值,p
max
表示像素点最大灰度值,t表示总脉冲时间;
[0068]
假定给定一张3*3区域的灰度图,t取为300,如图4所示,从图可以得到p
max
=230,p
min
=20,根据上述公式可以计算出对应的每块的编码值,如图5所示。
[0069]
步骤1.2:根据编码值得到神经元脉冲发放时间,生成突触前神经元发放的脉冲序列;如图5对应的脉冲序列如图6所示(按行)。
[0070]
步骤2:建立脉冲神经网络神经元模电压分布计算模型;包括:
[0071]
步骤2.1:选取spike response model神经元模型做为脉冲神经网络神经元非不应期时间段的膜电压计算模型;
[0072]
本实施例的脉冲神经网络神经元是一个多输入单输出的结构,若干突触前神经元作用于突触后神经元。在不考虑外部额外输入电流的情况下,选取spike response model(srm)时间编码脉冲神经网络神经元模型。
[0073]
假定突触后神经元j接收来自n个突触前神经元i(i=1,...,n)的脉冲信息,突触前神经元i(i=1,...,n)和突触后神经元j连接的权值为w
ij
,神经元阈值为θ,突触后神经元j发放脉冲时间为采用首脉冲时间编码,得到脉冲神经网络神经元非不应期时间段的膜电压计算模型为:
[0074][0075]vjc
(t)表示突触后神经元非不应期时段接收突触前神经元的脉冲累积生成的膜电压;ti表示突触前神经元i在到时间段内发放的脉冲;δt为突触后神经元j脉冲发放后的不应期时间长度;w
ij
表示突触前神经元i与突触后神经元j之间的连接权值;表示突触后神经元j发放脉冲时间;t表示到时间段内的时间;表示突触后神经元j发放的前一个脉冲的时间;
[0076]
ε是用于描述突触后电位的spike响应核函数,ε(x)描述如下:
[0077][0078]
式中,τ表示时间延迟常量;
[0079]
η是不应期核函数,η(x)描述如下:
[0080][0081]
式中,η0、τr分别为学习率、不应期常量;
[0082]
步骤2.2:建立突触后神经元不应期时段突触前神经元的脉冲累积生成的膜电压模型;
[0083]
设n个突触前神经元i(i=1,

,n)作用于突触后神经元j,与其连接的权值为w
ij
,突触后神经元j发放脉冲时间为tf,其不应期时间为δt。突触后神经元j发放脉冲后进入不应期期间,突触后神经元j对突触前神经元脉冲输入没有反应,即不接收脉冲输入。突触前神经元i(i=1,

,n)的脉冲累积生成的膜电压v
jn
(t)计算公式如下:
[0084][0085]
式中,ti表示突触前神经元i在到时间段内发放的脉冲;δt为突触后神经元j脉冲发放后的不应期时间长度;w
ij
表示突触前神经元i与突触后神经元j之间的连接权值;表示突触后神经元j发放脉冲时间;t表示到时间段内的时间;τ表示时间
延迟常量;
[0086]
ε是用于描述突触后电位的spike响应核函数,ε(x)表达式如下:
[0087][0088]
其中,τ表示时间延迟常量。
[0089]
步骤3:计算突触后神经元膜电压,生成突触后神经元脉冲序列;包括:
[0090]
步骤3.1:构建脉冲神经网络神经元膜电压计算模型;
[0091]
设n个突触前神经元i(i=1,...,n)作用于突触后神经元j,突触后神经元j接收来自突触前的神经元脉冲信息,其连接的权值为w
ij
。突触后神经元j发放脉冲时间为不应期时间长度为出,突触后神经元j在t时刻的膜电压vj(t)计算公式如下:
[0092][0093]
式中,θ表示脉冲发放的阈值;
[0094]
步骤3.2:根据输入的脉冲计算每一时刻的神经元j膜电压vj(t),生成突触后神经元脉冲序列;包括:
[0095]
步骤3.2.1:判断是否计算结束或时间大于等于总脉冲时间t,是则跳转到步骤3.2.6;
[0096]
步骤3.2.2:突触后神经元j接收输入脉冲,计算其膜电压vj(t);
[0097]
步骤3.2.3:判断vj(t)是否大于等于设定阈值θ;
[0098]
步骤3.2.4:当vj(t)<θ时,转到步骤3.2.1;
[0099]
步骤3.2.5:当vj(t)≥θ时,突触后神经元j发放一个脉冲,发放时间记为并加入突触后神经元j发放的脉冲序列,随后突触后神经元进入不应期,不应期时间长度为δt,计算膜电压v
in
(t),置vj(t)和v
jc
(t)值为0,跳转到步骤3.2.1;
[0100]
步骤3.2.6:结束计算。
[0101]
计算过程如图1所示,首次计算v
jn
(t)值置为0,脉冲总时间t、静息电位执行前设定,阈值θ可以执行前设定或动态调整,在本实例中采用执行前设定。
[0102]
在神经元膜电压计算过程中,突触后神经元每接收一个输入脉冲,就计算vj(t)和v
jc
(t),判断vj(t)是否大于等于阈值,如果小于阈值,就继续接收输入脉冲,计算vj(t)和v
jc
(t);如果大于等于阈值,突触后神经元就发放一个脉冲,发放时间记为即确定了值,随后突触后神经元进入不应期。突触后神经元进入不应期,不再接收输入脉冲,膜电压vj(t)逐步降为静息电位(通常取0),不应期时间长度为δt。此时,可以计算v
jn
(t),即计算时间段内突触前神经元发放的脉冲相对于突触后神经元j所产生的膜电压,然后置vj(t)和v
jc
(t)的置为0。重复这样的过程,直到计算结束或达到脉冲总时间t,最后得到突触后神经元发放的脉冲序列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献