Neural network implementation in neuromorphic hardware for unsupervised learning of MNIST digits

alternate text

We are interested in using neuromorphic computing systems as a low-power realtime neural network inference engine in order to study the ability of neural networks to learn re-occuring patterns in realtime sensory inputs.
In this project the student will implement a neural network on a neuromorphic device that should learn to classify MNIST digits in an unsupervised way. The neuromorphic processor in use, namely the Reconfigurable OnLine Learning System (ROLLS) [1], comprises 256 reconfigurable silicon neurons, whose synapses are implemented with a long-term plasticity mechanism. Images of digits will be transformed into frequency patterns to stimulate plastic synapses, resulting in either long-term depression or potentiation. The learning rule and the synaptic efficacy can be modified by changing the circuit biases in order to obtain the desired behavior. The student can implement and validate different types of neural networks by configuring the neurons recurrently with excitatory or inhibitory synapses. A ‘soft’ Winner-Take-All network can be particularly useful for clustering.
Depending on the extent of the project, digit images might be presented to a dynamic vision sensor (DVS), sending events of pixel changes directly to the ROLLS chip to stimulate its synapses. Artificial neurons will then learn a digit classification in real-time directly from noisy sensor data.

[1] Qiao, Ning, et al. "A reconfigurable on-line learning spiking neuromorphic processor comprising 256 neurons and 128K synapses." Frontiers in neuroscience 9 (2015).

Requirements

Programming experience or wish to learn (C/C++ or Python); Interest in neuronal systems (biological or artificial).
Project level: Semester project, Bachelor or Master thesis.

Contact

raphaela.kreiser (at) uzh.ch, yulia.sandamirskaya (at) ini.uzh.ch