Student project: Spiking Neural Network (SNN) Topology Evolution for Neuromorphic Architectures and Applications
What you will do
The project proposes to define local and global rules for STDP-based learning to evolve compact SNN topologies with less number of neural elements and synaptic connectivity while increasing the application performance. The project proposes to evolve SNN clusters (within the LSM) using unsupervised STDP based algorithms. A similar approach with the supervised STDP algorithms will be employed for the feed-forward topology SNN classifiers. The application performance is measured using the training and
test data estimation (or classification) accuracy. The proposed algorithms should avoid over-fitting of the SNN to the training dataset while lowering the neural elements and synaptic connectivity.
The target architectural constraints such as neural cluster size and the supported inter- and intra-cluster connectivity also act as inputs to the algorithm. This should result in the evolved clustered SNN application topologies that can be effectively mapped on to the target neuromorphic architecture.
The proposed algorithms should help lower the neural elements and synaptic connectivity in the SNN application topology while increasing the application performance. Lower neural elements and synaptic connectivity directly translates to compact and low power neuromorphic architectures. Studying the evolved SNN application topologies will also help design the efficient synaptic interconnect architecture for neuromorphic architectures.
The project is organised in following phases:
- Biomedical Application Exploration:
- Study biomedical applications ‘heart rate estimation using ECG signals’.
- Define the SNN based application organization (LSM for feature extraction and feed-forward topology classifier as a starting point).
- Define performance criteria for the LSM and classifier stages based on the training and test dataset estimation accuracy.
- Simulation setup:
- Setup the simulations in CARLsim  and C/C++ using CUDA for the ’heart rate estimation using ECG signals’ applicationImplement unsupervised STDP-based learning for the LSM and supervised learning for the feedforward topology classifier.
- Explore Topology Evolution Algorithms:
- Define localised rules to modify/update synaptic connectionsDefine global rules add/delete neural elements based on application performanceDefine methodology to add architectural constraints (neural cluster size and synaptic connectivity).
- Results Comparison and Conclusions: Compare the results with other similar applications and ensure the evolved topologies result in lower neural elements and synaptic connectivity while increasing the performance.
- Publication: Analyse and publish the results as a thesis and a journal or a conference paper.
What we do for you
As a student in the Neuromorphic team you get the chance to contribute in a number of challenges to the design of efficient brain-like chips: scalable, energy-efficient, highly flexible network architectures that can learn with incredible efficiency.
Who you are
- Bachelor’s/Master’s student in Electrical/Electronic/Computer Science.
- Strong programming and debugging skills in C/C++, Python and Matlab, GPU programming (CUDAwith C/C++ and Python).
- Very good understanding of data structures and algorithms.
- Basic understanding of spiking neural networks and machine learning algorithms.
- Ability to develop large scale simulations using the neural network simulator platforms (CARLsim, Caffe, TensorFlow, etc.)
- Good written and verbal English skills.
Click on ‘apply’ to submit your application. You will then be redirected to e-recruiting.
Please be advised that non-EU/EEA country students that are studying outside of the Netherlands, need to have a work-permit to be able to do an internship in the Netherlands.