Towards High-performance Spiking Transformers from ANN to SNN Conversion
This enables energy-efficient and fast processing for AI applications, particularly in domains like edge computing, by making Transformers viable as SNNs, though it is incremental as it builds on existing ANN-to-SNN conversion methods.
The paper tackles converting Transformers to spiking neural networks (SNNs) by proposing an Expectation Compensation Module and Multi-Threshold Neuron to preserve accuracy and reduce latency, achieving 88.60% top-1 accuracy with only 1% loss and 35% power consumption using 4 time steps.
Spiking neural networks (SNNs) show great potential due to their energy efficiency, fast processing capabilities, and robustness. There are two main approaches to constructing SNNs. Direct training methods require much memory, while conversion methods offer a simpler and more efficient option. However, current conversion methods mainly focus on converting convolutional neural networks (CNNs) to SNNs. Converting Transformers to SNN is challenging because of the presence of non-linear modules. In this paper, we propose an Expectation Compensation Module to preserve the accuracy of the conversion. The core idea is to use information from the previous T time-steps to calculate the expected output at time-step T. We also propose a Multi-Threshold Neuron and the corresponding Parallel Parameter normalization to address the challenge of large time steps needed for high accuracy, aiming to reduce network latency and power consumption. Our experimental results demonstrate that our approach achieves state-of-the-art performance. For example, we achieve a top-1 accuracy of 88.60\% with only a 1\% loss in accuracy using 4 time steps while consuming only 35\% of the original power of the Transformer. To our knowledge, this is the first successful Artificial Neural Network (ANN) to SNN conversion for Spiking Transformers that achieves high accuracy, low latency, and low power consumption on complex datasets. The source codes of the proposed method are available at https://github.com/h-z-h-cell/Transformer-to-SNN-ECMT.