Spiking neural network (SNN) operating with asynchronous discrete events shows higher energy efficiency. A popular approach to implementing deep SNNs is ANN-SNN conversion combining both efficient training of ANNs and efficient inference of SNNs. However, due to the intrinsic difference between ANNs and SNNs, the accuracy loss is usually non-negligible, especially under low simulating steps. It restricts the applications of SNN on latency-sensitive edge devices greatly. In this paper, we identify such performance degradation stems from the misrepresentation of the negative or overflow residual membrane potential in SNNs. Inspired by this, we systematically analyze the conversion error between SNNs and ANNs, and then decompose it into three folds: quantization error, clipping error, and residual membrane potential representation error. With such insights, we propose a dual-phase conversion algorithm to minimize those errors separately. Besides, we show each phase achieves significant performance gains in a complementary manner. We evaluate our method on challenging datasets including CIFAR-10, CIFAR-100, and ImageNet datasets. The experimental results show the proposed method achieves the state-of-the-art in terms of both accuracy and latency with promising energy preservation compared to ANNs. For instance, our method achieves an accuracy of 73.20% on CIFAR-100 in only 2 time steps with 15.7$\times$ less energy consumption.
翻译:采用异步离散事件驱动的脉冲神经网络(SNN)具有更高的能效。实现深度SNN的常用方法是ANN-SNN转换,该方法结合了ANN的高效训练与SNN的高效推理。然而,由于ANN与SNN的本质差异,转换过程中的精度损失通常不可忽略,尤其在低模拟步数条件下。这极大限制了SNN在延迟敏感型边缘设备上的应用。本文指出,此类性能退化源于SNN中负值或溢出的残留膜电位的错误表征。基于此,我们系统分析了SNN与ANN之间的转换误差,并将其分解为三类:量化误差、截断误差与残留膜电位表征误差。基于这些发现,我们提出一种双阶段转换算法,分别最小化这些误差。此外,我们证明两个阶段以互补方式各自实现了显著的性能提升。我们在CIFAR-10、CIFAR-100和ImageNet等挑战性数据集上评估了该方法。实验结果表明,所提方法在精度和延迟方面均达到最优水平,且相比ANN具有显著节能效果。例如,我们的方法在仅需2个时间步长的条件下,在CIFAR-100上实现了73.20%的精度,同时能耗降低15.7倍。