Click here for the full PDF of my thesis. (2.4MB)
Modeling Early Vision: Probabilistic Computation Using Spiking Neurons, Population Codes, and CUDA
Master's thesis presented by Dan Coates to the Portland State University Computer Science Department, 2009.
Advisor: Melanie Mitchell
With committee member: Dan Hammerstrom
Networks of spiking neurons are gaining popularity among
neuroscientists for their ability to accurately model biological
behavior. From a theoretical standpoint, this abstraction has rich
computational power, with many simple nodes and a unique binary
communication channel. Although these networks offer a promising new
computing paradigm, the question of how to reliably harness their
power remains unsolved.
To explore the practical capabilities of spiking neuronal networks, I
have implemented an established model of the visual cortex from
neuroscience literature. This model leverages notions from
biologically-inspired image processing, providing a benchmark task of
edge detection in a small grayscale bitmap. To facilitate the multiple
trials and network sizes required for my experiments, I parallelized
the algorithm for concurrent execution on multiple core hardware.
Compute Unified Device Architecture (CUDA) is a new architecture for
parallel programming using graphics processing cards (GPUs) with many
dozens of cores. A straightforward CUDA port achieves 20x speedup
compared to the single core CPU version.
A key feature of the particular model I implemented is that the
computations it performs are statistical in nature, with
calculations inherently distributed throughout the population of
overlapping nodes. This characteristic lends a natural robustness to
the network operation, but interpretation of the functional results is
an open problem. Utilizing concepts from signal detection theory and
machine learning, I demonstrate estimation of a numerical value from
the spike output of the network of neurons, a task that parallels
efficient signal transmission with an array of noisy binary units.