Simulation of neural networks

I developed a simulator for spiking neural networks named Brian, with Dan Goodman and then Marcel Stimberg (4,6,7,14,15, 16, 18). It is written in Python, which makes it very easy to use (13), and yet very efficient, thanks to vectorised algorithms (9). It is ideally suited for rapid model writing and for teaching, and especially appropriate for developing new non-standard models: for example, neuron-glia interactions can be modeled with Brian (17). We also developed a toolbox for Brian to fit spiking models to electrophysiological recordings (8,10), as well as an auditory toolbox (11). We have recently released Brian 2.0 (18), a rewritten version of Brian that will relies on code-generation and extended equation-oriented specification (15). It allows in particular GPU support in the Brian simulator (12), in particular with the Brian2GeNN interface to the GeNN simulator, and soon with dedicated support. You can have a look at this presentation: Brian: Neural simulation in the post-connectionist era. Some of our current work is the further development of multicompartmental modeling.

I previously worked on event-driven algorithms (1,3). Although neural networks are essentially defined by standard differential equations, the discontinuities caused by spikes make the efficient simulation of spiking neural networks a non-trivial problem. I reviewed simulation algorithms in (2). I developed algorithms to generate sets of spike trains with prescribed rates and (non-instantaneous) pair-wise correlations (5), which are partially included in Brian.

Relevant publications (chronological order):

  1. Brette, R. (2006). Exact simulation of integrate-and-fire models with synaptic conductances. (code)
  2. Brette, R. et al (2007). Simulation of networks of spiking neurons: a review of tools and strategies.
  3. Brette, R. (2007). Exact simulation of integrate-and-fire models with exponential currents(code)
  4. Goodman D and R Brette (2008). Brian: a simulator for spiking neural networks in Python.
  5. Brette, R. (2009). Generation of correlated spike trains. (code)
  6. Brette, R. and D. Goodman (2009). Brian: a simple and flexible simulator for spiking neural networks.
  7. Goodman, D. and R. Brette (2009). The Brian simulator.
  8. Rossant C, Goodman DF, Platkiewicz J and Brette R (2010). Automatic fitting of spiking neuron models to electrophysiological recordings.
  9. Brette R and DF Goodman (2011). Vectorised algorithms for spiking neural network simulation.
  10. Rossant C, Goodman DF, Fontaine B, Platkiewicz J, Magnusson AK and Brette R (2011). Fitting neuron models to spike trains.
  11. Fontaine B, Goodman DFM, Benichoux F, Brette R (2011). Brian Hears: online auditory processing using vectorisation over channels.
  12. Brette R and Goodman D (2012). Simulating spiking neural networks on GPU.
  13. Brette R (2012). On the design of script languages for neural simulation.
  14. Goodman DFM and Brette R (2013) Brian simulator.
  15. Goodman DFM and Brette R (2013). Brian Spiking Neural Network Simulator. In: Jaeger D., Jung R. (Ed.) Encyclopedia of Computational Neuroscience.
  16. Stimberg M, Goodman DFM, Benichoux V, Brette R (2014).Equation-oriented specification of neural models for simulations.
  17. Stimberg M, Goodman DFM, Brette R and M De Pittà (2017). Modeling neuron-glia interactions with the Brian 2 simulator.
  18. Stimberg M, Brette R* and Goodman DF* (2019). Brian 2: an intuitive and efficient neural simulator.