what is the neural code?

55
hat is the neural code?

Upload: ranit

Post on 23-Feb-2016

49 views

Category:

Documents


0 download

DESCRIPTION

What is the neural code?. Reading out the neural code. Alan Litke, UCSD. Reading out the neural code. Reading out the neural code. Kwan, HFSP 2010. What is the neural code?. M. Berry. What is the neural code?. Single neurons. Populations. Encoding and decoding. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: What is the neural code?

What is the neural code?

Page 2: What is the neural code?

Alan Litke, UCSD

Reading out the neural code

Page 3: What is the neural code?

Reading out the neural code

Page 4: What is the neural code?

Reading out the neural code

Kwan, HFSP 2010

Page 5: What is the neural code?

What is the neural code?

M. Berry

Page 6: What is the neural code?

What is the neural code?

Single neurons

Populations

Page 7: 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:

-- from stimulus to response-- descriptive mechanistic models

Decoding: what do these responses tell us about the stimulus?

• Implies some kind of decoding algorithm• How to evaluate how good our algorithm is?

Encoding and decoding

Page 8: What is the neural code?

Basic coding model: linear filtering

Spatial filter: r = f(x,y) I(x0-x,y0-y) dx dy

Page 9: What is the neural code?

Basic coding model: temporal filtering

Linear filter: r(t) = f(t-t) s(t) dt

…shortcomings?

Page 10: What is the neural code?

Nonlinearity: tuning curves

Gaussian tuning curve of a cortical (V1) neuron

Nonlinear function: r = g(s)

Page 11: What is the neural code?

Nonlinearity: tuning curves

Cosine tuning curve of a motor cortical neuron

Nonlinear function: r = g(s) Hand reaching direction

Page 12: What is the neural code?

Nonlinearity: tuning curves

Sigmoidal tuning curve of a V1 cortical neuron

Nonlinear function: r = g(s) Hand reaching direction

Page 13: What is the neural code?

Nonlinearity: tuning curves

Quian Quiroga, Reddy, Kreiman, Koch and Fried, Nature (2005)

Page 14: What is the neural code?

What is s?

Page 15: What is the neural code?

Nonlinearity: tuning curves

Quian Quiroga, Reddy, Kreiman, Koch and Fried, Nature (2005)

Page 16: What is the neural code?

What is s?

Page 17: What is the neural code?

Coding models

P(response | stimulus)

P(stimulus | response)

encoding

decoding

• What is response?• What is stimulus?• What is the function P?

Page 18: What is the neural code?

Basic coding model: temporal filtering

Linear filter: r(t) = f(t-t) s(t) dt

Page 19: What is the neural code?

Next most basic coding model

Linear filter & nonlinearity: r(t) = g( f(t-t) s(t) dt)

s*f1

Page 20: What is the neural code?

How to find the components of this model

s*f1

Page 21: What is the neural code?

Reverse correlation: the spike-triggered average

Spike-conditionalensemble

Page 22: What is the neural code?

The spike-triggered average

Page 23: What is the neural code?

More generally, one can conceive of the action of the neuron or neural system as selecting a low dimensional subset of its inputs.

Start with a very high dimensional description (eg. an image or a time-varying waveform)

and pick out a small set of relevant dimensions.

s(t)

s1s2 s3

s1

s2

s3

s4 s5 s.. s.. s.. sn S(t) = (S1,S2,S3,…,Sn)

Dimensionality reduction

P(response | stimulus) P(response | s1, s2, .., sn)

Page 24: What is the neural code?

Linear filtering

Linear filtering = convolution = projection

s1

s2

s3

Stimulus feature is a vector in a high-dimensional stimulus space

Page 25: What is the neural code?

Spike-triggeredaverage

Gaussian priorstimulus distribution

Spike-conditional distribution

Determining linear features from white noise

Page 26: What is the neural code?

How to find the components of this model

s*f1

Page 27: What is the neural code?

The input/output function is:

which can be derived from data using Bayes’ rule:

Determining the nonlinear input/output function

Page 28: What is the neural code?

Tuning curve: P(spike|s) = P(s|spike) P(spike) / P(s)

Nonlinear input/output function

Tuning curve: P(spike|s) = P(s|spike) P(spike) / P(s)

s

