Error-backpropagation in temporally encoded networks of spiking neurons 误差传播在时间编码的脉冲神经网络
作者:互联网
摘要
监督学习的规则:spikeprop,类似于传统的误差反向传播。根据这个理论,我们论证了脉冲神经元可生物可解释性,能够表现复杂的非线性分类能力,通过时间编码的方式,和速率编码的方式一样好。解决了经典的“异或”问题。所需要的神经元数量更少。此外,我们还发现,在脉冲网络中,只有当使用时间常数大于编码间隔的脉冲响应函数时,才能完成可靠的时间计算,正如理论考虑所预测的那样。
介绍
对于在短时间内的速率代码计算,它通常被相信:在生物神经系统中,大量脉冲神经元的反应被集合起来,来获取一个瞬间的平均放电率。
误差反向传播
理论的目标是为了学习一系列目标放电时间,可以认为是
{
t
j
d
}
\{t_j^d\}
{tjd}。其中
j
j
j代表第
j
j
j个输出的神经元。一系列输入模式
{
P
[
t
1
…
…
t
h
]
}
\{P[t_1……t_h]\}
{P[t1……th]},定义了一个单个的输入模式,被描述,通过一个单个脉冲时间,对于每一个神经元
h
∈
H
h\in H
h∈H
H代表输入层,I代表隐藏层,J代表输出层。
我们选择了最小均方误差函数为代价函数,像其他的比如说,交叉熵也是可以的。给定的要求的时间
{
t
j
d
}
\{t_j^d\}
{tjd}和实际的放电时间
t
j
a
{t_j^a}
tja,这个误差函数被定义为:
E
=
1
/
2
⋅
∑
j
∈
J
(
t
j
a
−
t
j
d
)
2
E=1/2·\sum_{j\in J}(t_j^a-t_j^d)^2
E=1/2⋅∑j∈J(tja−tjd)2
权重设置为
w
i
j
k
w^k_{ij}
wijk
后面的公式实在是太多了、、、、、不看了
异或问题
为了解码异或问题,我们假设0位“晚”的脉冲发放时间,1代表“早”的脉冲发放时间。我们用以下来解码异或:
我们使用第三个(偏置神经元)输入神经元在我们的网络中,让它总是在t=0的时候放电,用来指定参考的开始时间。我们定义不同的时间间隔,在0和1之间,使用代码间隔
Δ
T
\Delta T
ΔT,对应的例子就是6ms。网络由3个输入神经元,5个隐藏神经元,1个输出神经元。
既有抑制性神经元,又有兴奋性神经元是不收敛的。
其他基准问题
脉冲连续时间输入变量
为了把值编码进时间模式,这是十分重要的:把高度的刺激的神经元早些放电,低等刺激的神经元晚些放电或者不放电。
输出的分类被编码,根据赢者通吃的策略
结论
本文通过反向传播输出时的时间误差,导出了前馈脉冲神经网络的学习规则。这个结果在小的时间学习率上工作的很好,在突触后脉冲时间常数远远大于最大时间编码范围的时候也工作良好。
这个理论也论证了,在直接方式上,脉冲神经网络能够携带复杂的、非线性的任务,通过时间编码,
SpikeProp假说能够表现正确分类,在非线性数据集上,和传统的sigmoidal网络很相近的能力。
标签:编码,脉冲,temporally,放电,backpropagation,neurons,时间,异或,神经元 来源: https://blog.csdn.net/huatianxue/article/details/112728004