I research machine learning and neuroscience at Meta. During my PhD at Columbia University I analyzed electrical activity in the brain to reverse engineer the algorithms supporting complex behavior. Here are my scientific publications, and here are summaries of select projects:

need for speed in convolutional neural networks Permalink

​I teamed up with the team behind DeepLabCut (covered in The Atlantic), a revolutionary neural network tool for video analysis. Neural nets have been transformative in many domains, but their computational complexity limits their utility on huge datasets. We improved the speed of DeepLabCut up to tenfold, allowing even large datasets to be analyzed with consumer level GPUs. The GIF here shows DeepLabCut tracking mouse movements in my open-source motion tracking system.


cellfie finds cells in microscopy data Permalink

​Neuroscientists use calcium imaging to monitor the activity of large populations of neurons in awake, behaving animals (like in this beautiful example). However, calcium imaging can be very noisy, making neuron identification challenging. I use a two-stage convolutional neural network approach to find neurons in noisy data. I’m collaborating with Eftychios Pnevmatikakis at the Simon’s Foundation to see if this approach combined with standard matrix factorization techniques outperforms current calcium imaging segmentation algorithms.


jumping hurdles to understand the neural control of movement Permalink

While the neural control of some simple types of movement is well understood, how the brain coordinates complex, whole-body behavior remains a mystery. For my PhD research I developed a closed loop system in which mice run on top of a wheel and skillfully leap over motorized hurdles while I record from their brains. I developed a custom linear motion system (shown to the left) along with custom microcontroller software that moves hurdles towards mice at the same speed that mice are running, simulating what it is like to jump over stationary objects. Using my open source motion tracking system I then relate the 3D movements of mice to the activity of neurons that control these movements.


what fish brains tell us about how we move Permalink

With neuroscientists working on topics as diverse as the eyes of flies, the guts of mice, and the neural basis of free will, it’s easy to get the impression that the field is engaged in what Ernest Rutherford (probably, and derisively) called “stamp collecting” - amassing facts about the world without uncovering general principles from which deeper understanding emerges. A nice counter-example comes from Nate Sawtell’s work on electric fish. In an incredible case of convergent evolution, a brain region that helps a strange fish detect electricity bears remarkable similarity to the cerebellum, a motor control brain region in mammals. In this review Nate Sawtell and I argue that both brain regions implement the same underlying algorithm, and we show how it can be leveraged both for sensory processing and the control of movement.


open source motion capture Permalink

New tools keep popping up that allow neuroscientists to record from greater numbers of neurons in the brain. For those of us who wish to understand how the brain controls behavior, we need to make sure our measurements of behavior keep pace with our measurements of neural activity. I designed an open source running wheel for mice that facilitates 3D reconstruction of body pose. This wheel is currently being using by labs around the world. With a single camera, access to a laser cutter, and a small number of parts you can achieve kinematic analyses that previously required thousands of dollars worth of cameras and software.


stop listening to yourself! Permalink

Many neuroscientists fall into one of two camps: those who figure out how the brain controls the body, and those who figure out how the brain processes sensory information. However, some of the coolest stuff occurs at the intersection between sensation and action. For example, how does the brain distinguish sensations generated by our own actions (like the sound of our footsteps) from those caused by things in the world (like the sound of a predator sneaking up to eat you!)? In Nature Neuroscience, we show how a little brain region in mammals tunes out the sounds of animals’ own behavior, potentially enhancing their ability to detect critical sounds from the outside world.”


to measure whisker movements Permalink

Some neuroscientists study sensation, and some study action. However, most animal behavior lies in the murky area between these extremes. The whisker movements mice use to sense their environment illustrate how perception and action are inextricably linked. Chris Rodgers studies such ‘active sensation’ by recording the brains of mice while they explore objects with their whiskers. I worked with Chris to build a convolutional neural network that measures the movements of individual whiskers with high fidelity. This approach avoids the heavy handed feature engineering of previous algorithms and also makes for some really cool videos!


what you don’t see won’t hurt you Permalink

The human brain is a complicated machine. With 100 billion neurons churning away throughout ours lives, it’s unsurprising that some of what goes on under the neural hood occurs without our awareness. With modern neuroimaging techniques we can ask what happens in the brain when we processes information unconsciously. During my undergraduate thesis we presented subliminal images of spiders to people with arachnophobia while scanning their brains. Remarkably, spider images activated emotional centers in the brain without causing feelings of fear. The coolest part? This procedure actually increased phobics’ willingness to interact with a real tarantula, suggesting that techniques like exposure therapy may be effective even when exposure occurs subliminally.


fancy bar plots for hierarchical data Permalink

​Just because your data are terrible doesn’t mean they can’t look great! I often analyze data with complex hierarchical structures. Making nice bar plots that capture relationships in multi-factorial designs can require annoying nested for loops that are difficult to modify. I developed barFancy, a Matlab function that requires only a single tensor as input. It produces pretty bar and/or violin plots with tons of visualization options.


open source scientific signal generator Permalink

Scientists often need to generate temporally precise electrical signals to control devices around the lab (lasers, cameras, current generators, etc). Most signal generators are big, expensive, and difficult to operate. I designed an easy-to-use, open source signal generator - SignalBuddy - that can be made for ~$20 in parts. SignalBuddy has a nice 3D printed enclosure and replaces expensive signal generators in many lab applications.