P(s|spike) P(s)

s

P(s|spike) P(s)

Page 29: What is the neural code?

Next most basic coding model

Linear filter & nonlinearity: r(t) = g( f(t-t) s(t) dt)

s*f1

…shortcomings?

Page 30: What is the neural code?

Less basic coding models

Linear filters & nonlinearity: r(t) = g(f1*s, f2*s, …, fn*s)

Page 31: What is the neural code?

Spike-triggeredaverage

Gaussian priorstimulus distribution

Spike-conditional distribution

covariance

Determining linear features from white noise

Page 32: What is the neural code?

The covariance matrix is

Properties:

• The number of eigenvalues significantly different from zero is the number of relevant stimulus features

• The corresponding eigenvectors are the relevant features (or span the relevant subspace)

Stimulus prior

Bialek et al., 1988; Brenner et al., 2000; Bialek and de Ruyter, 2005

Identifying multiple features

Spike-triggered stimulus correlation

Spike-triggeredaverage

Page 33: What is the neural code?

Let’s develop some intuition for how this works: a filter-and-fire threshold-crossing model with AHP

Keat, Reinagel, Reid and Meister, Predicting every spike. Neuron (2001)

• Spiking is controlled by a single filter, f(t)• Spikes happen generally on an upward threshold crossing of

the filtered stimulus expect 2 relevant features, the filter f(t) and its time derivative f’(t)

A toy example: a filter-and-fire model

Page 34: What is the neural code?

6

4

2

0

-2P

roje

ctio

n on

to M

ode

26420-2

Projection onto Mode 1

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STAf(t)

f'(t)

6

4

2

0

-2P

roje

ctio

n on

to M

ode

26420-2

Projection onto Mode 1

6

4

2

0

-2P

roje

ctio

n on

to M

ode

26420-2

Projection onto Mode 1

-1.0

-0.5

0.0

0.5

1.0

Eig

enva

lue

50403020100Mode Index

Covariance analysis of a filter-and-fire model

Page 35: What is the neural code?

Example: rat somatosensory (barrel) cortex Ras Petersen and Mathew Diamond, SISSA

0 200 400 600 800 1000

-400

-200

0

200

400

Time (ms)

Stim

ulat

or p

ositi

on (

m)

Record from single units in barrel cortex

Let’s try it

Page 36: What is the neural code?

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)

Norm

alise

d ve

locit

y

White noise analysis in barrel cortex

Page 37: What is the neural code?

Is the neuron simply not very responsive to a white noise stimulus?

White noise analysis in barrel cortex

Page 38: What is the neural code?

Prior Spike-triggered

Difference

Covariance matrices from barrel cortical neurons

Page 39: What is the neural code?

0 20 40 60 80 100-1

0

1

2

3

4

Feature number

Nor

mal

ised

vel

ocity

2

050100150-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

Pre-spike time (ms)

Velo

city

Eigenspectrum

Leading modes

Eigenspectrum from barrel cortical neurons

Page 40: What is the neural code?

-3 -2 -1 0 1 2 30

2

4

6

8

10

Normalised "acceleration"

Nor

mal

ised

firin

g ra

te

-3 -2 -1 0 1 2 30

2

4

6

8

10

12

Normalised "velocity"

Nor

mal

ised

firin

g ra

te

-2 0 2

-3

-2

-1

0

1

2

3

"acceleration"

"vel

ocity

"

0

2

4

6

8

10

0 1 2 30

2

4

6

8

10

"vel"2+"acc"2

Nor

mal

ised

firin

g ra

te

Input/outputrelations wrt

first two filters,alone:

and in quadrature:

Input/output relations from barrel cortical neurons

Page 41: What is the neural code?

050100150-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Pre-spike time (ms)

Vel

ocity

(arb

itrar

y un

its)

050100150-0.3-0.2-0.1

00.10.20.30.4

Pre-spike time (ms)Ve

locit

y (a

rbitr

ary

units

)

How about the other modes?

Next pair with +ve eigenvaluesPair with -ve eigenvalues

Less significant eigenmodes from barrel cortical neurons

Page 42: What is the neural code?

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

"Energy"N

orm

alis

ed fi

ring

rate

-3 -2 -1 0 1 2-3

-2

-1

