当前位置: 代码迷 >> 综合 >> SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks
  详细解决方案

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

热度:99   发布时间:2023-10-24 02:39:21.0

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神经元模型

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

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

如图所示,在空间维度,类似于DNN,逐层在SD中传播。在时间维度,每个神经元通过自反馈,生成非易失性积分。从而做到时间和空间领域的信息都进行获取分析,比只考虑空间信息的BP和只考虑时间信息的STDP,具有更大的优势。
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

b 迭代式

对上式1和初始化条件联合,进行一阶常微分方程求解,可得(2)
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

c.结合LSTM机制

DNN中的BP算法,只考虑到SD领域中的BP。因此,这里我们考虑SD和TD两个领域的BP(同时借鉴了LSTM的思想)。通过使用遗忘门f(.)控制时间领域的信息,遗忘门f(.)控制TD中电压的泄漏程度;输出门g(.)用来控制脉冲的发放。
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

2 时空反向传播训练框架

a.损失函数:

其中y是样本s的标签向量,o是最后一层神经元的输出向量,由另外一篇论文《Direct Training for Spiking Neural Networks Faster, Larger, Better》可知,o是由投票机制产生的。
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

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

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

三 不可微的解决方法

引入四条曲线来近似图3B中h1, h2, h3, h4所示的表示脉冲活动的导数:
参考链接:Dirac函数可以使用一些连续函数的序列极限表示
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks

  相关解决方案