Supporting Data and Software for Event-based computation: Unsupervised elementary motion decomposition
Description of this data
We show that the presented architecture allows for unsupervised learning; that synaptic rewiring enhanced to initialise synapses by drawing from a distribution of delays produces more specialised neurons for the task of motion decomposition; and that a pair of readout neurons is sufficient to correctly classify the input based on the target layer's activity using rank-order encoding, rather than spike-rate encoding.
|--- simulation_statistics --> analysis scripts and pre-processed simulation results
---|-- preproc --> pre-processed simulation results
---|-- moving_bar_simulations --> training and testing results for motion learning phase
---|-- readout_simulations --> training and testing results for readout phase
---|-- spiking_moving_bar_input --> moving bar spiking input used throughout
|--- spinnaker_software --> snapshot of SpiNNaker software used to generate the presented results
Experiment data files
results that are the basis for the preprocessing and analysis resulting in the reported figures and values. These networks are trained and tested with STDP and Structural Plasticity on SpiNNaker
results that are the basis for the analysis resulting in the reported figures and values concerning readout neuron performance. These networks are trained and tested with STDP on SpiNNaker using the trained network in moving_bar_simulations
Steps to reproduce
1.Install SpiNNaker tools from the attached archive or from the GitHub repository(python 2.7)
2.Change all branches to, in this order of priority:
structural_plasticity (where available) --deprecation iminent due to plannned inclusion in the next software release.
3.For training run (see available parameters by typing
python random_delays_drifting_gratings.py --help; NOTE 1: In order to run these commands, a SpiNNaker board MUST be available, either on site or remotely. NOTE 2: this simulation takes at least 5 hours (
--no_iterations 19200000 ms))
python random_delays_drifting_gratings.py -o random_delay_smax_128_gmax_1_192k_sigma_7.5_3_angle_0_90 --s_max 128 --g_max 0.1 --no_iterations 19200000 --sigma_form_ff 7.5 --sigma_form_lat 3 --t_record 200000 --training_angles 0 90
4.For testing run (*NOTE*: In order to run these commands, a SpiNNaker board MUST be available, either on site or remotely.):
python random_delays_drifting_gratings.py --testing random_delay_smax_128_gmax_1_192k_sigma_7.5_3_angle_0_90 --s_max 128 --g_max 0.1 --no_iterations 19200000 --sigma_form_ff 7.5 --sigma_form_lat 3 --t_record 200000 --training_angles 0 90
- For training and testing the readout neurons (NOTE: In order to run these commands, a SpiNNaker board MUST be available, either on site or remotely.):
python readout_topographic_map.py random_delay_smax_128_gmax_1_192k_sigma_7.5_3_angle_0_90 --unsupervised
- Moving bar analysis is done by first pre-processing the results of the previous simulations using
moving_bar_analysis.pyon the resulting file.
python moving_bar_statistics.py synaptogenesis/testing_random_delay_smax_128_gmax_1_192k_sigma_7.5_3_angle_0_90
- Readout analysis is done via the
readout_analysis.pyscript. Some naming assumptions exist here: the file name that needs to be provided here is the one resulting from training using structural plasticity (here,
random_delay_smax_128_gmax_1_192k_sigma_7.5_3_angle_0_90) followed by a relevant suffix, if any.
Cite this dataset
Bogdan, Petruț Antoniu; Pineda-Garcia, Garibaldi; Davidson, Simon; Hopkins, Michael; James, Robert; Furber, Steve B. (2019), “Supporting Data and Software for Event-based computation: Unsupervised elementary motion decomposition”, Mendeley Data, v1 http://dx.doi.org/10.17632/wpzxh93vhx.1
The files associated with this dataset are licensed under a Creative Commons Attribution 4.0 International licence.