Behaviorally relevant signals are often represented in neural population dynamics, which evolve on a low-dimensional manifold embedded into a high-dimensional space of neural responses. Revealing population dynamics from spikes is challenging because the dynamics and embedding are nonlinear and obscured by diverse and noisy responses of individual neurons. For example, the decision-related activity of single neurons was hypothesized to arise from either gradual ramping or abrupt stepping dynamics on single trials, but selection between these alternatives is brittle due to the diversity of neural responses. Moreover, ramping and stepping are impoverished hypotheses for heterogeneous decision-related neural populations. We need frameworks that can flexibly identify neural dynamics from data.
We developed a flexible framework for inferring neural population dynamics from spikes. In our framework, latent population dynamics are controlled by a potential function that can take arbitrary shape, spanning a continuous space of hypotheses. The activity of individual neurons is related to the population dynamics through unique firing-rate functions, which account for the heterogeneity of neural responses. The potential and firing-rate functions are inferred from data. On simulated neurons, our framework correctly recovered the ramping and stepping models, which correspond to linear and three-well potentials, respectively. We applied the framework to neural activity recorded from the macaque dorsal premotor cortex (PMd) during a decision-making task. The inferred potential revealed dynamics that evolve gradually towards the correct choice but have to overcome a potential barrier towards the incorrect choice, inconsistent with the simple hypotheses proposed previously. Our results demonstrate that a flexible approach can discover new hypotheses about population dynamics from data.
The tutorial will provide hands-on experience with optimization and model selection using synthetic spike data. We will offer 3-6 exercises in google CoLab (no installation required) using our Python package NeuralFlow available on GitHub (https://github.com/engellab/neuralflow).