Elsevier

Neurocomputing

Volumes 26–27, June 1999, Pages 989-996
Neurocomputing

SpikeNET: A simulator for modeling large networks of integrate and fire neurons

https://doi.org/10.1016/S0925-2312(99)00095-8Get rights and content

Abstract

SpikeNET is a simulator for modeling large networks of asynchronously spiking neurons. It uses simple integrate-and-fire neurons which undergo step-like changes in membrane potential when synaptic inputs arrive. If a threshold is exceeded, the potential is reset and the neuron added to a list to be propagated on the next time step. Using such spike lists greatly reduces the computations associated with large networks, and simplifies implementations using parallel hardware since inter-processor communication can be limited to sending lists of the neurons which just fired. We have used it to model complex multi-layer architectures based on the primate visual system that involve millions of neurons and billions of synaptic connections. Such models are not only biological but also efficient, robust and very fast, qualities which they share with the human visual system.

Introduction

There are currently a large number of different systems that can be used for simulating neural networks. Many have been designed for simulating networks of artificial neurons and make no attempt to model the detailed biophysics of neurons. The underlying units have no structure, and their outputs typically consist of a single continuous value (often in the range 0–1 or from −1 to +1). While such systems have been widely used, and have had applications in a wide range of engineering and financial areas, few would regard them as being useful as tools for the computational neuroscientist.

At the other end of the spectrum there are sophisticated programs such as GENESIS and NEURON which are good for performing detailed biophysical simulations that take into account factors like the dendritic structure and complex channel kinetics, but where the level of detail makes it difficult to simulate very large networks efficiently [2], [3].

In this paper we describe SpikeNET, a neural network simulation package written in highly portable C++ code which lies between these two extremes. It is sufficiently biologically realistic to make it possible to examine the role of temporal properties such as synchronous or asynchronous spiking in neurons, and yet sufficiently simple to allow real-time simulation of large-scale networks of neurons.

Section snippets

Basic organization

The basic objects in SpikeNET are two-dimensional arrays of relatively simple leaky integrate-and-fire neurons. Each unit is characterized by a small number of parameters: a membrane potential, a threshold, and (in some cases) a membrane time constant. When an afferent neuron fires, the weight of the synapse between the two neurons is added to the target neuron's potential, and we test to see whether the neuron's potential has exceeded the threshold. If so, the neuron is reset (by subtracting

SpikeNET in action

To illustrate how SpikeNET can be used, we will describe a multiscale face recognition network which extends the face-localization model described by Van Rullen et al. [7], and uses an architecture loosely based on the organization of the primate visual system. Input images are first analyzed by arrays of ON-center and OFF-center cells in the “retina” at three different spatial scales. These cells send spikes to neurons in the next layer which contain neurons tuned for eight different

Performance of SpikeNET

SpikeNET has been designed to be computationally efficient. One of its advantages comes from the efficient use of RAM. Since the number of parameters per neuron is kept low, each neuron can require as little as 16 bytes of memory, depending on the type of precision required. More importantly, the use of shared weights means that one set of weights can be used for all the neurons in an array. As a result it is perfectly reasonable to simulate networks with tens of millions of neurons and

Parallel SpikeNET

Although running SpikeNET on a standard desktop machine is already reasonably quick, the very nature of SpikeNET makes it an ideal candidate for implementation on parallel hardware. The factor which usually prevents large scale use of parallel hardware in computing is the amount of communications needed between processors. For many problems, one sees little speed up once the computation has been split between more than 4 or 8 processors. However, with SpikeNET, the only information that needs

Final comments

Although primarily designed as a tool for modeling biological neural networks, the level of performance obtained with SpikeNET is such that in a variety of tasks, processing architectures developed using SpikeNET can perform at least as well and in many cases substantially better than more conventional image processing techniques. To the biologist, this may not be so surprising. We know that the processing strategies and architectures used in the human visual system (for example) are the

Arnaud Delorme is a Ph.D. student in Cognitive Neuroscience. He studied both Biology and Computer Science in Paris XII University. He works on the visual processing involved in object recognition and rapid categorization in monkeys and humans and develops a neuronal network entirely based on biological data. The software: SpikeNET can model hundreds of thousands of neurons in real time.

References (7)

  • L.J. Borg-Graham et al.

    Visual input evokes transient and strong shunting inhibition in visual cortical neurons

    Nature

    (1998)
  • J.M. Bower et al.

    The Book of GENESISExploring Realistic Neural Models with the GEneral SImulation System

    (1998)
  • M.L. Hines et al.

    The NEURON simulation environment

    Neural Computation

    (1997)
There are more references available in the full text version of this article.

Cited by (153)

View all citing articles on Scopus

Arnaud Delorme is a Ph.D. student in Cognitive Neuroscience. He studied both Biology and Computer Science in Paris XII University. He works on the visual processing involved in object recognition and rapid categorization in monkeys and humans and develops a neuronal network entirely based on biological data. The software: SpikeNET can model hundreds of thousands of neurons in real time.

Jacques Gautrais obtained his doctorate in Cognitive Science in 1997. Trained as an engineer, he studied with Simon Thorpe, first in Paris and then in Toulouse. During his thesis he studied asynchronous spiking networks and the possibility of coding information in the order in which neurons fire. He was responsible for developing the first version of the SpikeNET simulator.

Rufin VanRullen is a Ph.D. student in Cognitive Neuroscience at the Centre de Recherche Cerveau et Cognition in Toulouse, France. His background is in Mathematics and Computer Science. He is currently working on modeling the processes occuring in the primate visual system, e.g. object and face recognition or visual attention. One goal of this work is to explain the astonishing speed of processing in real visual systems when compared to artificial ones. Therefore his interest has moved towards networks of asynchronously spiking neurons.

Simon Thorpe (D.Phil) is Research Director working for the CNRS at the Centre de Recherche Cerveau and Cognition in Toulouse. He studied Psychology and Physiology at Oxford before obtaining his doctorate with Prof. Edmund Rolls in 1981. He joined Michel Imbert's group in Paris in 1982 and moved to Toulouse in 1993. He has used a range of techniques including single unit recording in awake monkeys, as well as ERP and fMRI studies in humans to study the brain mechanisms underlying visual processing.

View full text