What is the neural code?
Alan Litke, UCSD
What is the neural code?
What is the neural code?
What is the neural code?
Encoding: how does a stimulus cause a pattern of responses?
• what are the responses and what are their characteristics?• neural models:
what takes us from stimulus to response;descriptive and mechanistic models, and the relation between them.
Decoding: what do these responses tell us about the stimulus?
• Implies some kind of decoding algorithm• How to evaluate how good our algorithm is?
What is the neural code?
Single cells:spike ratespike timesspike intervals
What is the neural code?
Single cells:spike rate: what does the firing rate correspond to?spike times: what in the stimulus triggers a spike?spike intervals: can patterns of spikes convey extra information?
What is the neural code?
Populations of cells:population codingcorrelations between responsessynergy and redundancy
Receptive fields and tuning curves
Tuning curve: r = f(s)
Gaussian tuning curve of a cortical (V1) neuron
Receptive fields and tuning curves
Tuning curve: r = f(s)
Cosine tuning curve of a motor cortical neuron
Hand reaching direction
Receptive fields and tuning curves
Sigmoid/logistic tuning curve of a “stereo” V1 neuron
Retinal disparity for a “near”object
Higher brain areas represent increasingly complex features
Quian Quiroga, Reddy, Kreiman, Koch and Fried, Nature (2005)
More generally, we are interested in determining the relationship:
P(response | stimulus)
Due to noise, this is a stochastic description.
Problem of dimensionality, both in response and in stimulus
P(stimulus | response)
encoding
decoding
Reverse correlation
Fast modulation of firing by dynamic stimuli
Feature extraction
Use reverse correlation to decide what each of these spiking eventsstands for, and so to either:
-- predict the time-varying firing rate-- reconstruct the stimulus from the spikes
Reverse correlation
Typically, use Gaussian, white noise stimulus: an unbiased stimulus which samples all directions equally
S(t)
r(t)
Basic idea: throw random stimuli at the system and collect the onesthat cause a response
Reverse correlation
Spike-conditionalensemble
Goal: simplify!
stimulus = fluctuating potential
(generates electric field)
Example: a neuron in the ELL of a fish
Spike-triggered Average
This can be done with other dimensions of stimulus as well
Spatio-temporal receptive field
spike-triggering stimulus feature
stimulus X(t)
decision function
spike output Y(t)x1
f1
P(s
pike
|x1
)x1
Decompose the neural computation into a linear stage and a nonlinear stage.
Modeling spike encoding
Given a stimulus, when will the system spike?
To what feature in the stimulus is the system sensitive?
Gerstner, spike response model; Aguera y Arcas et al. 2001, 2003; Keat et al., 2001
Simple example: the integrate-and-fire neuron
spike-triggering stimulus feature
stimulus X(t)
decision function
spike output Y(t)x1
f1
P(s
pike
|x1
)
x1
The decision function is P(spike|x1). Derive from data using Bayes’ theorem:
P(spike|x1) = P(spike) P(x1 | spike) / P(x1)
P(x1) is the prior : the distribution of all projections onto f1
P(x1 | spike) is the spike-conditional ensemble : the distribution of all projections onto f1 given there has been a spike
P(spike) is proportional to the mean firing rate
Modeling spike encoding
Models of neural function
spike-triggering stimulus feature
stimulus X(t)
decision function
spike output Y(t)x1
f1
P(s
pike
|x1
)
x1
Weaknesses
STA
Gaussian priorstimulus distribution
Spike-conditional distribution
covariance
Reverse correlation: a geometric view
Dimensionality reduction
Cij = < S(t – ti) S(t - tj)> - < STA(t - ti) STA (t - tj)> - < I(t - ti) I(t - tj)>
The covariance matrix is given by
Properties:
•If the computation is low-dimensional, there will be a few eigenvalues significantly different from zero
•The number of eigenvalues is the relevant dimensionality•The corresponding eigenvectors span the subspace of the relevant features
Stimulus prior
Bialek et al., 1997
Functional models of neural function
spike-triggering stimulus feature
stimulus X(t)
decision function
spike output Y(t)x1
f1
P(s
pike
|x1
)
x1
spike-triggering stimulus features
stimulus X(t)
multidimensionaldecision function
spike output Y(t)
x1
x2
x3
f1
f2
f3
Functional models of neural function
?
spike-triggering stimulus features
?
stimulus X(t)
decision function
spike history feedback
spike output Y(t)
x1
x2
x3
f1
f2
f3
?
Functional models of neural function
Covariance analysis
Let’s develop some intuition for how this works: the Keat model
Keat, Reinagel, Reid and Meister, Predicting every spike. Neuron (2001)
• Spiking is controlled by a single filter• Spikes happen generally on an upward threshold crossing of
the filtered stimulus expect 2 modes, the filter F(t) and its time derivative F’(t)
-1.0
-0.5
0.0
0.5
1.0
Eig
en
valu
e
50403020100Mode Index
-1.0
-0.5
0.0
0.5
1.0
Eig
en
valu
e
50403020100Mode Index
-1.0
-0.5
0.0
0.5
1.0
Eig
en
valu
e
50403020100Mode Index
6
4
2
0
-2P
roje
ctio
n o
nto
Mo
de
26420-2
Projection onto Mode 1
6
4
2
0
-2P
roje
ctio
n o
nto
Mo
de
2
6420-2
Projection onto Mode 1
6
4
2
0
-2P
roje
ctio
n o
nto
Mo
de
2
6420-2
Projection onto Mode 1
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
Sp
ike
-Tri
gg
ere
d A
vera
ge
-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)
Covariance analysis
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
Sp
ike
-Tri
gg
ere
d A
vera
ge
-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)
Covariance analysis
Let’s try a real neuron: rat somatosensory cortex (Ras Petersen, Mathew Diamond, SISSA)
0 200 400 600 800 1000
-400
-200
0
200
400
Time (ms)
Stim
ulat
or
posi
tion
(m
)
Record from single units in barrel cortex
Covariance analysis
Spike-triggered average:
-20020406080100120140160180-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Pre-spike time (ms)
No
rma
lise
d ve
loci
ty
Covariance analysis
Is the neuron simply not very responsive to a white noise stimulus?
Covariance analysis
Prior Spike-triggered
Difference
Covariance analysis
0 20 40 60 80 100-1
0
1
2
3
4
Feature number
No
rmal
ised
vel
oci
ty2
050100150-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
Pre-spike time (ms)
Vel
oci
ty
Eigenspectrum
Leading modes
-3 -2 -1 0 1 2 30
2
4
6
8
10
Normalised "acceleration"
No
rmal
ised
firi
ng r
ate
-3 -2 -1 0 1 2 30
2
4
6
8
10
12
Normalised "velocity"
No
rmal
ised
firi
ng r
ate
-2 0 2
-3
-2
-1
0
1
2
3
"acceleration"
"vel
oci
ty"
0
2
4
6
8
10
0 1 2 30
2
4
6
8
10
"vel"2+"acc"2
No
rmal
ised
firi
ng r
ate
Input/outputrelations wrtfirst two filters,alone:
and in quadrature:
Covariance analysis
050100150-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Pre-spike time (ms)
Velo
city (
arb
itra
ry u
nits)
050100150-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
Pre-spike time (ms)V
elo
city
(a
rbitr
ary
un
its)
How about the other modes?
Next pair with +ve eigenvalues Pair with -ve eigenvalues
Covariance analysis
Covariance analysis
0 0.5 1 1.5 2 2.5 30
0.5
1
1.5
"Energy"N
orm
alis
ed f
iring
rat
e
-3 -2 -1 0 1 2-3
-2
-1
0
1
2
Filter 100
Filt
er 1
01
0.2
0.4
0.6
0.8
1
1.2
1.4
Firing rate decreases with increasing projection: suppressive modes
Input/output relations for negative pair
Beyond covariance analysis
1. Single, best filter determined by the first moment
2. A family of filters derived using the second moment
3. Use the entire distribution: information theoretic methods
Find the dimensions that maximize the mutual informationbetween stimulus and spike
Removes requirement for Gaussian stimuli
Limitations
Not a completely “blind” procedure: have to have some idea of the appropriate stimulus space
Very complex stimuli: does a geometrical picture work or make sense?
Adaptation:stimulus representations change with experience!