Spiking neural networks (SNNs) offer an inherent ability to process spatial-temporal data, or in other words, realworld sensory data, but suffer from the difficulty of training high accuracy models. A major thread of research on SNNs is on converting a pre-trained convolutional neural network (CNN) to an SNN of the same structure. State-of-the-art conversion methods are approaching the accuracy limit, i.e., the near-zero accuracy loss of SNN against the original CNN. However, we note that this is made possible only when significantly more energy is consumed to process an input. In this paper, we argue that this trend of "energy for accuracy" is not necessary -- a little energy can go a long way to achieve the near-zero accuracy loss. Specifically, we propose a novel CNN-to-SNN conversion method that is able to use a reasonably short spike train (e.g., 256 timesteps for CIFAR10 images) to achieve the near-zero accuracy loss. The new conversion method, named as explicit current control (ECC), contains three techniques (current normalisation, thresholding for residual elimination, and consistency maintenance for batch-normalisation), in order to explicitly control the currents flowing through the SNN when processing inputs. We implement ECC into a tool nicknamed SpKeras, which can conveniently import Keras CNN models and convert them into SNNs. We conduct an extensive set of experiments with the tool -- working with VGG16 and various datasets such as CIFAR10 and CIFAR100 -- and compare with state-of-the-art conversion methods. Results show that ECC is a promising method that can optimise over energy consumption and accuracy loss simultaneously.
翻译:Spik 神经网络(SNN) 提供了处理空间时空数据的固有能力,或者换句话说,现实世界感官数据的固有能力,但是在培训高精度模型方面遇到困难。关于SNNS的主要研究线是将预先训练的神经神经网络(CNN)转换为同一结构的 SNN。最先进的转换方法正在接近精确限度,即SNNN相对于原CNN的接近零精确度损失。然而,我们注意到,这只有在大量消耗能量处理投入时才有可能实现。在本文件中,我们争辩说,这种“精度能源换精确度”的趋势并不必要。关于SNNNNNNN的主要研究线是将预先训练的神经网络网络转换为同一结构的SNNNNN。具体地说,我们提出了一个新的CNNN-S-S的转换方法,它能够使用一个较短的短的加压列列列列列列(例如,CIFAR10图像的256个时档) 来达到近零准确度损失。我们称之为直径的当前控制(EC C), 的新的转换方法包含三种技术(正在正常转换的R-RRRRR) 将S-ration(S-ral-ral-ration-ration) ration) 和S-ral) 10的精确度转换成S-c) 的S-ral-r-r-r) 10 的精确度方法,这个方法,这个方法,这个方法可以显示S-ral-r-r-ral-s-s-s-ration(我们使用S-ration-ration-x-x-ration-r-r-r-rx-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-