文献阅读——Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences 整理总结


题目:Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences
期刊会议:Neural Networks 2020(CCF B)


完整翻译链接:https://blog.csdn.net/qq_45193988/article/details/127859148

摘要及背景:

  记录无帧尖峰事件的神经形态数据因其时空信息成分和事件驱动的处理方式而备受关注。尖峰神经网络(SNNs)代表了神经形态计算中具有时空动态的事件驱动模型系列,它被广泛地用于神经形态数据的基准测试。机器学习界的研究者们认为,递归神经网络(RNNs)也有能力提取时空特征,尽管它们不是事件驱动的。因此,如果我们在神经形态数据上对这两种模型进行基准测试,会发生什么?的问题出现了,但是这个问题一直没有被解决,本文从实验和理论方面分析了RNN和SNN的异同,以及研究评估RNNs在神经形态数据上的性能
贡献:
贡献如下:

  • 我们提出了第一个系统地比较神经形态数据集上的snn和rnn的工作。

  • 我们确定了SNNs和RNNs之间的异同,并统一了学习算法、损失函数、网络结构和训练超参数,以确保可比性和公平性。

  • 特别地,我们修改了RNNs的主流损失函数以接近SNNs的损失函数,并调整了神经形态视觉数据集的时间分辨率以测试模型的鲁棒性和泛化能力。

  • 在两种典型的神经形态视觉数据集上:DVS转换的(N-MNIST)和DVS捕获的(DVS手势),我们进行一系列对比实验,产生了关于识别准确性、特征提取、时间分辨率和对比度、学习泛化、计算复杂性和参数量的广泛见解(第四节详细介绍,第五节总结),这对未来的模型选择和构建是有益的。

1、分析了SNN和RNN的相似性和差异性

1.1相似性:

  • snn、vanilla rnn和LSTM在信息传播路径上是相似的
    首先如果将SNN的u和o分别视为vanilla RNNs的 h ~ \tilde{h} h~和h,那么SNN和vanilla RNNs的正向传播路径是相似的。第二,对于LSTM,神经元内部有更多的中间状态,包括: f ~ \tilde{f} f~ i ~ \tilde{i} i~ o ~ \tilde{o} o~ g ~ \tilde{g} g~和细胞状态。虽然神经元变得复杂,但如果只关注隐藏状态h的传播,整体时空路径还是相似的。有趣的是,每一个尖峰神经元的内膜电位可以直接影响下一个时间步的神经元状态,这与普通的rnn不同,但类似于LSTM的遗忘门。

1.2 差异性

  • 连接模式。 首先,对于同一层的神经元,snn只在每个神经元内部进行自我递归,而rnn在神经元之间进行交叉递归。具体来说,自我递归意味着只有神经元内部的递归连接;相比之下,交叉递归允许每层神经元之间的递归连接。其次,snn的递归权值由膜电位的泄漏因子决定,其受限于 − e − d t τ -e^{-\frac{dt}{\tau }} eτdt ;而在rnn中,循环权值是可训练的参数。为了说明这一点,我们用图4可视化了snn和rnn的连接模式,用图5展示了从实际模型中收集到的循环权的分布,反映了理论分析的结果
  • 在这里插入图片描述在这里插入图片描述
  • 神经元模型。 除了对连接模式的分析,我们还讨论了每个神经元单元内部的建模细节。如图6所示,显然,与LSTM中的复杂门不同,普通rnn中没有门。对于snn,如前所述,膜外电位路径类似于LSTM的遗忘门;然而,复位机制限制了膜电位,不像LSTM中无边界的细胞状态。此外,如图7所示,snn的激活函数是一个发射函数,它本质上是一个具有二进制输出的阶跃函数;而vanilla RNN和LSTM中的激活函数是tanh和sigmoid等连续函数。
    在这里插入图片描述在这里插入图片描述
  • 损失函数。 在基于梯度下降的监督学习框架下,损失函数对整体优化至关重要。snn和rnn的损失函数格式不同。具体来说,对于snn,通常将峰率编码方案与均方误差(MSE)结合起来形成损失函数,损失函数可以抽象为

