脉冲神经网络Precise-Spike-Driven (PSD) Synaptic Plasticity学习笔记

来源:互联网 发布:碟中谍5 知乎 编辑:程序博客网 时间:2024/06/14 11:22

脉冲神经网络Precise-Spike-Driven (PSD) Synaptic Plasticity学习笔记


       PSD算法设计的目的是为处理和记忆时空相关的输入。PSD从传统的Widrow-Hoff规则衍生,作为监督学习规则,利用实际输出脉冲和目标输出脉冲之间的误差修改神经元连接权值:正误差(positive errors)会导致长时程增强,而负误差(negative errors)会导致长时程的抑制。PSD的优势在于在计算上效率较高并且是符合生物学原理的,当编码方式正确时它可以取得很好的识别效果。..


一、 选取脉冲神经元模型

       脉冲神经元模型有很多:intergrate-and-fire(IF)模型,resonate-and-fire模型,HH模型,Izhikevich(IM)模型。不同的脉冲神经元模型用不同的方程解释导致Vm(神经元膜电位)变化的因素。考虑到使用模型的计算的效率和简单性,采用leaky intergrate-and-fire模型(LIF)。


       Vm是膜电位,E是复位电压,Ins是环境噪声电流,Isyn是突出输入电流,Rm是膜电阻。当Vm超过阈值电压(常量)Vthr= E+18mV,该神经元就会放出脉冲(fire),同时电压回归Vreset(复位电压)=0mV,并进入不应期。

对于后神经突触连接的神经元,它在t时间所获取的输入电流大小为:


       其中W代表权重,含义是第i个输入神经元的功效,Ipsc则是不加权重的第i个输入神经元的突触后的电流大小(即电流经过突触之后的大小,也就是实际输入下一层神经元的电流大小):


       其中t^j是第j个脉冲从第i个输入神经元发送的时间;也就是说,为计算第i个神经元在t时间对下一层连接神经元实际的输出电流大小(不加权重时),结合该输入神经元i所有的发出脉冲的时间t^j进行计算,每次计算的结果就是t^j时间发出的脉冲对t时间电流大小的实际贡献,最后对该结果求和,就得到t时间突触后电流实际大小。

H是海维赛德阶跃函数,具体表现为:H(x)=1,当x>0;H(x)=0,当x<0;H(x)=0到1之间的一个数,当x=0。即当 t < t^j 时电流大小为0,也就符合了实际情况(即在一个时间窗口内,当前时间t比实际发出电流t^j时间要早,则t^j对该时间t的电流大小无法做出贡献)。

        公式中K是标准化的核函数,计算方式为:


        V0的作用是使K函数结果标准化(保证K结果在0~1之间)。ts 和tf分别是慢和快衰减系数,和函数图形相关,其比例被固定在ts  / tf = 4。


        Fig1. 上图中每个输入神经元与一个突触后神经元连接;红线描绘了t时间第i个输入神经元发出的电流大小Isyn,突触后神经元接收到的PSCs是所有输入神经元发出电流的加权和,它导致了该神经元膜电位的变化。


二、 PSD学习规则

       已经有了脉冲神经网络的模型,下面需要应用PSD规则训练模型。PSD从传统的算法中使用WH规则,由于脉冲神经元的输入和输出信号是由脉冲时间描述的,因此不能直接使用WH规则。

定义一个脉冲序列:


       F代表在第f个发出的脉冲,该序列对一个Dirac函数求和(仅x=0时输出1,其他情况输出0),因此s(t)就计算了t时间是否有脉冲发出。

        以此定义输入、期望输出、实际输出时间序列:


        为了解决阶跃函数带来的数学问题,使用卷积的方法,将输入脉冲序列卷积后可得:


        输入序列被乘以一个卷积核,原先的WH规则可以被描述为:


        现在将yd用Sd(t)代替,yo用So(t)代替,xi用Ipsc代替,于是WH规则可演化为:


        也就是说,权值的更新和学习率、期望输出和实际输出之间的差距以及该权值所在突出后电流大小有关:


        Fig2 在改变的WH规则作用下,在正信号下(Sd = 1 &So = 0)w更新时增大,即刺激了该脉冲神经元在t下的输出;在负信号下(Sd = 0 & So = 1)w更新时减小,即抑制该脉冲神经元在t下的输出。

       最终Wi的更新是对所有t时间下Wi(t)更新值的积分:


       另外,由于K(t)函数不连续的特征,PSD监督规则下同样无法拓展模型到多层模型。

原创粉丝点击