Spiking neural networks (SNNs) have been recently brought to light due to their promising capabilities. SNNs simulate the brain with higher biological plausibility compared to previous generations of neural networks. Learning with fewer samples and consuming less power are among the key features of these networks. However, the theoretical advantages of SNNs have not been seen in practice due to the slowness of simulation tools and the impracticality of the proposed network structures. In this work, we implement a high-performance library named Spyker using C++/CUDA from scratch that outperforms its predecessor. Several SNNs are implemented in this work with different learning rules (spike-timing-dependent plasticity and reinforcement learning) using Spyker that achieve significantly better runtimes, to prove the practicality of the library in the simulation of large-scale networks. To our knowledge, no such tools have been developed to simulate large-scale spiking neural networks with high performance using a modular structure. Furthermore, a comparison of the represented stimuli extracted from Spyker to recorded electrophysiology data is performed to demonstrate the applicability of SNNs in describing the underlying neural mechanisms of the brain functions. The aim of this library is to take a significant step toward uncovering the true potential of the brain computations using SNNs.
翻译:脉冲神经网络(SNNs)因其卓越的性能潜力,近年来受到广泛关注。与前几代神经网络相比,SNNs具有更高的生物合理性,能更逼真地模拟大脑运作。其关键特性包括:用更少的样本进行学习,以及更低的能耗。然而,由于仿真工具的缓慢和所提出网络结构的不实用性,SNNs的理论优势尚未在实践中得到体现。在本工作中,我们使用C++/CUDA从零开始实现了一个名为Spyker的高性能库,其性能显著优于先前工具。通过Spyker,我们实现了多种采用不同学习规则(脉冲时序依赖可塑性和强化学习)的SNNs,获得了显著更优的运行时长,验证了该库在大规模网络仿真中的实用性。据我们所知,目前尚无其他工具能以模块化结构实现高性能大规模脉冲神经网络仿真。此外,我们将Spyker提取的刺激表征与记录的电生理数据进行对比,以证明SNNs在描述脑功能底层神经机制方面的适用性。该库的目标是为利用SNNs揭示大脑计算的真实潜力迈出关键一步。