dynamics-in-neuro-reading-list
dynamics-in-neuro-reading-list copied to clipboard
This reading list is centered around the practical application of linear dynamical systems models to predict neural data
Dynamical Systems (in Neuro) Reading List
Scope:
This reading list is mostly centered around the practical application of linear dynamical systems models to predict neural data.
I’ve marked papers I find to be especially useful with [++] or [+]
see the collapsible version of this list here: [collapsible outline]
Table of Contents:
- Shortlist
- Overviews
- Model types
- State estimations
- System identification
- Software tools
- Control
- Stimulus optimization
- Misc.
Shortlist - " I only have time to read 5 papers"
[++] "A new look at state-space models for neural data" (2010) Paninski et al.
[++] "Empirical models of spiking in neural populations " (2011) Macke et al.
[++] "Selective modulation of cortical state during spatial attention" (2016) Engel et al.
- [Supplement] contains excellent methods details, including comparison of HMM to GPFA, and measuring performance as a function of number of discrete states
[++] "Dynamic Analysis of Neural Encoding by Point Process Adaptive Filtering" (2004) Eden et al.
[+] "Multiscale modeling and decoding algorithms for spike-field activity" Hsieh … Shanechi
ldsCtrlEst: dynamical system estimation & control library - Stanley Rozell labs:[docs] [code]
- primarily focused on implementing dynamical systems within systems neuroscience experiments
High Level - Overviews, Reviews, Tutorials
[++] "A new look at state-space models for neural data" (2010) Paninski et al.
"State-Space Models for the Analysis of Neural Spike Train and Behavioral Data" (2016) Chen & Brown
-
see also: SSPPF - a kalman filter for point-process / spiking
-
[++] "Dynamic Analysis of Neural Encoding by Point Process Adaptive Filtering" (2004) Eden et al.
-
"Estimating a state-space model from point process observations" (2003) Smith, Brown
-
[+] "State-Space Models" (2013) scholarpedia page by Chen & Brown
-
discusses model variants, fitting, applications
-
has lots of great references
[+] Neuromatch Tutorial: Dynamical Systems in Neuro.
- video lectures + slides
- accompanying python tutorial
- See also a Brain Inspired podcast episode with some of the experts from that course
Tutorial: Statistical models for neural data - Jonathan Pillow [part 1] [part 2] [slides] [code]
"STATS320: Machine Learning Methods for Neural Data Analysis" course by Scott Linderman
-
includes code labs:
"Math Tools for Neuroscience" - Ella Batty
-
video lectures & code tutorials
-
great visual explanations
-
see especially: Intro to dynamical systems
"Introduction to Dynamical Systems" lecture by Stephen Boyd
additional tutorials on dynamical systems (unvetted)
-
Tutorial on Dynamical Systems by Dean, Leach, Shatkay @ Brown University
-
Dynamical Systems Tutorial by Gregor Schöner
State-space, dynamical systems model types commonly used in neuro
Note: Most of these approaches fall under the umbrella of “state space models” (SSM)
-
(see high-level section)
-
This list was assisted / inspired by tables I saw at COSYNE, I believe from Adam Calhoun and Memming Park
-
See [[Dimensionality reduction in neural data analysis]] by Patrick Minaeult for a broad and well-motivated discussion of techniques for dimensionality reduction (including dynamical systems) including a recap of taxonomies of models assembled by Cunninham, Park, and Hurwitz et al.
Gaussian Process Factor Analysis (GPFA)
-
primarily used for dimensionality reduction
-
[++] "Gaussian-process factor analysis for low-dimensional single-trial analysis of neural population activity" (2009) Yu et al.
-
"Temporal alignment and latent Gaussian process factor inference in population spike trains" Duncker & Sahani
Hidden Markov Models (HMM)
-
[++] "Hidden Markov Models for the Stimulus-Response Relationships of Multistate Neural Systems" Escola et al.
- extensive, tutorial style paper
-
[++] "Selective modulation of cortical state during spatial attention" (2016) Engel et al.
- [Supplement] contains excellent methods details, including comparison of HMM to GPFA, and measuring performance as a function of number of discrete states
-
"Lecture 12: EM and Hidden Markov Models" - Linderman
-
from Machine Learning Methods for Neural Data Analysis
-
also covers Gaussian (obsv.) HMM
-
-
HMM + guassian observation (GaussianHMM)
-
matlab [code] +[notes] (covers HMM, gHMM, GMM-HMM) - by Qiuqiang Kong
-
HMM + mixture of gaussian observations (GMM-HMM)
- "HMM & gaussian mixture models" lecture notes by Shimodaira & Renals
-
linear dynamical systems (LDS)
-
Gaussian observations (GLDS)
-
Poisson observations (PLDS)
-
[++] "Empiricalmodelsof spiking in neural populations" (2011) Macke et al.
-
fitting toolbox:
-
pop_spike_dyn:This repository contains different methods for linear dynamical system models with Poisson observations.
- example script: PLDSExample.m
-
-
-
generalized count (GC LDS) and nonlinear function (fLDS)
-
Switched dynamical systems (SLDS) - switches between multiple LDS models to capture distinct regimes of dynamical behavior
-
[+] "Dynamical segmentation of single trials from population neural data" Petreska et al.
-
Recurrent SLDS (rSLDS)
-
“The recurrent SLDS introduces an additional dependency between the discrete and continuous latent states, allowing the discrete state probability to depend upon the previous continuous state” - Linderman
-
[++] "Recurrent switching linear dynamical systems" Linderman et al.
-
"Recurrent Switching Linear Dynamical Systems for Neural and Behavioral Analysis" talk by Linderman
-
-
nonlinear / nonparametric / variational approaches (vLGP, LFADS)
-
variational latent gaussian process (vLGP)
-
Variational Inference for Nonlinear Dynamics (VIND)
-
"Blackboxvariational inference for state space models" (2015) Archer et al.
-
"A Novel Variational Family for Hidden Nonlinear Markov Models" (2018) Hernandez et al.
-
-
Latent Factor Analysis via Dynamical Systems (LFADS)
-
[++] "LFADS - Latent Factor Analysis via Dynamical Systems" Sussillo et al. [code & documentation]
-
LFADS tutorial from the "Computation through Dynamics" group
- "Inferring single-trial neural population dynamics using sequential auto-encoders" Pandarinath et al.
-
-
See also: Recurrent Neural Networks (RNN)
- "Recurrent Neural Networks" Lecture slides & references by Adam Willats
(Latent-state) estimation in neuro
see also: SSPPF - a kalman filter for point-process / spiking
-
[++] "Dynamic Analysis of Neural Encoding by Point Process Adaptive Filtering" (2004) Eden et al.
-
"Estimating a state-space model from point process observations" (2003) Smith, Brown
estimation from spikes + local field potentials (LFP)
- [+] "Multiscale modeling and decoding algorithms for spike-field activity" Hsieh … Shanechi
System identification - fitting LDS models:
overviews:
-
“System Identification” Lennary Ljung - canonical text on system ID, author is the architect of MATLAB’s sys ID toolbox
-
"Nonlinear System Identification: A User-Oriented Roadmap" Schoukens & Ljung
-
-
Overview by S.Brunton - "Data-Driven Control: Linear System Identification"
-
Lecture notes by K.Pelckmans "System Identification"
-
"Subspace Identification for Linear Systems" (1996) Van Overschee & De Moor
-
"System Identification Methods" by Brian Douglas, a practical, control-focused overview in easy-to-understand terms
- see also "Modeling Physical Systems, An Overview"
-
"System Identification - Data-Driven Modelling of Dynamic Systems" - Paul Van den Hof
application in neuro:
-
"Estimating state and parameters in state space models of spike trains" Macke, Buesing, Sahani
-
chapter in “Advanced State-Space Methods for Neural and Clinical Data”
-
Subspace-ID for GLDS
-
Subspace-ID for PLDS
-
-
"Spectral learning of linear dynamics from generalised-linear observations with application to neural population data" Buesing, Macke, Sahani
- see also:
-
"Extracting low-dimensional dynamics from multiple large-scale neural population recordings by learning to predict correlations" Nonnenmacher et al.
-
"Blackboxvariational inference for state space models" (2015) Archer et al.
-
"Variational EM for SLDS (switching linear dynamical systems)" Lecture by Linderman
contstrained & regularized LDS identification
-
[++] "Learning stable, regularised latent models of neural population dynamics" Buesing, Macke, Sahani
-
"A Regularized Linear Dynamical System Framework for Multivariate Time Series Analysis" Liu and Hauskrecht
-
"Identification of stable models in subspace identification by using regularization" Gestel et al.
-
"Learning Linear Dynamical Systems from Multivariate Time Series: A Matrix Factorization Based Framework" Liu and Hauskrecht
Software tools for dynamical systems
useful functions in MATLAB
-
ss()to build modelsrss()to generate random models
-
ssest()andssregest()to fit models-
modred()to reduce model order- see also
balred(), Model Reducer app
- see also
-
-
eig,pzmapfor inspecting eignevalues (and eigenvectors) of a system
Other software for dynamical system modeling (mostly Python)
-
ldsCtrlEst: dynamical system estimation & control library - Stanley Rozell labs:[docs] [code]
- primarily focused on implementing dynamical systems within systems neuroscience experiments
-
hmm: generation & decoding of hidden markov models [docs] [code]
-
pmtk3: probabilistic machine learning
- usupported as of 2019, succeeded by PyProbML
-
"SSM: Bayesian learning and inference for state space models" [ink]
-
Additional
-
GLMSpikeTools: Fitting and simulation of Poisson generalized linear model for single and multi-neuron spike trains [link]
-
pop_spike_dyn:This repository contains different methods for linear dynamical system models with Poisson observations.
- example script: PLDSExample.m
-
- may be redundant with lindermanlab/ssm
-
SSIDforPLDS: Subspace Identification for Poisson Linear Dynamical system
-
poisson-gpfa: Gaussian process factor analysis with Poisson observations - Macke Lab
-
hmmlearn: set of algorithms for unsupervised learning and inference of Hidden Markov Models
- see also seqlearn: sequence learning toolkit for python
-
autohmm: packages provides an implementation of Hidden Markov Models (HMMs) with tied states and autoregressive observations, written in Python
-
resources for understanding dynamical systems in control
UMich - Control tutorials for MATLAB and Simulink
- these controls tutorials by UMich are excellent, and involve some discussion of state-space representation of dynamical systems
Feedback Systems: An Introduction for Scientists and Engineers - by Åström and Murray
- Python Control Systems Library a toolbox for analysis and design of feedback control systems as well as demos for several exercises from "Feedback Systems" mentioned above
Nonlinear control lectures - Slotine @ MIT
-
good at bridging the intuitive and mathematical concepts
-
topics include:
-
stability analysis (of nonlinear, time-varying systems)
-
robust & adaptive control
-
Chapter 3: Dynamics, of “Control System Design” by Karl Astrom is excellent.
- see also: "Chapter 2. System Modeling" from “Feedback Control” by Karl Astrom
"Linear Matrix Inequalities in System and Control Theory" by Stephen Boyd
- excellent for constrained controller design
experimental design / (model-based) stimulus optimization
"Automating the design of informative sequences of sensory stimuli" Lewi et al.
“Statistical models for neural encoding, decoding, and optimal stimulus design.” Paninski, Pillow, Lewi
Other reference lists:
Siplab Dynamics Zotero group (please email to request access):
Some slides on interpretation of neural systems as dynamical systems which compute are presented here:
High-level references for understanding dynamics in neuro
-
"Neural circuits as computational dynamical systems" (2014) Sussillo
-
“Latent Factors and Dynamics in Motor Cortex and Their Application to Brain–Machine Interfaces“ (2018) Pandarinath et al.
-
"Neural field models for latent state inference: Application to large-scale neuronal recordings" (2019) Rule et al.
-
“Computation through Neural Population Dynamics” (2020) Vyas et al.
Textbooks
-
Neuronal Dynamics- Gerstner et al.
-
Has video lectures and python exercises
-
Covers a lot of math very clearly
-
-
“Data Driven Science & Engineering Machine Learning, Dynamical Systems, and Control" Brunton & Kutz
-
"Probabilistic Machine Learning" - a book series by Kevin Murphy
-
has an associated codebase of tools: https://github.com/probml/pyprobml/
- prior toolbox:
-
-
Nonlinear Dynamics and Chaos - Strogatz
-
“Neuroscience” (2004) Purves et al