NeuralIntegrator: simulating spiking neural networks with discontinuities
I work in the field of computational neuroscience and model spiking neural networks (SNNs) with different synaptic plasticity rules, i.e. rules on how weights between neurons change with the neurons’ activity:
I implemented a small repo that simulates an SNN
with synaptic plasticity to produce clusters of strongly connected neurons, based on DifferentialEquations.jl, inspired by
a paper on the spontaneous formation of neuronal assemblies through synaptic plasticity.
There is a python package Brian2 that offers a rich set of tools to implement such networks (also see e.g. NEST for an alternative).
However, I haven’t seen a similar tool in Julia yet, and while Brian2 is fantastic for prototyping, it brings many C++ dependencies under the hood and can be difficult to debug.
The idea of the project is to keep it lightweight and low-level (for now), s.t. it is easy to adapt to other needs. It is not optimized for performance, and there is still much room for improvement.
I hope this is helpful to other people in the field or generally for those who model systems of ODEs with discontinuities.
Feedback and improvements are very welcome!