Building spiking neural network models in GeNN
Create a model consisting of a population of Izhikevich neurons with heterogeneous parameters, driven by a stimulus current. Simulate and record state variables.
Create a simple balanced random network with two, sparsely connected populations of leaky integrate-and-fire neurons. Simulate and record spikes.
Perform MNIST inference by converting a pre-trained ANN to an SNN
Presenting a single image
Create a simple three layer network of integrate-and-fire neurons, densely connected with pre-trained weights. Present a single MNIST image and visualise spiking activity.
Classifying entire test set
Present entire MNIST test set to previous model and calculate accuracy.
Improve classification performance
Use parallel batching and custom updates to improve inference performance by over 30x compared to previous tutorial.
Insect-inspired MNIST classification
Train a model of the insect mushroom body using an STDP learning rule to classify MNIST.
Create the first layer of Projection Neurons
which convert input images into a sparse temporal code.
Add a second, randomly-connected layer of Kenyon Cells
to the model.
Kenyon Cell gain control
Add recurrent inhibition circuit, inspired by Giant GABAergic Neuron
in locusts, to improve sparse coding of the Kenyon Cells.
Mushroom Body Output Neurons
Add Mushroom Body Output Neurons
with STDP learning and train model on MNIST training set.
Create a simplified copy of the model without learning, load in the trained weights and calculate inference accuracy on MNIST test set.