# 脉冲神经网络及有监督学习算法Tempotron

1. 外界刺激编码

2. 构建神经元模型

3. 制定学习规则

[tau frac{{dV}}{{dt}} = – (V – {V_r}) + RI]

[V(t) = sumlimits_i {{omega _i}sumlimits_{{t_i}} {K(t – {t_i}) + } } {V_{rest}}]

[K(t – {t_i}) = {V_0}(exp[ – (t – {t_i})/tau ] – exp[ – (t – {t_i})/{tau _s}])]

[{V_0} = 1/K(((tau {tau _s}log (tau /{tau _s}))/(tau – {tau _s})) – 0)]

[Delta {omega _i} = lambda sumlimits_{{t_i} < {t_{max }}} {K({t_{max }} – {t_i})} ] 以二分类问题为例，如上更新规则为：首先分别求取类别1和类别2的最大膜电位时刻({t_{max }})。假定样本为类别1时，输出神经元发放脉冲，而当样本为类别2时输出神经元不发放脉冲。那么只需要判断最大膜电位(V({t_{max }}))与阈值电位({V_{thr}})的关系即可进行权重更新：

（1）如当样本的真实类别为类别1，输入脉冲神经网络之后，输出神经元在当前窗口时间范围内的最大膜电位大于阈值电位，则发放一个脉冲且无需更新突触连接权重。而当最大膜电位小于阈值电位时，需要根据如上公式更新连接权重，且(lambda > 0)以增强贡献比较大的连接权重。

（2）反之，如当样本的真实类别为类别2，输入脉冲神经网络之后，输出神经元在当前窗口时间范围内的最大膜电位小于阈值电位，则不发放脉冲且无需更新突触连接权重。而当最大膜电位大于阈值电位时，需要根据如上公式更新连接权重，且(lambda < 0)以削弱贡献比较大的连接权重。

Github上有两个基于Python的Tempotron实现代码

（1）无法直接做为下一层神经元的输入，因而不易扩展为深层脉冲神经网络；

（2）输出的单个脉冲不便于做序列预测。

[1] Hodgkin A L, Huxley A F. A quantitative description of membrane current and its application to conduction and excitation in nerve[J]. The Journal of physiology, 1952, 117(4): 500.

[2] Izhikevich E M. Simple model of spiking neurons[J]. IEEE Transactions on neural networks, 2003, 14(6): 1569-1572.

[3] Gerstner W, Kistler W M. Spiking neuron models: Single neurons, populations, plasticity[M]. Cambridge university press, 2002.

[4]. Markram H, Lübke J, Frotscher M, et al. Regulation of synaptic efficacy by coincidence of postsynaptic APs and EPSPs[J]. Science, 1997, 275(5297): 213-215.

[5]. Bi G, Poo M. Synaptic modifications in cultured hippocampal neurons: dependence on spike timing, synaptic strength, and postsynaptic cell type[J]. Journal of neuroscience, 1998, 18(24): 10464-10472.

[6]. Gütig R, Sompolinsky H. The tempotron: a neuron that learns spike timing–based decisions[J]. Nature neuroscience, 2006, 9(3): 420-428.

[7]. Ponulak F. ReSuMe-new supervised learning method for Spiking Neural Networks[J]. Institute of Control and Information Engineering, Poznan University of Technology.(Available online at: http://d1. cie. put. poznan. pl/~ fp/research. html), 2005.

[8]. Bohte S M, Kok J N, La Poutre H. Error-backpropagation in temporally encoded networks of spiking neurons[J]. Neurocomputing, 2002, 48(1): 17-37.

|