Spiking Neural Network (SNN) is a promising energy-efficient AI model when implemented on neuromorphic hardware. However, it is a challenge to efficiently train SNNs due to their non-differentiability. Most existing methods either suffer from high latency (i.e., long simulation time steps), or cannot achieve as high performance as Artificial Neural Networks (ANNs). In this paper, we propose the Differentiation on Spike Representation (DSR) method, which could achieve high performance that is competitive to ANNs yet with low latency. First, we encode the spike trains into spike representation using (weighted) firing rate coding. Based on the spike representation, we systematically derive that the spiking dynamics with common neural models can be represented as some sub-differentiable mapping. With this viewpoint, our proposed DSR method trains SNNs through gradients of the mapping and avoids the common non-differentiability problem in SNN training. Then we analyze the error when representing the specific mapping with the forward computation of the SNN. To reduce such error, we propose to train the spike threshold in each layer, and to introduce a new hyperparameter for the neural models. With these components, the DSR method can achieve state-of-the-art SNN performance with low latency on both static and neuromorphic datasets, including CIFAR-10, CIFAR-100, ImageNet, and DVS-CIFAR10.
翻译:脉冲神经网络(SNN)是一种有望在神经形态硬件上实现高效能 AI 的模型。然而,由于其不可微性,有效地训练 SNN 是一项挑战。大多数现有方法要么遭受高延迟(即,长模拟时间步),要么不能达到与人工神经网络(ANNs)相当的高性能。在本文中,我们提出了不同于 Spike RepTran 法的 Differentiation on Spike Representation (DSR) 方法,旨在实现低延迟且竞争力与 ANNs 相当的高性能。首先,我们使用(加权的)发放率编码将脉冲列编码为脉冲表示。基于脉冲表示,该文系统地推导出具有常见神经模型的脉冲动力学可被表示为一些次可微映射。在这个视角下,我们提出的 DSR 方法通过这种映射的梯度来训练 SNN,并避免了 SNN 训练中常见的不可微性问题。然后我们分析了使用 SNN 的前向计算来表示特定的映射时的误差。为了减少这种误差,我们建议训练每个层中的脉冲阈值,并引入一个新的超参数来调整神经模型。通过这些组件,DSR 方法可以在静态和神经形态的数据集上实现最先进的 SNN 性能和低延迟,包括 CIFAR-10、CIFAR-100、ImageNet 和 DVS-CIFAR10。