Semester Project/Masters Thesis: Modelling event-based and analog VLSI SNNs using Julia
This Master’s thesis aims at tackling an important and fascinating challenge: Development of a Julia-based spiking neural network (SNN) simulator that can model different types of integrate-and fire neural dynamics, ranging from standard leaky integrate-and-fire (LIF) neuron equations to Adaptive Exponential (AdExp) ones, to more elaborate variants that model analog VLSI silicon neuron implementations. The objective of this project is to create a flexible and versatile simulation tool that can be adapted to various models of neurons and synapses. The project will involve implementing the necessary code for simulating SNNs and testing the simulator's performance on benchmark dataprocessing pipelines. The results of this project will contribute to advancing the field of SNN simulation and provide a valuable tool for researchers working in this area.
Background and Motivation: Spiking Neural Networks (SNNs) offer a solution to dynamic signal processing with inherent temporal dynamics and sparse communications, making them more suitable for low-power processing tasks. To advance the status-quo, it is crucial to have a reliable emulator that can effectively test and validate different hardware compatible SNN models before intregrating and transferring them to silicon hardware. Previous attempts using Python and BRIAN 2 neural library resulted in a circuit-inspired neural dynamics model that exhibited significant time penalties, especially for complex neural models. Therefore, your contribution to the development of a fast and reliable emulator (with help of the Julia programming language) that can efficiently simulate both theoretical and silicon neuron equations will be an essential tool for the group's rapid prototyping of models and future transference to true hardware. This project offers an exciting opportunity to work on cutting-edge technology that has the potential to transform the field of intelligent systems, and your contribution can help accelerate this progress.
Approach: We will attempt to develop circuit equations-backed neural models that closely mimic both the stand neural models and the actual neural responses of silicon neuron circuits. We will use a relatively new programming language called Julia to develop a fast and GPU-compatible framework that can be used to create neural networks running realistic LIF & AdExp neural dynamics with the circuit synapses described before.
Tasks involved in this project:
• Develop a neuromorphic system emulator with Julia-backed neural dynamics modeling
• Develop algorithmic methods to increase the proficiency of the developed models
• Create a comparative analysis of the models against the actual processor
• Investigate the impact of analog non-idealities (limited bit-precision, noise, and device non-linearities) and find ways to integrate into the developed models
Your profile:
• Interest in neuroscience questions
• Strong programming skills (in Python or MATLAB, knowledge of Julia is preferred).
• Knowledge of neural models (and differential equations)
• Passing knowledge of Brain 2 or other spiking neural network modeling-based libraries
• Willing to have hands-on experience
The student is expected to have a good understanding of spiking recurrent neural networks
and network dynamics. The project will make extensive use of Python and Julia code and VS
Code/Jupyter notebooks.
Project level: The project can start immediately as a semester/master project, or (preferred) as a master thesis
Contact
Saptarshi Ghosh : sapta (at) ini.uzh.ch
Prof. Dr. Giacomo Indiveri : giacomo (at) ini.uzh.ch