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,具有更大的优势。
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks_第1张图片

b 迭代式

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

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张图片

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
  3. t
  4. t

SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks_第3张图片
SNN论文系列-Spatio-Temporal Backpropagation for Training High-Performance Spiking Neural Networks_第4张图片
在这里插入图片描述

三 不可微的解决方法

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

你可能感兴趣的:(脉冲神经网络)