Obtaining Optimal Spiking Neural Network in Sequence Learning via CRNN-SNN Conversion
<|reference_start|>Obtaining Optimal Spiking Neural Network in Sequence Learning via CRNN-SNN Conversion: Spiking neural networks (SNNs) are becoming a promising alternative to conventional artificial neural networks (ANNs) due to their rich neural dynamics and the implementation of energy-efficient neuromorphic chips. However, the non-differential binary communication mechanism makes SNN hard to converge to an ANN-level accuracy. When SNN encounters sequence learning, the situation becomes worse due to the difficulties in modeling long-range dependencies. To overcome these difficulties, researchers developed variants of LIF neurons and different surrogate gradients but still failed to obtain good results when the sequence became longer (e.g., $>$500). Unlike them, we obtain an optimal SNN in sequence learning by directly mapping parameters from a quantized CRNN. We design two sub-pipelines to support the end-to-end conversion of different structures in neural networks, which is called CNN-Morph (CNN $\rightarrow$ QCNN $\rightarrow$ BIFSNN) and RNN-Morph (RNN $\rightarrow$ QRNN $\rightarrow$ RBIFSNN). Using conversion pipelines and the s-analog encoding method, the conversion error of our framework is zero. Furthermore, we give the theoretical and experimental demonstration of the lossless CRNN-SNN conversion. Our results show the effectiveness of our method over short and long timescales tasks compared with the state-of-the-art learning- and conversion-based methods. We reach the highest accuracy of 99.16% (0.46 $\uparrow$) on S-MNIST, 94.95% (3.95 $\uparrow$) on PS-MNIST (sequence length of 784) respectively, and the lowest loss of 0.057 (0.013 $\downarrow$) within 8 time-steps in collision avoidance dataset.<|reference_end|>
@article{su2024obtaining,
    title={Obtaining Optimal Spiking Neural Network in Sequence Learning via
  CRNN-SNN Conversion},
    author={Jiahao Su, Kang You, Zekai Xu, Weizhi Xu, Zhezhi He},
    journal={arXiv preprint arXiv:2408.09403},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.09403},
    primaryClass={cs.AI cs.CV}
}