SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

一 引言

目前SNN研究存在的问题:

  • SNN在时空领域具有很大的优势,但是目前的研究大多是基于空间领域的研究,忽略了时间领域的优势,这就可能导致性能瓶颈。
  • 脉冲活动是不可微分的,这就造成了其学习算法较为复杂困难。
  • 本文提出了STBP学习算法。为了解决神经元网络不可微的问题,提出了一种适合于梯度下降训练的峰值活动近似导数。

下面文章将从神经元模型、STBP算法、不可微的解决方法三方面进行描述

二 研究方法

首先介绍迭代模式的LIF神经元模型;其次介绍反向传播的细节;最后介绍不可微分的解决方法。(建议公式自己手工推一下)

1. 神经元模型

总体模型改写流程:

  1. LIF模型(公式1)
  2. 改写成迭代模式(公式2)
  3. 借鉴LSTM模型,改写模型 (公式3-7)

a.LIF神经元模型

在这里插入图片描述

  • u(t)是在t时刻的膜电压,当膜电压达到阈值,则释放一个脉冲,并将其电位置为Urest。
  • τ是时间常数
  • I(t)表示突触前输入,由神经元前活动或外部注射和突触权重决定。

如图所示,在空间维度,类似于DNN,逐层在SD中传播。在时间维度,每个神经元通过自反馈,生成非易失性积分。从而做到时间和空间领域的信息都进行获取分析,比只考虑空间信息的BP和只考虑时间信息的STDP,具有更大的优势。
在这里插入图片描述

b 迭代式

对上式1和初始化条件联合,进行一阶常微分方程求解,可得(2)
在这里插入图片描述

c.结合LSTM机制

DNN中的BP算法,只考虑到SD领域中的BP。因此,这里我们考虑SD和TD两个领域的BP(同时借鉴了LSTM的思想)。通过使用遗忘门f(.)控制时间领域的信息,遗忘门f(.)控制TD中电压的泄漏程度;输出门g(.)用来控制脉冲的发放。
在这里插入图片描述

2 时空反向传播训练框架

a.损失函数:

其中y是样本s的标签向量,o是最后一层神经元的输出向量,由另外一篇论文《Direct Training for Spiking Neural Networks Faster, Larger, Better》可知,o是由投票机制产生的。
在这里插入图片描述

b. 反向传播

LSTM前向传播和反向传播具体计算过程-知乎
LSTM前向和反向传播计算过程CSDN
分四种情况,分别对不同位置的状态进行求导

  1. t=T,n=N (最后一层的最后一个状态)直接对损失函数进行求导即可。
  2. t=T,n<N (中间某层n的最后状态T,不是最后一层) 只考虑SD(理解:TD方向已经到达终点,无法方向传播):类似于DNN中的反向求导。
  3. t<T,n=N (最后一层的中间状态,不是最后一个状态) 只考虑TD(理解:SD方向已经到达终点,无法方向传播):链式求导+全导数法则
  4. t<T,n<N (中间某层的某个状态,不是最后一个状态且不是最后一层)考虑SD和TD

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三 不可微的解决方法

引入四条曲线来近似图3B中h1, h2, h3, h4所示的表示脉冲活动的导数:
参考链接:Dirac函数可以使用一些连续函数的序列极限表示
在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值