Spark: Modular Spiking Neural Networks
Mario Franco, Carlos Gershenson
TL;DR
Spark addresses the inefficiency and learning challenges of traditional neural networks by introducing a modular, GPU-based framework for spiking neural networks that supports unbatched, iterative learning. It decomposes models into reusable neuronal, interface, and controller components and provides a blueprint-instantiation approach and a GUI to improve reproducibility and exploration. The authors demonstrate fidelity against Brian2 for common neuron models and show substantial interactive performance gains, while solving a sparse-reward Cartpole problem with simple, three-factor plasticity and no surrogate gradients. This work suggests that modular SNN tooling can accelerate research and enable more ML-like pipelines for SNNs, bringing iterative learning and continuous adaptation closer to brain-like dynamics.
Abstract
Nowadays, neural networks act as a synonym for artificial intelligence. Present neural network models, although remarkably powerful, are inefficient both in terms of data and energy. Several alternative forms of neural networks have been proposed to address some of these problems. Specifically, spiking neural networks are suitable for efficient hardware implementations. However, effective learning algorithms for spiking networks remain elusive, although it is suspected that effective plasticity mechanisms could alleviate the problem of data efficiency. Here, we present a new framework for spiking neural networks - Spark - built upon the idea of modular design, from simple components to entire models. The aim of this framework is to provide an efficient and streamlined pipeline for spiking neural networks. We showcase this framework by solving the sparse-reward cartpole problem with simple plasticity mechanisms. We hope that a framework compatible with traditional ML pipelines may accelerate research in the area, specifically for continuous and unbatched learning, akin to the one animals exhibit.