在这里插入图片描述
其中 Y l a b e l Y^{label} Ylabel为标签, o t , N o^{t,N} ot,N为最后一层的输出,T为训练过程中的模拟时间步数。该损失函数考虑了在所有时间步长的输出峰值,因此神经元的峰值决定了识别结果。与式(10)不同,rnn的主流损失函数通常服从
在这里插入图片描述其中 h T , N h^{T,N} hT,N是最后一层在最后一个时间步处的隐藏状态, W y W^y Wy是一个可训练权值矩阵。

总结:
在这里插入图片描述

2、通过系统实验,比较RNN和SNN性能

2.1 前置知识

1)数据集:

在强调这一部分之前,首先解释一下使用数据集:两个神经形态视觉数据集上对所有模型进行基准测试:一个是名为N-MNIST的DVS转换数据集,另一个是名为DVS Gesture的DVS捕获数据集
在这里插入图片描述注:由于这里的时间分辨率为微妙级,很小,为了保证模型的正常使用,文章使用坍缩的方法将将分辨率变为毫秒级
在这里插入图片描述在这里插入图片描述

图9:N-MNIST数据集在不同时间分辨率下的切片,以数字“3”为例。

2)损失函数

在这里插入图片描述
为了使比较更加公平,为rnn提供了两种损失函数配置。一是主流损失函数如式(11);二是式(14)的修正式,即

在这里插入图片描述
为清晰起见,我们将rnn(15)式中的上述格式称为速率编码启发的损失函数

3) 网络结构及超参数设置:

  基于FC层的结构广泛应用于snn和rnn中,本文将其称为基于多层感知器(MLP)的结构。然而,基于mlp的结构的学习性能通常较差,尤其是在视觉任务中。为此,在snn中引入基于Conv层的结构来提高学习性能[21],本文将其称为基于卷积神经网络(convolutional neural network, CNN)的结构。针对这种情况,除了基本的MLP结构外,我们还实现了rnn的CNN结构,包括vanilla rnn和LSTM。这样就把不同模型之间的比较限制在同一个网络结构上,更加公平。表III提供了不同数据集上的网络结构配置。由于N-MNIST是一个更简单的任务,我们只使用MLP结构;而对于DVS Gesture,我们采用了MLP和CNN两种结构。
在这里插入图片描述  除了网络结构外,训练过程还需要一些超参数,如课时数、时间步数、批大小、学习率等。为了保证公平性,我们统一了不同模型的训练超参数。
在这里插入图片描述

2.1 整体精度比较

在这里插入图片描述在这里插入图片描述  在N-MNIST上,snn在常用模型中达到了最佳的精度。 速率编码启发的损失函数可以提升的效果,可以使RNN达到与snn相当甚至更好的效果。在DVS Gesture中也发现了类似的趋势。然而,即使使用了速率编码启发的损失函数,vanilla RNN在DVS手势上的表现似乎也不能超过SNN,特别是在基于MLP的情况下。潜在的原因可能是由于梯度问题。 众所周知,与vanilla RNNS相比,LSTM可以通过复杂的门结构来缓解梯度消失问题,从而实现更长的时间依赖性[40],[41]。对于SNN而言,膜电位可以直接影响下一个时间步的神经元状态,从而在正向和反向传递过程中,在vanilla rnn上多出一条信息传播路径(见图3)。这条额外路径的作用类似于LSTM的遗忘门(即LSTM[50]最重要的门),因此它也可以比vanilla RNN 记忆更长的依赖性,提高准确性。

对于速率编码启发的损失函数可以提升的效果的原因,文章在2.3节又进行了进一步的分析

  为了进一步分析在DVS Gesture上,vanilla RNN和SNN 、LSTM之间的精度差距比在N-MNIST上更大的原因,作者又通过DVS Gesture上可视化Conv层的特征映射,以查看发生了什么,如图11所示。为了简单起见,这里我们只考虑dt = 15ms的情况;采用基于速率编码的损失函数对RNN模型进行了改进。在三种模型中,vanilla RNN具有最清晰的特征映射,接近相应时间步长的输入片。然而,SNN和LSTM模型的特征图显然包含了当前时间步长和之前时间步长的痕迹的整合,这与SNN的额外膜势路径和LSTM复杂的门结构有关。在snn和LSTM的特征图中,动态手势经过的整个区域都被点亮,看起来就像彗星一样。这种特征的整合强化了时间依赖性,在一定程度上改变了后一层从学习时间特征到学习空间特征的过程。在像DVS Gesture这样的DVS捕获数据集上,跨越时间步的不同输入片共同构成了要识别的最终模式;而在dvs转换的数据集如N-MNIST上,不同时间步长的切片是接近的。这一点,加上snn和LSTM的较长记忆,可以解释在DVS Gesture上,vanilla RNN和SNN 、LSTM之间的精度差距比在N-MNIST上更大。

