Spiking neural networks (SNNs) are well known as the brain-inspired models with high computing efficiency, due to a key component that they utilize spikes as information units, close to the biological neural systems. Although spiking based models are energy efficient by taking advantage of discrete spike signals, their performance is limited by current network structures and their training methods. As discrete signals, typical SNNs cannot apply the gradient descent rules directly into parameters adjustment as artificial neural networks (ANNs). Aiming at this limitation, here we propose a novel method of constructing deep SNN models with knowledge distillation (KD) that uses ANN as teacher model and SNN as student model. Through ANN-SNN joint training algorithm, the student SNN model can learn rich feature information from the teacher ANN model through the KD method, yet it avoids training SNN from scratch when communicating with non-differentiable spikes. Our method can not only build a more efficient deep spiking structure feasibly and reasonably, but use few time steps to train whole model compared to direct training or ANN to SNN methods. More importantly, it has a superb ability of noise immunity for various types of artificial noises and natural signals. The proposed novel method provides efficient ways to improve the performance of SNN through constructing deeper structures in a high-throughput fashion, with potential usage for light and efficient brain-inspired computing of practical scenarios.
翻译:脉冲神经网络(SNNs)因利用脉冲作为信息单元而类似于生物神经系统,因而被认为是高计算效率的模型。但其表现受到当前网络结构和训练方法的限制。由于脉冲为离散信号,典型的SNNs没法像人工神经网络(ANNs)那样直接应用梯度下降规则进行参数调整。针对此限制,我们提出了一种新方法,用知识蒸馏(KD)将人工神经网络作为教师模型,脉冲神经网络作为学生模型,构建深度脉冲神经网络。通过ANN-SNN联合训练算法,学生SNN模型可以通过知识蒸馏方法从教师ANN模型中学习到丰富的特征信息,避免了学生SNN直接使用非可微分的脉冲进行训练。相比直接训练或ANN-to-SNN方法,我们的方法可以更可行、更合理地构建更有效的深度SNN结构,并在很短的时间内进行整体训练。更重要的是,该方法具有出色的抗噪声能力,可适用于各种人造噪声和自然信号。所提出的新方法提供了高吞吐量的构建更深度结构的高效方式,具有潜在的应用于轻量级、高效的启发式计算场景。