目录
1、神经元工作的基本方式(神经元的基本模型):
神经元接受前端神经元突触脉冲的输入,当电压达到阈值(V threshlod)的时候就会发射一个脉冲作为输出,此时会立刻关闭所有前端的突触,阻止脉冲的输入。神经元发射脉冲之后会回归到复位电位,并且会持续一段时间。之后才会继续接受前端输入的脉冲。
2、构建简单的SNN分类三大问题:
- 编码:将数据样本编码为与时间相关的脉冲序列,也就是脉冲神经网络可以理解的脉冲序列。
- 模型:构建好的神经元的模型。
- 学习算法:确定好学习算法,对神经网络进行训练。文中使用的是:Tempotron监督学习算法.
编码方式:rate coding 和Temporal coding
学习方法:无监督学习STDP,有监督学习Tempotron 和Resume,Spikeprop
3、Tempotron监督学习算法——原理:
神经元的后突触膜电位(PSP)是所有与之相连的上一层神经元脉冲输入的加权和,数学公式:
式子解释:K表示的是Kernel,介于0-1之间的数值,表示在t时间下,ti时间点输入的脉冲的贡献。
ti是第i个脉冲输入的时间。
K(t-ti)=V0(exp[-(t-ti)/Tm)-exp[-(t-ti)/Ts])
1、V0起到正则化的一个作用。
2、Tm和Ts是控制真个K(t)图像大致形状的参数。
3、当ti>t时,K是不存在(vanishing)的,因为不存在当前时间之后的脉冲值,当V(t)大于阈值时,就会发放脉冲,并且迅速回到复位电位,并且持续一段时间(不应期)。
4、训练脉冲神经网路的目标
目标就是:使得该神经网络的输出神经元对对应的样本输出对应的膜电位。
根据输出神经元是否发放正确的脉冲,调整与该输出神经元的上一层的连接权重,
公式解析:1、λ表示每次更新的幅度。
2、K是[0-1]之间的数值
5、神经元膜电位在一个时间窗口的变化
上图是训练之后的输出神经元在一个时间窗口内的膜电位变化,
图中: 黑色的线条是符合脉冲输出的,被刺激
灰色的线条是不符合脉冲输出的,被抑制。
参考:http://jacoxu.com/tempotron/