3 research outputs found
Spiking neural networks for computer vision
State-of-the-art computer vision systems use frame-based cameras that sample the visual scene as a series of high-resolution images. These are then processed using convolutional neural networks using neurons with continuous outputs. Biological vision systems use a quite different approach, where the eyes (cameras) sample the visual scene continuously, often with a non-uniform resolution, and generate neural spike events in response to changes in the scene. The resulting spatio-temporal patterns of events are then processed through networks of spiking neurons. Such event-based processing offers advantages in terms of focusing constrained resources on the most salient features of the perceived scene, and those advantages should also accrue to engineered vision systems based upon similar principles. Event-based vision sensors, and event-based processing exemplified by the SpiNNaker (Spiking Neural Network Architecture) machine, can be used to model the biological vision pathway at various levels of detail. Here we use this approach to explore structural synaptic plasticity as a possible mechanism whereby biological vision systems may learn the statistics of their inputs without supervision, pointing the way to engineered vision systems with similar online learning capabilities
Towards a Bio-Inspired Real-Time Neuromorphic Cerebellum
From Frontiers via Jisc Publications RouterHistory: received 2020-10-29, collection 2021, accepted 2021-03-24, epub 2021-05-31Publication status: PublishedThis work presents the first simulation of a large-scale, bio-physically constrained cerebellum model performed on neuromorphic hardware. A model containing 97,000 neurons and 4.2 million synapses is simulated on the SpiNNaker neuromorphic system. Results are validated against a baseline simulation of the same model executed with NEST, a popular spiking neural network simulator using generic computational resources and double precision floating point arithmetic. Individual cell and network-level spiking activity is validated in terms of average spike rates, relative lead or lag of spike times, and membrane potential dynamics of individual neurons, and SpiNNaker is shown to produce results in agreement with NEST. Once validated, the model is used to investigate how to accelerate the simulation speed of the network on the SpiNNaker system, with the future goal of creating a real-time neuromorphic cerebellum. Through detailed communication profiling, peak network activity is identified as one of the main challenges for simulation speed-up. Propagation of spiking activity through the network is measured, and will inform the future development of accelerated execution strategies for cerebellum models on neuromorphic hardware. The large ratio of granule cells to other cell types in the model results in high levels of activity converging onto few cells, with those cells having relatively larger time costs associated with the processing of communication. Organizing cells on SpiNNaker in accordance with their spatial position is shown to reduce the peak communication load by 41%. It is hoped that these insights, together with alternative parallelization strategies, will pave the way for real-time execution of large-scale, bio-physically constrained cerebellum models on SpiNNaker. This in turn will enable exploration of cerebellum-inspired controllers for neurorobotic applications, and execution of extended duration simulations over timescales that would currently be prohibitive using conventional computational platforms
Structural plasticity on the SpiNNaker many-core neuromorphic system
Directories: > input_shape_generation: [code] a Jupyter notebook exemplifying the use of functions which generate a few different input shapes (Gaussian, Pointy, Square). The actual functions used when simulating are in the "simulation_run" folder. >results:[data + code] numpy .npz archives with results for various experiments and presented in the eponymous paper. Folder names containing "vs." show results from performing sensitivity analysis. Additionally, each one contains a folder with a long string of alphanumerical characters as a name; within are contained the raw results of the simulations (connectivity, all of the spiking activity, parameters used). Moreover, a processed data set is available. Files with the prefix "batch" contains information about the entire respective batch run, while "batch_analysis" contains all of the results for each respective batch run. Finally, each folder contains a Jupyter notebook revealing the structure of each result archive, how the figures were plotted etc. >simulation_analysis:[code] Python scripts used to analyse raw data, given in individual files or as a batch. For more details type: ``python simulation_statistics.py --help `` >simulation_run:[code] Python scripts used to simulate the network with a variety of parameters. For more details type: ``python topographic_map_formation.py --help `