0

1

2

Filter 100

Filte

r 101

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

Negative eigenmode pair

Page 43: What is the neural code?

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA Mode 1

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA Mode 1 Mode 2

-1.0

-0.5

0.0

0.5

1.0

Eig

enva

lue

100806040200Mode Index

-6

-4

-2

0

2

4

6

Pro

ject

ion

onto

Mod

e 2

-4 -2 0 2 4

Projection onto Mode 1

Salamander retinal ganglion cells perform a variety of computations

Michael Berry

Page 44: What is the neural code?

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA

-6

-4

-2

0

2

4

6

Pro

ject

ion

onto

Mod

e 2

-4 -2 0 2 4

Projection onto Mode 1

-1.0

-0.5

0.0

0.5

Eig

enva

lue

100806040200Mode Index

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1 Mode 2

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1 Mode 2 Mode 3

Almost filter-and-fire-like

Page 45: What is the neural code?

1.0

0.5

0.0

-0.5

Eig

enva

lue

100806040200Mode Index

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1 Mode 2

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.8 -0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1 Mode 2 Mode 3

-6

-4

-2

0

2

4

6

Pro

ject

ion

onto

Mod

e 2

-6 -4 -2 0 2 4 6

Projection onto Mode 1

Not a threshold-crossing neuron

Page 46: What is the neural code?

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA Mode 1

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA Mode 1 Mode 2

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.5 -0.4 -0.3 -0.2 -0.1 0.0Time before Spike (s)

STA Mode 1 Mode 2 Mode 3

0.9

0.6

0.3

0.0

-0.3

Eig

enva

lue

100806040200

Mode Index

2.0

1.5

-6

-4

-2

0

2

4

6

Pro

ject

ion

onto

Mod

e 2

-6 -4 -2 0 2 4 6

Projection onto Mode 1

Complex cell like

Page 47: What is the neural code?

-0.6

-0.3

0.0

0.3

Eig

enva

lue

100806040200

Mode Index

2.5

2.0

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.6 -0.4 -0.2 0.0Time before Spike (s)

STA

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1

-0.4

-0.2

0.0

0.2

0.4

Spi

ke-T

rigge

red

Aver

age

-0.6 -0.4 -0.2 0.0Time before Spike (s)

STA Mode 1 Mode 2 Mode 3

-4

-3

-2

-1

0

1

2

3

4

Pro

ject

ion

onto

Mod

e 2

-6 -4 -2 0 2 4 6

Projection onto Mode 1

Bimodal: two separate features are encoded as either/or

Page 48: What is the neural code?

When have you done a good job?

• When the tuning curve over your variable is interesting.

• How to quantify interesting?

Page 49: What is the neural code?

Tuning curve: P(spike|s) = P(s|spike) P(spike) / P(s)

Goodness measure: DKL(P(s|spike) | P(s))

When have you done a good job?

Tuning curve: P(spike|s) = P(s|spike) P(spike) / P(s)

s

Boring: spikes unrelated to stimulus

P(s|spike) P(s)

s

Interesting: spikes are selective

P(s|spike) P(s)

Page 50: What is the neural code?

Maximally informative dimensions

Choose filter in order to maximize DKL between spike-conditional and prior distributions

Equivalent to maximizing mutual information between stimulus and spike

Sharpee, Rust and Bialek, Neural Computation, 2004

Does not depend on white noise inputs

Likely to be most appropriatefor deriving models fromnatural stimuli

s = I*f

P(s|spike) P(s)

Page 51: What is the neural code?

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 methodsRemoves requirement for Gaussian stimuli

Finding relevant features

Page 52: What is the neural code?

Less basic coding models

Linear filters & nonlinearity: r(t) = g(f1*s, f2*s, …, fn*s)

…shortcomings?

Page 53: What is the neural code?

Less basic coding models

GLM: r(t) = g(f1*s + f2*r)

Pillow et al., Nature 2008; Truccolo, .., Brown, J. Neurophysiol. 2005

Page 54: What is the neural code?

Less basic coding models

GLM: r(t) = g(f*s + h*r) …shortcomings?

Page 55: What is the neural code?

Less basic coding models

GLM: r(t) = g(f1*s + h1*r1 + h2*r2 +…) …shortcomings?