Although, as of 2021, the code is still functional, this project is no longer supported.
SpikeNET is a program designed to simulate large networks of asynchronous spiking neurons. Neurons are modeled with a limited number of parameters that include classic properties such as post-synaptic potential and threshold, as well as more novel features like dendritic sensitivity. SpikeNET can be used to simulate networks with millions of neurons and hundreds of millions of synaptic weights. Optimization of computation time, with the goal of real-time performance, has been a central focus in the development of SpikeNET.
- Perform image processing using a biologically plausible network of neurons.
- Simulate millions of integrate-and-fire neurons organized in retinotopic maps.
- Connect these neuronal maps using projection files, and group shared synaptic weights to reduce memory usage, enabling the definition of hundreds of billions of synaptic connections.
- Convert grayscale images into lists of spikes, with optional preprocessing of input images.
- Implement complex projection mechanisms between neuronal maps of different sizes.
- Support supervised learning.
- Implement the efficient neuronal rank-order coding scheme (optional).
- SpikeNET does not provide a comprehensive graphical interface. The neural network topology must be described using several configuration files (documented below).
- SpikeNET has not been used to process more than one spike per neuron. It was originally designed to test the biological plausibility of feedforward processing using at most one spike per neuron. Note that lateral inhibition, excitation, and feedback can still be implemented as long as neurons discharge only once.
- SpikeNET cannot implement synaptic connections with variable delays. All synaptic connections are instantaneous.
See this page for more information.
When we rigorously tested the performance of SpikeNET in 1999, it could compute roughly 20 million connections per second on a standard desktop computer (Macintosh PowerPC 233 MHz). At that time, we believe that SpikeNET was the most powerful convolutional neural network available for image classification.
- Delorme, A., Thorpe, S. (2003). SpikeNET: An Event-driven Simulation Package for Modeling Large Networks of Spiking Neurons, Network: Comput. Neural Syst., 14, 613:627. Author's PDF, journal's link.
- Delorme, A., Thorpe, S. (2001) Face processing using one spike per neuron: resistance to image degradation. Neural Networks, 14(6-7), 795-804. Author's PDF, Science Direct.
- Delorme, A., Gautrais, J., VanRullen, R., & Thorpe, S.J. (1999). SpikeNET: A simulator for modeling large networks of integrate and fire neurons. Neurocomputing, 26-27, 989-996. Author's PDF, Science Direct.
- Van Rullen, R., Gautrais, J., Delorme, A., & Thorpe, S. (1998). Face processing using one spike per neurone. Biosystems, 48(1-3), 229-239. Author's PDF, Science Direct.
- Delorme, A. (2003) Early Cortical Orientation Selectivity: How Fast Shunting Inhibition Decodes the Order of Spike Latencies. Journal of Computational Neuroscience, 15, 357-365. Author's PDF, journal's link.
- Thorpe, S., Delorme, A., VanRullen, R. (2001) Spike based strategies for rapid processing. Neural Networks, 14(6-7), 715-726. Author's PDF, Science Direct.
- Perrinet, L., Delorme, A., Thorpe, S. (2001) Network of integrate-and-fire neurons using Rank Order Coding A: how to implement spike timing dependant plasticity. Neurocomputing, 38-40(1-4), 817-822. Author's PDF, Science Direct.
- Delorme, A., Perrinet, L., Thorpe, S. (2001) Network of integrate-and-fire neurons using Rank Order Coding B: spike timing dependant plasticity and emergence of orientation selectivity. Neurocomputing, 38-40(1-4), 539-545. Author's PDF, Science Direct.
- VanRullen, R., Delorme, A. & Thorpe S.J. (2001). Feed-forward contour integration in primary visual cortex based on asynchronous spike propagation. Neurocomputing, 38-40(1-4), 1003-1009. Author's PDF, Science Direct.
- Thorpe, S.J., Delorme, A., VanRullen, R., Paquier, W. (2000) Reverse engineering of the visual system using networks of spiking neurons. IEEE International Symposium on Circuits and Systems, 2000, 4, 405 -408. Author's PDF, journal's link.
- Delorme, A., Gautrais, J., VanRullen, R., & Thorpe, S.J. (1999). SpikeNET: A simulator for modeling large networks of integrate and fire neurons. Neurocomputing, 26-27, 989-996. Author's PDF, Science Direct.
SpikeNet is compiled by default for OSX 64 bit and Linux Fedora core.
To recompile SpikeNET. Edit the Makefile file to change the location of the X11 librairies (type "locate X11" on your command line prompt). SpikeNET intentionnaly uses very few external librairies.
cd src
make clean
make
cd ..
This creates an executable named "SpikeNET".
In the main SpikeNET folder type one of the following depending of your platform
./SpikeNET
./SpikeNET_linux
./SpikeNET_osx
Convolution (weights) files for demo and examples
Convolutions
convos40Faces
FaceConvos
MSFaceConvos
Image folder
Images
SpikeNET demo and example model directories
networkdemo40faceslearn
networkdemo40facesrandom
networkdemo40facesrun
networkdemodetection
networkdemodetectionms
network_example_4faceslearn
network_example_4facesoptimize
network_example_orientation
SpikeNET convolution output directory
save_convos
SpikeNET source directory
src
SpikeNET GNU license
license.txt
Arnaud Delorme, February, 17, 2021