  Spiking Neural Networks (SNNs) have received extensive academic attention due
to the unique properties of low power consumption and high-speed computing on
neuromorphic chips. Among various training methods of SNNs, ANN-SNN conversion
has shown the equivalent level of performance as ANNs on large-scale datasets.
However, unevenness error, which refers to the deviation caused by different
temporal sequences of spike arrival on activation layers, has not been
effectively resolved and seriously suffers the performance of SNNs under the
condition of short time-steps. In this paper, we make a detailed analysis of
unevenness error and divide it into four categories. We point out that the case
of the ANN output being zero while the SNN output being larger than zero
accounts for the largest percentage. Based on this, we theoretically prove the
sufficient and necessary conditions of this case and propose an optimization
strategy based on residual membrane potential to reduce unevenness error. The
experimental results show that the proposed method achieves state-of-the-art
performance on CIFAR-10, CIFAR-100, and ImageNet datasets. For example, we
reach top-1 accuracy of 64.32\% on ImageNet with 10-steps. To the best of our
knowledge, this is the first time ANN-SNN conversion can simultaneously achieve
high accuracy and ultra-low-latency on the complex dataset. Code is available
at https://github.com/hzc1208/ANN2SNN\_SRP.
