Evolving Spiking Neural Networks for Spatio- and Spectro- Temporal Data Analysis: Models, Implementations, Applications
Arguably the most significant challenge in modern machine learning regards how we address the complexities of Spatio- and Spectro-Temporal Data (SSTD); i.e., data with some spatial, spectral, and temporal component. Addressing this issue is of vital importance to our understanding of the world around us.
Traditional machine learning techniques like the Support Vector Machine and Multi-Layer Perceptron struggle with the implicit representation of these characteristics. Typically, traditional ML abstracts away one or more of these components - and with it, a significant proportion of the information implicit in the relationships between place and time in the data. When we begin to look at brain data, seismic data, ecological data - in fact, any SSTD - this information is vital, and abstracting it is to destroy the data.
Instead, we can look to the brain for inspiration. The field of Spiking Neural Networks (SNN) - the mathematical-computational modelling of biological neural networks - provides a theoretical platform for the compact and integrated representation of spatial, spectral, and temporal characteristics in complex data. However, it is complex to design effective SNN which truly capture SSTD dynamics; indeed, this issue has yet to be adequately addressed in the present literature.
To this end, the NeuCube SNN framework has been abstractly established in recent works. Herein, the design and concrete implementation of systems based on this framework, and their practical application on SSTD is addressed. The NeuCube provides a framework for the processing of SSTD, including data encoding, reservoir computing, and classification. Additionally, immersive visualisation tools are introduced to facilitate the extraction of knowledge from the evolution of the model.
Firstly, a design methodology for the creation of NeuCube framework based SNN is introduced, including discussion of how to design reservoirs based on the implicit data structure, and encoding and output devices based on the data and selected application.
A complete software architecture and design philosophy for the implementation of such systems in software is then introduced. A concrete implementation developed in the Python simulator interface library PyNN is presented, including considerations for adaptive network structures and input mappings. This implementation has been developed for cross-platform, massively scalable simulation of NeuCube models.
Subsequently, the considerations for, and an implementation of, this architecture on a number of specialised computational platforms known as neuromorphic hardware is introduced. Neuromorphic hardware is a compact and power-efficient method of implementing SNN based on implementing the biophysical properties of neurons in dedicated circuits. Here is discussed preliminary work in implementing the NeuCube on FPGA, and neuromorphic VLSI systems such as the cxQuad. An implementation of the NeuCube on the SpiNNaker neuromorphic hardware device - a massively scalable digital computation platform - is provided and discussed.
Two primary appendices are attached to this thesis. Firstly, considerations for the design of NeuCube systems for spatio-temporal data are discussed, in the context of neuroinformatics. The most common neuroimaging tools (EEG and fMRI) are introduced here, and considerations for the design of NeuCube reservoirs to process such data is introduced, using the Talairach and Montreal Neurological Institute atlases. Empirical evidence of this system's effectivness on EEG based motor imagery is provided, where the NeuCube outperforms traditional ML techniques.
Secondly, considerations for the design of NeuCube systems in the context of spectro-temporal data are discussed, with a particular emphasis on radioastronomy. Introduced here is a conceptual mapping from spectral characteristics into the spatial structure of the NeuCube reservoir, which is a generalisable system. A proof-of-concept case study for the classification of complex spectro-temporal signals is presented, where it is shown that a NeuCube-based system can identify pulsar signals in synthetic radioastronomy data.
This thesis introduces generalisable design and implementation methodologies for SNN applied to complex SSTD, in the particular context of the NeuCube. Additionally, it provides some empirical evidence towards the efficacy of such methodologies for spatio-temporal and spectro-temporal data, in the context of neuroinformatics and radioastronomy respectively.