Swipe Right to Spike
Analysis and modeling of spiking neurons
2019-01-08
#isiCNI2019
Slides and problem set:
https://github.com/rkp8000/imbizo_2019_spikes_tutorial
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Hubel and Wiesel 1959
Hubel and Wiesel 1959 https://www.youtube.com/watch?v=8VdFf3egwfg
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Vout
Extracellular
V Typical resting Vm = Vrest ~ -70 mV
Intracellular
Vin
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
~1 ms
Vout
Extracellular Vm ↑ = depolarization
Vm (mV)
Vm ↓ = hyperpolarization
t (ms)
V
~ -40 mV
Vth
Intracellular Vrest
Vin
~ -70 mV
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
2 sec
Bryant and Segundo, 1976.
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
2 sec
Bryant and Segundo, 1976.
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
2 sec
Bryant and Segundo, 1976.
Spike generation and detection
Membrane potential = voltage diff across neuron membrane: Vm = Vin - Vout
Action potential = spike = rapid increase and decrease in neuronal membrane potential.
000001000000000000 10000000000000000 10000000100000000000 10000000000 1000010001000
Bryant and Segundo, 1976.
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Spiking basics: raster plots and PSTHs
How repeatable are spike trains?
Spiking basics: raster plots and PSTHs
2 sec
Bryant and
Segundo,
1976.
Spiking basics: raster plots and PSTHs
Raster plot
trial
time
Bryant and
Segundo,
1976.
Spiking basics: raster plots and PSTHs
ADC
Gao, Deangelis,
Burkhalter 2010
Spiking basics: raster plots and PSTHs
ADC
How do you summarize a raster plot?
Spiking basics: raster plots and PSTHs
ADC
stim
trial
firing rate
(Hz)
peristimulus time histogram
time
Spiking basics: tuning curves
How do spike responses depend on stimulus?
Spiking basics: tuning curves
preferred
direction
Hubel and Wiesel, 1968
Spiking basics: tuning curves
Trial 1 2 3 ...
0 0 0 ...
2 1 3 ...
6 8 5 ...
preferred
direction 20 23 18 ...
spike counts
10 7 8 ...
...
Hubel and Wiesel, 1968
Spiking basics: tuning curves
firing rate (Hz)
20
10
0
0 90 180 270
o
θ( )
preferred
direction
Hubel and Wiesel, 1968
Spiking basics: tuning curves
firing rate (Hz)
20
10
0
0 90 180 270
o
θ( )
preferred
direction
Hubel and Wiesel, 1968
Spiking basics: tuning curves
firing rate (Hz)
20
cell 1 10
0
0 90 180 270
o
θ( )
firing rate (Hz)
preferred 20
cell 2
direction 10
0
0 90 180 270
o
θ( )
firing rate (Hz)
20
cell 3 10
0
0 90 180 270
o
θ( )
Hubel and Wiesel, 1968
Spiking basics: the inter-spike interval distribution
Unless all inputs fixed, spike times generally quite variable: what distribution underlies this variability?
“Most random” spiking = Poisson-distributed spike counts (all spikes conditionally independent given rate).
ISI
r = 10 Hz:
T = 0.5 s T=1s T=3s
Spiking basics: the inter-spike interval distribution
Unless all inputs fixed, spike times generally quite variable: what distribution underlies this variability?
“Most random” spiking = Poisson-distributed spike counts.
r = 10 Hz:
T = 0.5 s T=1s T=3s
Spiking basics: the inter-spike interval distribution
Q: What type of firing pattern yields the ISI distribution below?
A: Burst firing.
Szűcs et al. 2003
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Spiking neuron models
Hodgkin-Huxley
model
Vm
t
Realistic neuron
morphology!
Can we simplify?
Spiking neuron models: the leaky integrate-and-fire (LIF) neuron
discretize
Abbott 1999
Spiking neuron models: modeling synapses (starting point for spiking networks)
Presynaptic spikes as sum of delta functions
Current-based synapses Conductance-based synapses
single presynaptic single presynaptic
multiple presynaptic
multiple presynaptic?
(problem 6)
Problem set part 1
https://github.com/rkp8000/imbizo_2019_spikes_tutorial
problems_1.ipynb
(Scientific Python tutorial)
(https://github.com/rkp8000/imbizo_2019_python_tutorial)
General neural response models
ADC
What if we don’t want to model current directly?
General neural response models
Approach:
Assume neuron cares about specific stimulus features.
A
D
C
Interlude: Linear filtering
Given a time-series (or image, movie, etc), how do we look for specific “features”?
~0 >> 0
Answer:
h
1. Create “filter” with same shape as target feature.
t
2. Slide filter along time-series and take inner product T 0
with windowed time-series.
Interlude: Linear filtering
Given a time-series (or image, movie, etc), how do we look for specific “features”?
Interlude: Linear filtering
Discretization:
Interlude: Linear filtering
Common linear filter computations:
Moving average Leaky moving average Differentiator
h h h
t t t
Spiking neuron models: the linear-nonlinear-Poisson (LNP) neuron
Spiking neuron models: the linear-nonlinear-Poisson (LNP) neuron
Scalar stim, single
filter
Vector stim,
single filter
Scalar or vector stim,
multiple filters
Spiking neuron models: the generalized linear model
Paninski 2004
Pillow 2008
How can we account for spike history?
Introduce “spike-history” filter hy(t).
Spiking neuron models: the generalized linear model
GLMs can reproduce a wide diversity of behaviors.
Weber and Pillow 2016
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Spike train analysis: how do we identify filters?
ADC
Spike train analysis: how do we identify filters?
filter nonlinearity spike generation
? ?
Spike train analysis: the spike-triggered average
Approach:
Identify average stimulus pattern preceding spike.
Spike train analysis: the spike-triggered average
...
Spike-triggered average (STA)
(.129, -.053, ..., -2.73, 1.33)
Spike-triggered
(-1.93, 1.22, ..., -1.88, 0.76) ensemble
...
(-0.34, 0.63, ..., -1.91, 0.97)
Spike-triggered average
Spike train analysis: the spike-triggered average
filter nonlinearity spike generation
?
Spike train analysis: the spike-triggered average
filter nonlinearity spike generation
?
p(spike=1|s0)
p(s0|spike=1)
p(s0)
Spike train analysis: the spike-triggered average
filter nonlinearity spike generation
p(spike=1|s0)
p(s0|spike=1)
p(s0)
Spike train analysis: the spike-triggered average
Will spike-triggered average always be informative?
Spike train analysis: spike-triggered covariance analysis
STA not very interesting. What next?
Spike train analysis: spike-triggered covariance analysis
STA asks how first-order structure of
spike-triggered ensemble differs from prior.
...
(.129, -.053, ..., -2.73, 1.33) Now ask: how does second-order structure of
Spike-triggered spike-triggered ensemble differ from prior?
(-1.93, 1.22, ..., -1.88, 0.76) ensemble
Recall:
...
first-order structure = mean
second-order structure = covariance
Spike train analysis: spike-triggered covariance analysis
Key idea:
...
1. Calculate covariance Kspk of spike-triggered
(.129, -.053, ..., -2.73, 1.33) ensemble.
Spike-triggered 2. Calculate covariance Kpr of prior ensemble.
(-1.93, 1.22, ..., -1.88, 0.76) ensemble 3. Ask: where do Kspk and Kpr differ most?
...
Spike train analysis: spike-triggered covariance analysis
...
(.129, -.053, ..., -2.73, 1.33)
Spike-triggered
(-1.93, 1.22, ..., -1.88, 0.76) ensemble
...
Spike train analysis: spike-triggered covariance analysis
Spike train analysis: spike-triggered covariance analysis
How should we quantify
structure of Kdiff?
Eigenvectors!
1 “mode” of interest
Spike train analysis: spike-triggered covariance analysis
How should we quantify
structure of Kdiff?
Eigenvectors!
1 “mode” of interest
Top mode of Kdiff
Spike train analysis: spike-triggered covariance analysis
filter nonlinearity spike generation
?
1 “mode” of interest
Top mode of Kdiff
Spike train analysis: spike-triggered covariance analysis
filter nonlinearity spike generation
?
Spike train analysis: spike-triggered covariance analysis
filter nonlinearity spike generation
?
p(s0) p(spike=1|s0)
p(s0|spike=1)
Spike train analysis: spike-triggered covariance analysis
filter nonlinearity spike generation
Spike train analysis: spike-triggered covariance analysis
Can also have multiple top eigenmodes yielding multiple filters.
Scalar or vector stim,
multiple filters
Spike train analysis: spike-triggered covariance analysis
Salamander retinal
ganglion cells
Fairhall et al. 2006
Spike train analysis: generalized linear models
spike
stim filter nonlinearity generation spike train generation
spikes
history filter
maximum likelihood model fitting
Paninski 2004
Pillow 2008
Weber and Pillow 2016
Outline
● Review of action potentials.
● Basic spike train analysis.
● Spiking neuron models.
● Short problem set time.
● Advanced spike train analysis.
● Other spike-based concepts.
● Full problem set time.
Spike train analysis: information in spikes
How much information do spikes contain about stim?
How much information do models capture?
For well sampled stim, can compute mutual info
between stim and spike from spike rate alone.
Brenner 2000
Aguera y Arcas, Fairhall, and Bialek 2003
Spike train analysis: information in spikes
Approximating H-H neuron with simpler models:
Aguera y Arcas, Fairhall, and Bialek 2003
Other spike-based concepts
● Comparing spike trains
● Decoding stimuli from spikes
● Nonlinear dendritic integration
● Networks of spiking neurons
● Spike sequences in networks
● Spike-timing-dependent plasticity
● Inferring network structure from spikes
Problem set part 2
https://github.com/rkp8000/imbizo_2019_spikes_tutorial
problems_2.ipynb
(Scientific Python tutorial)
(https://github.com/rkp8000/imbizo_2019_python_tutorial)
References
Free and friendly online textbooks:
● Spiking Neuron Models (Gerstner and Kistler 2002)
● Theoretical Neuroscience (Dayan and Abbott 2009)
● Neuronal Dynamics (Gerstner et al. 2014)
A few papers to get you started
● Bryant et al. “Spike initiation by transmembrane current: a white-noise analysis.” 1976
● Shadlen et al. “The Variable Discharge of Cortical Neurons: Implications for Connectivity, Computation, and Information
Coding.” 1998
● Brunel. “Dynamics of sparsely connected networks of excitatory and inhibitory spiking neurons.” 2000
● Reinagel et al. “Temporal Coding of Visual Information in the Thalamus.” 2000
● Song et al. “Competitive Hebbian learning through spike-timing-dependent synaptic plasticity.” 2000
● Aguera y Arcas et al. “Computation in a Single Neuron: Hodgkin and Huxley Revisited.” 2003
● Slee et al. “Two-Dimensional Time Coding in the Auditory Brainstem.” 2005
● Fairhall et al. “Selectivity for Multiple Stimulus Features in Retinal Ganglion Cells.” 2005
● Victor. “Spike train metrics.” 2005
● Pillow et al. “Spatio-temporal correlations and visual signaling in a complete neuronal population.” 2008
● London et al. “Sensitivity to perturbations in vivo implies high noise and suggests rate coding in cortex”. 2010
● Weber et al. “Capturing the Dynamical Repertoire of Single Neurons with Generalized Linear Models”. 2016
● Nicola et al. “Supervised learning in spiking neural networks with FORCE training.” 2017