Spiking neural networks are becoming increasingly popular for their low energy requirement in real-world tasks with accuracy comparable to the traditional ANNs. SNN training algorithms face the loss of gradient information and non-differentiability due to the Heaviside function in minimizing the model loss over model parameters. To circumvent the problem surrogate method uses a differentiable approximation of the Heaviside in the backward pass, while the forward pass uses the Heaviside as the spiking function. We propose to use the zeroth order technique at the neuron level to resolve this dichotomy and use it within the automatic differentiation tool. As a result, we establish a theoretical connection between the proposed local zeroth-order technique and the existing surrogate methods and vice-versa. The proposed method naturally lends itself to energy-efficient training of SNNs on GPUs. Experimental results with neuromorphic datasets show that such implementation requires less than 1 percent neurons to be active in the backward pass, resulting in a 100x speed-up in the backward computation time. Our method offers better generalization compared to the state-of-the-art energy-efficient technique while maintaining similar efficiency.
翻译:脉冲神经网络因其在现实任务中具有与传统人工神经网络相当的准确度且能耗较低而日益受到关注。由于最小化模型参数损失时,阶跃函数导致梯度信息丢失和不可微问题,SNN训练算法面临挑战。为解决该问题,替代方法在后向传播中使用阶跃函数的可微近似,而前向传播仍将阶跃函数作为脉冲函数。我们提出在神经元层面采用零阶技术来消除这一矛盾,并将其嵌入自动微分工具中。由此,我们在所提出的局部零阶技术与现有替代方法之间建立了理论关联,反之亦然。该技术天然适用于在GPU上实现SNN的节能训练。基于神经形态数据集的实验表明,该实现方式在后向传播中仅需激活不到1%的神经元,后向计算速度提升高达100倍。与当前最先进的节能技术相比,我们的方法在保持相近效率的同时展现出更优的泛化能力。