github.com/wl17443/neuronmodelling

Ring attractor network implemented in Python by Stefano, Nikitas, Pranjal and Orion, as part of the Neuromatch Academy 2020 summer school project.

Open this visualization on its own page →

Contributors

7

Lines of Code

711

From

2020-07-16

To

2020-12-03

About wl17443/neuronmodelling

This project implements a ring attractor network, a biologically-inspired neural model used to represent cyclic variables like head direction in the fruit fly brain. The network consists of 128 leaky integrate-and-fire neurons connected in a ring topology with conductance-based synapses, designed to maintain a localized "bump" of neural activity that can persist and shift smoothly around the ring.

The core contribution of this work is demonstrating how to stabilize such a network against the destabilizing effects of noise through the addition of fixed points—small groups of neurons with stronger connection weights distributed around the ring. The team systematically explored how parameters like the balance of excitatory and inhibitory weights, the number and placement of fixed points, and noise levels affect network stability. They developed an error metric based on spike timing to quantitatively evaluate how well the bump maintains a stable position.

The codebase was initially developed in Python but was migrated to Julia for improved simulation speed and code maintainability. The work represents a complete exploration cycle from initial implementation through parameter optimization across multiple dimensions, though the authors note that learning rules remain as future work. This project emerged from the Neuromatch Academy 2020 summer school and builds on theoretical foundations in computational neuroscience related to bump attractor dynamics and neural field equations.

Share this video