PhD

I started my masters in Computer Science at the lab in September 2013, and fast-tracked towards a PhD in September 2014. I successfully defended my PhD, titled "Dynamical Systems in Spiking Neuromorphic Hardware", in April 2019. I received my BMath Double Honours in Computer Science and Combinatorics & Optimization from the University of Waterloo, and have had software development internships involving machine learning / big data at companies such as Google, Amazon, and ContextLogic. I also helped start-up the multi-billion dollar company, Wish, by developing their personalization/relevancy algorithms. I now work for Applied Brain Research, as a Senior Research Scientist, helping develop the next generation of spiking neuromorphic algorithms and applications.

My thesis addresses our understanding of how the brain can effectively represent and process dynamic stimuli, while using only spikes to transmit information between its billions of neurons. The Neural Engineering Framework (NEF) is a perfect fit for exploring the range of ways this can be accomplished using biologically plausible spiking neurons and synapses. We have extended the NEF to account for more detailed models of neurons and synapses, in order to deploy the NEF on neuromorphic architectures such as Braindrop and Loihi, and to better understand the class of computations made available in neural substrate. Together, this understanding is being used to build large-scale models that process dynamic stimuli online into structured representations, for use in classification, association, and prediction.

- A neural representation of continuous space using fractional binding
- Dynamical Systems in Spiking Neuromorphic Hardware
- Flexible Timing with Delay Networks – The Scalar Property and Neural Scaling
- Braindrop: A Mixed-Signal Neuromorphic Architecture With a Dynamical Systems-Based Programming Model
- Improving Spiking Dynamical Networks: Accurate Delays, Higher-Order Synapses, and Time Cells
- Nonlinear synaptic interaction as a computational resource in the Neural Engineering Framework
- A Population-Level Approach to Temperature Robustness in Neuromorphic Systems
- A neural model of hierarchical reinforcement learning
- Efficiently sampling vectors and coordinates from the n-sphere and n-ball
- A Spiking Neural Bayesian Model of Life Span Inference
- Analysis of oscillatory weight changes from online learning with filtered spiking feedback
- Methods for applying the Neural Engineering Framework to neuromorphic hardware
- Extending the Neural Engineering Framework for Nonideal Silicon Synapses
- A Spiking Independent Accumulator Model for Winner-Take-All Computation
- Point Neurons with Conductance-Based Synapses in the Neural Engineering Framework
- Efficient SpiNNaker simulation of a heteroassociative memory using the Neural Engineering Framework
- Improving With Practice: A Neural Model of Mathematical Development
- Human-Inspired Neurorobotic System for Classifying Surface Textures by Touch
- Improving with Practice: A Neural Model of Mathematical Development
- Computing with temporal representations using recurrently connected populations of spiking neurons
- A Solution to the Dynamics of the Prescribed Error Sensitivity Learning Rule
- Nengo: A Python tool for building large-scale functional brain models
- Learning large-scale heteroassociative memories in spiking neurons