slinderman/stats320
STATS320: Statistical Methods for Neural Data Analysis
repo name | slinderman/stats320 |
repo link | https://github.com/slinderman/stats320 |
homepage | |
language | Jupyter Notebook |
size (curr.) | 109252 kB |
stars (curr.) | 84 |
created | 2021-01-05 |
license | |
STATS320: Machine Learning Methods for Neural Data Analysis
Cross-listed as NBIO220 and CS339N Instructor: Scott Linderman Winter Quarter, 2021 Stanford University
Course Description
With modern high-density electrodes and optical imaging techniques, neuroscientists routinely measure the activity of hundreds, if not thousands, of cells simultaneously. Coupled with high-resolution behavioral measurements, these datasets offer unprecedented opportunities to learn how neural circuits function. This course will study statistical machine learning methods for analysing such datasets, including: spike sorting, calcium deconvolution, and voltage smoothing techniques for extracting relevant signals from raw data; markerless tracking methods for estimating animal pose in behavioral videos; state space models for analysis of high-dimensional neural and behavioral time-series; point process models of neural spike trains; and deep learning methods for neural encoding and decoding. We will develop the theory behind these models and algorithms and then apply them to real datasets in the in-class coding labs and final project.
Labs
The course is organized around eight coding labs. Each lab develops a minimal implementation of a state-of-the-art method from scratch in a self-contained Google Colab notebook. These are widely used techniques for analyzing neural and behavioral data, and through the labs you’ll get a deep understanding of how these methods work under the hood:
- A simple spike sorting algorithm [Solutions (upon request)]
- Kilosort: Spike sorting by Deconvolution [Solutions (upon request)]
- CNMF: Calcium deconvolution via constrained NMF [Solutions (upon request)]
- DeepLabCut: Markerless pose tracking with CNNs [Solutions (upon request)]
- DeepRetina: Deep encoding models of retinal spike trains [Solutions (upon request)]
- Kalman Smoothers: Decoding movement from neural data [Solutions (upon request)]
- MoSeq: Autoregressive HMMs for animal movements [Solutions (upon request)]
- SLDS: Switching LDS model of neural data [Solutions (upon request)]
Schedule
The lectures develop the theory behind the methods developed in lab. I’ve organized the course into three units: signal extraction, encoding and decoding, and unsupervised modeling of neural and behavioral data. At the end, you’ll work on a final project in which you will use, explore, or extend the techniques studied in class.
Unit I: Extracting biological signals from raw data
Date | Type | Topic |
---|---|---|
Mon, Jan 11 | Lecture 1 | Course Overview |
Wed, Jan 13 | Lecture 2 | Basic spike sorting |
Fri, Jan 15 | Lab 1 | A simple spike sorting algorithm |
Mon, Jan 18 | MLK Day | |
Wed, Jan 20 | Lecture 3 | Spike sorting by deconvolution |
Fri, Jan 22 | Lab 2 | Spike sorting by Deconvolution |
Mon, Jan 25 | Lecture 4 | Demixing and deconvolving calcium imaging |
Wed, Jan 27 | Lecture 5 | Deconvolution with a point process prior |
Fri, Jan 29 | Lab 3 | Calcium deconvolution via constrained NMF |
Mon, Feb 1 | Lecture 6 | Markerless pose tracking |
Unit II: Encoding and decoding models for neural data
Date | Type | Topic |
---|---|---|
Wed, Feb 3 | Lecture 7 | Encoding and decoding neural spike trains |
Fri, Feb 5 | Lab 4 | Markerless animal pose tracking with CNNs |
Mon, Feb 8 | Lecture 8 | Encoding models of retinal ganglion cells |
Wed, Feb 10 | Lecture 9 | Encoding models of retinal ganglion cells II |
Fri, Feb 12 | Lab 5 | Deep encoding models of retinal spike trains |
Mon, Feb 15 | President’s Day | |
Wed, Feb 17 | Lecture 10 | Decoding neural spike trains |
Fri, Feb 19 | Lab 6 | Decoding movement from neural data |
Unit III: Unsupervised models of neural and behavioral data
Date | Type | Topic |
---|---|---|
Mon, Feb 22 | Lecture 11 | Unsupervised modeling and Expectation Maximization |
Wed, Feb 24 | Lecture 12 | EM amd Hidden Markov models |
Fri, Feb 26 | Lab 7 | Autoregressive HMMs for animal movements |
Mon, Mar 1 | Lecture 13 | Switching linear dynamical systems |
Wed, Mar 3 | Lecture 14 | Variational EM for SLDS |
Fri, Mar 5 | Lab 8 | Switching LDS model of neural data |
Mon, Mar 8 | Lecture 15 | Stochastic RNNs and LFADS |
Wed, Mar 10 | Lecture 16 | Looking forward |
Final Projects
Date | Type | Topic |
---|---|---|
Fri, Mar 12 | Projects | Work on final projects |
Mon, Mar 15 | Projects | Work on final projects |
Wed, Mar 17 | Presentations | Project poster session |
Fri, Mar 19 | Presentations | Project poster session |