
Neural coding and dynamics
Our group is interested in better understanding neural codes and dynamics, to learn how the brain computes. Our tools are numerical and theoretical, and our approach is to work closely with collaborators on specific experimental systems.
Coding: In principle, the brain could encode information about a variable in any of myriad ways. The choice of coding scheme sheds light on the computational priorities of the brain in representing that variable. For instance, codes can differ in capacity, ease of readout by downstream areas, noise tolerance, and so on. Understanding a neural code means not only learning what is encoded, but learning the tradeoffs of the coding scheme, to see "why" it was selected.
Error correction: Representations in the brain are necessarily noisy because of the stochastic dynamics of neurons and synapses. If errors remain they will propagate, which can hinder the accuracy and usefulness of computation. Avoiding such problems requires agressive error reduction and correction, but our understanding of how the brain does this is at best primitive. Population coding is one approach to reduce error. We are investigating strong error correcting codes as they may exist in the brain.
Dynamics: What kinds of connectivity patterns are necessary to produce the appropriate output for sequential motor control and neural integration? How robust are such networks to noise and perturbation? What are the developmental and plasticity rules that allow such structures to form? We study these questions through simulation and theoretical investigation of noise, robustness, and learning.We also analyze neural data with a view toward discovering mechanism.