文献阅读——Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences 整理总结_第1张图片  同样从表VI-VIII中,我们发现随着时间分辨率的增大,精度也会提高。原因有两方面:一方面,当dt值较大时,峰值事件变得密集(见图9),这通常在每个切片中形成更多的有效特征;另一方面,在训练过程中模拟时间步数(T)相同的情况下,较大的时间分辨率可以在原始数据集中包含更多的切片,从而提供更多的运动对象信息。 此外,我们发现,当时间分辨率较小时(如GVS 手势),snn在GVS捕获的数据集上取得了显著的精度优势。 例如,dt≤10ms)。这表明,与连续rnn不同,事件驱动snn更适合提取稀疏特征,[29]中也指出了这一点。在 N-MNIST 这样的 DVS 转换数据集上,不同时间分辨率下尖峰事件的稀疏差距通常小于 DVS 捕获的数据集,从而降低了 SNN 的准确性优势。

为了进一步研究这两个结论,论文又在2.2节进一步研究了时间分辨率对于模型的影响。

此外,我们还做了一个额外的实验,研究了膜电位泄漏和复位机制对snn的影响,实验证明泄漏和重置都可以降低膜电位,从而在一定程度上降低峰值速率,有助于提高神经元的选择性。
文献阅读——Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences 整理总结_第2张图片

2.2 时间分辨率和泛化性

  时间分辨率增加的影响并不总是积极的,随着dt的增长,时间坍缩也会损失一些尖峰,导致时间精度损失。

文献阅读——Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences 整理总结_第3张图片  为了验证模型在不同时间分辨率下的泛化能力,进行实验。实验结果表明,SNN的泛化性要好于RNN和LSTM。
  分析原因: 首先,如前所述,由于事件驱动范式,SNN自然适合在较小的时间分辨率下处理稀疏特征。其次,与RNN中可训练的跨神经元递归权重不同,SNN使用具有受限权重的自神经元递归(即泄漏因子 − e − d t τ -e^{-\frac{dt}{\tau }} eτdt)。这种递归限制稳定了SNN模型,从而导致改进的泛化。 为了证明后一种预测,我们还使用可训练的跨神经元递归权重测试了SNN模型的性能,并在表XII中给出了结果。正如预期的那样,与RNN一样,泛化能力急剧下降。 这可能是由于引入可训练交叉神经元递归后,参数数量增加和动力学更复杂所致。 此外,我们试图确定泄漏因子是否会影响SNN的泛化能力。在之前的所有实验中,泄漏因子固定为0.3;相比之下,我们通过仅固定τ但改变dt来进一步测试具有自适应泄漏因子的SNN模型。同样从表XII可以看出,自适应泄漏因子只是略微提高了鲁棒性。
文献阅读——Comparing SNNs and RNNs on Neuromorphic Vision Datasets: Similarities and Differences 整理总结_第4张图片

在这里插入图片描述

2.3 损失函数和对比度

  在第2.2中,我们观察到速率编码启发的损失函数可以提高DVScaptured数据集的准确性。在本小节中,我们将对这一现象进行更深入的分析。我们将神经形态视觉数据集的时间对比度定义为不同时间步的片之间的交叉熵
在这里插入图片描述  显然,可以看到dvs捕获数据集的时间对比度要远大于dvs转换数据集的时间对比度。这说明在dvs捕获的数据集中有更多的时间分量,而在dvs转换的数据集中不同时间步长的切片是紧密的,通过考虑不同时间步下的输出,式(15)中基于速率编码的损失函数能够提供所有时间步下的错误反馈,从而优化最终的识别性能。 解释了为什么基于速率编码的损失函数能够提高准确率,但是没有详细解释为什么基于速率编码的损失函数在转化的DVS上提升的效果更多,只是提出一句猜测,当时间对比过大时,由于不同时间步梯度方向的发散,率编码损失函数的有效性可能会下降

2.4 参数和操作数量

分析了一下RNN和SNN的参数量和操作数量,表明了SNN在计算上、内存上的优势。

你可能感兴趣的:(SNN,深度学习)