Neural Decoding

Decoding
How well can we learn what the stimulus is by looking
at the neural responses?
Two approaches:
•
•
devise explicit algorithms for extracting
a stimulus estimate
directly quantify the relationship between
stimulus and response using information theory
Predicting the firing rate
Starting with a rate response, r(t) and a stimulus, s(t),
the optimal linear estimator finds the best kernel K such that:
is close to r(t), in the least squares sense.
Solving for K(t),
Stimulus reconstruction
K
t
Stimulus reconstruction
Stimulus reconstruction
Reading minds: the LGN
Yang Dan, UC Berkeley
Motion detection task: two-state forced choice
Britten et al. ‘92: behavioral monkey data + neural responses
Behavioral performance
Discriminability:
Neural data at different coherences
d’ = ( <r>+ - <r>- )/ sr
z
p(r|-)
p(r|+)
<r>-
<r>+
Signal detection theory:
r is the “test”.
Decoding corresponds to comparing test to threshold.
a(z) = P[ r ≥ z|-]
false alarm rate, “size”
b(z) = P[ r ≥ z|+]
hit rate, “power”
Find by maximizing P[correct] = (b(z) + 1 – a(z))/2
ROC curves: summarize performance of test for
different thresholds z
Want b  1, a  0.
The area under the ROC curve corresponds to P[correct]
for a two-alternative forced choice task:
Response on one presentation acts as threshold for the other.
Say present + then -;
procedure will be correct if r1 > z where z = r2,
true with probability P[r1 > z | +] = b(z), z = r2.
total probability correct is this times probability
of obtaining a particular value r2 = z
Probability of r2 being in range z to z+dz,
p[z|-]dz
Then
P[correct] = ∫∞0 dz p[z|-] b(z).
P[correct] = ∫∞0 dz p[z|-] b(z).
As
a = probability that r > z for a - stimulus,
da = -p[z|-] dz,
P[correct] = ∫ da b.
Appearance of the logistic function:
If p[r|+] and p[r|-] are both Gaussian,
P[correct] = ½ erfc(-d’/2).
To interpret results as two-alternative
forced choice, need simultaneous responses
from + neuron and from – neuron.
Get “- neuron” responses from same neuron
in response to – stimulus.
Ideal observer: performs as area under ROC
curve.
Close correspondence between neural and behaviour..
Why so many neurons? Correlations limit performance.
What is the best test function to use? (other than r)
The optimal test function is the likelihood ratio,
l(r) = p[r|+] / p[r|-].
(Neyman-Pearson lemma)
Note that
l(z) = (db/dz) / (da/dz) = db/da
i.e. slope of ROC curve
Likelihood as loss minimisation:
Penalty for incorrect answer: L+, LObserve r;
Expected loss
Loss+ = L+P[-|r]
Loss- = L-P[+|r]
Cut your losses: answer + when Loss+ < Lossi.e. L+P[-|r] > L-P[+|r].
Using Bayes’,
P[+|r] = p[r|+]P[+]/p(r);
P[-|r] = p[r|-]P[-]/p(r);
 l(r) = p[r|+]/p[r|-] > L+P[-] / L-P[+] .
Again, if p[r|-] and p[r|+] are Gaussian,
P[+] and P[-] are equal,
P[+|r] = 1/ [1 + exp(-d’ (r - <r>)/ s)].
 d’ is the slope of the sigmoidal fitted to P[+|r]
For small separations between stimulus values,
s and s + ds
“Score”
Compared to threshold