Spike Based Bayesian Inference with Particle Filters

Participants: Andreas Andreou, Daniel Mendat, Alejandro Pasciaroni, Michael Pfeiffer, Shih-Chii Liu, Daniel Neil, Amir Khosrowshahi

One of these projects is to perform Bayesian Inference by performing Neural Sampling on the SpiNNaker boards. The technique is described in the 2011 paper by Dejan Pecevski, Lars Buesing, and Wolfgang Maass called Probabilistic Inference in General Graphical Models through Sampling in Stochastic Networks of Spiking Neurons. However, we'd like to explore how well this software architecture can be implemented on the SpiNNaker hardware and how well it performs (both in terms of runtime and power). During the workshop the algorithm was implemented on the small SpiNNaker board, but it needs to be further parallelized in order to really see how well it works.

A GUI has also been implemented in MATLAB to facilitate running the inference algorithms on a simple network. Once things are optimized further, an automated workflow will be developed so that arbitrary discrete Bayesian networks can be implemented in this fashion automatically.

On of the other project, is the implementation of the particle filter as an spiking neurons array. The particle filter algorithm is an iterative algorithm described in the following techinal report: "A particle filter tutorial for Robot Mobile Localization TR- CIM-04-02" The Nengo Software was choosen to implement and simulate it making use of the NEF framework. The most challenge part is the implementation of the resampling step, which involves a sequential neuron activity transfer from one population to another depending on the comparison between the value associated to each particle. During the workshop all the paritcle filter steps were implemented but resampling step has an oscillation problem due to feedback loops involved at the activity transfers. Further work will be focused on the improvement of the finite state machine utilized to perform these sequential transfers.