Although spiking neural networks (SNNs) take benefits from the bio-plausible neural modeling, the low accuracy under the common local synaptic plasticity learning rules limits their application in many practical tasks. Recently, an emerging SNN supervised learning algorithm inspired by backpropagation through time (BPTT) from the domain of artificial neural networks (ANNs) has successfully boosted the accuracy of SNNs and helped improve the practicability of SNNs. However, current general-purpose processors suffer from low efficiency when performing BPTT for SNNs due to the ANN-tailored optimization. On the other hand, current neuromorphic chips cannot support BPTT because they mainly adopt local synaptic plasticity rules for simplified implementation. In this work, we propose H2Learn, a novel architecture that can achieve high efficiency for BPTT-based SNN learning which ensures high accuracy of SNNs. At the beginning, we characterized the behaviors of BPTT-based SNN learning. Benefited from the binary spike-based computation in the forward pass and the weight update, we first design lookup table (LUT) based processing elements in Forward Engine and Weight Update Engine to make accumulations implicit and to fuse the computations of multiple input points. Second, benefited from the rich sparsity in the backward pass, we design a dual-sparsity-aware Backward Engine which exploits both input and output sparsity. Finally, we apply a pipeline optimization between different engines to build an end-to-end solution for the BPTT-based SNN learning. Compared with the modern NVIDIA V100 GPU, H2Learn achieves 7.38x area saving, 5.74-10.20x speedup, and 5.25-7.12x energy saving on several benchmark datasets.
翻译:虽然Spiking神经网络(SNN)得益于生物可塑性神经模型,但当前通用处理器在为SNNS执行BPT时效率较低,因为通用本地合成塑料学习规则的准确性低,限制了其在许多实际任务中的应用。最近,由人工神经网络(ANNS)领域通过时间反向调整(BPTTT)引发的新兴SNNS监督的学习算法成功地提高了SNNNS的准确性,并有助于提高SNNNNS的实用性。然而,目前通用处理器在为SNNTS执行BPTT时效率较低。另一方面,当前神经变形芯片无法支持BPTTT, 因为它们主要采用本地合成合成塑料塑料规则来简化执行。 在这项工作中,我们建议HPTTTSNNN的SNN学习效率高, 保证SNNN的高度精确性。在以BPTTSNN学习时, BPTS的后端运行行为方式, 从基于前端点的双向前端点进行双向的计算, 在前端浏览版本的S-lental-realal-stal-stal-leval IMUD A 更新中,我们设计了前端的双向前端的双向后向后向后向后向后向后向前端的SUDUDUD 数据,我们向前端的双向前端的计算,我们,我们向前端的计算数据,我们向前向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向,我们,我们向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向,我们向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向后向