A Geodesic Method for Spike Train Distances Neko Fisher Nathan VanderKraats.

Post on 05-Jan-2016

219 views 2 download

Transcript of A Geodesic Method for Spike Train Distances Neko Fisher Nathan VanderKraats.

A Geodesic Method for Spike Train Distances

Neko Fisher

Nathan VanderKraats

Neuron: The Device

• Input: dendrites• Output: axon• Dendrite/axon connection =

synapse

http://training.seer.cancer.gov/module_bbt/unit02_sec04_b_cells.html

InputOutput

Threshold

Time

•SynapseSynapse

•Dendrites (Input)Dendrites (Input)

•Cell BodyCell Body

•Axon (Output)Axon (Output)

Neuron: The Device

Slide complements of Arunava Banerjee

• How is information transmitted?– Spikes– Soma’s Membrane Potential (V)– Weighted sum– Spike effect decays over time

Systems of Spiking Neurons

• Spike effect decays over time– Bounded window

• Discretization

Neuron 1:Neuron 2:

Neuron 3:

time

Systems of Spiking Neurons

• Spike train windows = points in Phase Space

Neuron 1:Neuron 2:

Neuron 3:

time

• Dynamical System– Each point has a well-defined point following it

Phase Space Overview

• Extremely high dimensionality– For systems of 1000 neurons and reasonable

simulation parameters, we have up to 100,000 dimensions!!

• Sensitive to Initial Conditions– Chaotic attractors

Phase Space Overview

• Degenerate States– Quiescent State– Seizure State

Quiescence

Seizure

Phase Space Overview

• Stable States– Zones of attraction

Quiescence

SeizureStable States

Phase Space Overview

• Problem: Given a point (spike train), how can we tell what state we’re in?– Need Distance Metric between pts in our space

Quiescence

SeizureStable States

Distance Metrics

Spike Count Victor/Aranov Multi-neuronal edit distance

Leader in the field Our Work

Neuronal Edit Distance Distance Metric using a Geodesic Path

Spike Count

Count the number of spikes Can tell between quiescent, stable and

seizure state spike trains Hard to differentiate between spike trains

from the same state(Quiescent, Stable and Seizure)

Spike Count

n = 0 n = 71

n = 16 n = 17

Edit Distance

Standard for calculating distance metrics Derived from Edit Distance for genetic

sequence allignment Considers number of spikes Considers temporal locality of spikes Uses standard operations on spike trains to

make them equivalent Insert/delete Shift

Victor/Aranov Multi-neuronal Edit Distance

Insert/Delete Cost of 1

Shifting spikes within a neuron Cost of q |Δt|

Shifting spikes between neurons Cost of k

Delete

Victor/Aranov: Delete/Insert

Insert

Cost: 1

Shift within Neurons

Victor/Aranov: Shifting spikes within neurons

Cost: q|Δt|

Δt

Victor/Aranov: Shifting spikes within neurons

• D = q |Δt|

• q determines sensitivity to spike count or spike timing– q = 0 spike count metric– Increasing q sensitivity to spike timing– Two spikes are comparable if within 2/q sec.

• q|Δt| 2 (Cost of inserting and deleting)

Victor/Aranov: Shifting spikes between neurons

Shift Between NeuronsCost: k

Not biologically correct

Victor/Aranov: Shifting spikes between neurons

• d = k

• k = 0 neuron producing spike is irrelevant

• k > 2 spikes can’t be switched between neurons (cost would be greater than inserting and deleting)

Problems with Victor/Aranov Edit Distance

• Allows switching spikes between neurons

• Insert/delete cost are constant

• Edit Distances are Euclidean

• Needs Manifold Euclidean distance cuts through manifold Define local Euclidean distance Move along manifold

Our Work

• Respect the Phase Space– Riemannian Manifold– Geodesic for distances

• Better local metric– Biologically-motivated edit distance (Neuronal Edit

Distance)– Modification for geodesic (Distance Metric for

Geodesic Paths)

• Testing: simulations

NED Operations

• Consider operations within each neuron independently– Total Distance is sum over all neurons

• Which situation is better?– 6 spikes moving 1 timestep each– 1 spike moving 6 timesteps

• Reward small distances for individual spikes– Cost of shifting a spike is (Δt)2

NED Operations

• Which is better?– Extra spike in the middle of the time window– Extra spike in the beginning of the time window

• Potential spikes just off the window edge!• Insert a spike by shifting a spike from the beginning of the window

– Cost: (t-(-1))2

• Delete a spike by shifting spikes to the end of the window– Cost: (t-WINDOW_SIZE)2

NED Equation

• Basically, take minimum of all possible matchups:

…-1 -1 -1 2 5 7 9 15 20 20 20 …

…-1 -1 -1 5 9 12 20 20 20 20 20 …

-1 -1 -1 2 5 7 9 15 20 20 20

5 9 12 20 20 20 20 20 20 20 20

-1 5 9 12 20 20 20 20 20 20 20…

-1 -1 -1 -1 -1 -1 -1 -1 5 9 12

NED Equation

• Given 2 spike trains (points) x, y, with n neurons, window size wLet xi denote the ith neuron of x

Let S(xi) denote the number of spikes in xi

Let f(xi,p,q) = (-1)p.xi.(w)q or the concatenation of p spikes at time -1 to the beginning of xi and the concatenation of q spikes at time w to the end

Let fk(.) denote the kth spike time, in order, of the above

2kk

1

)S()S(

0

))S(),S(,(f))S()S(,,(fmink

iiiiii

n

i

yx

j

xxyjyxjxii

]||[NED yx

Geodesic• Euclidean metric only good as a local approximation

• Globally, need to respect the phase space

• System dynamics come from points advancing in time

• Include small time changes locally

• Define small Euclidean distances from any of these “close in time” points

• Do global distances recursivelyhttp://www.enm.bris.ac.uk/staff/hinke/fourD/pix/nx1x2p2.gif

Geodesic• New Local Distance (DMGP)

– Distance Metric for Geodesic Paths

Given a point x(t):• Next point in time should have

very low distance– Compute x(t+1)– DMGP[x(t) || x(t+1] = 0

• For symmetry, define previous time similarly– Compute all possibilities for

x(t-1)– DMGP[xi(t-1) || x(t)] = 0 i

http://www.enm.bris.ac.uk/staff/hinke/fourD/pix/nx1x2p2.gif

Geodesic Initialization

• Geodesic algorithm must be given starting path with a set number of timesteps

• How to find an initial path?

• Our Idea:– Trace the NED

– Subdivide recursively to create a path of arbitrary length

xy

1,000,000

x y

385,000615,000

x y

320,000295,000 170,000 215,000

Geodesic Initialization

x y

320,000295,000 170,000 215,000

• How to subdivide a given interval between x and y?

– Randomly select individual spikes from y and move them toward x, using the minimum distance as defined by NED[x||y], to create a new point x1

– Continue until NED[x||x1] is roughly half NED[x||y].

– Repeat until all intervals are sufficiently small.– Guarantees smooth transitions from one point to next

x1

Geodesic Algorithm

• Initialize

• For each point x(t) along geodesic trajectory:– For some fixed NED distance , consider local

neighborhood as all points x’ where {NED(x(t)||x’) < } U {NED(x(t+1)||x’) < } U {NED(x(t-1)||x’) < }

• Repeat until total distance stops decreasing

Testing

• K-means clustering– Sample points in

different attractors• Seizure versus stable

states• Rate-differentiable

stable states

– Sample points from same attractor

• Other ideas?

The End

Dynamical Systems Overview

• Fixed-point attractor

X = 4

f(x) = 2

X = 2

f(x) = 1

X = 1

f(x) = 0.5

X = 0.5

f(x) = 0.25

y = ½ x

Fixed point: x = 0

Return

Dynamical Systems Overview

• Periodic attractor– (aka Limit Cycle)

• Online example (Univ of Delaware)– http://gorilla.us.udel.edu/plotapplet/examples/

LimitCycle/sample.html

Return

Dynamical Systems Overview

• Chaotic Attractor

F(x) = 2x if 0 ≤ x ≤ ½ 2(1-x) if ½ ≤ x ≤ 1 ½x if x ≥ 1 -½x if x ≤ 0

x=0 x=1

• F(x) attracts to the interval [0,1], then settles into any of an infinite number of periodic orbits

• Sensitive to initial conditions– Minor change causes different orbit

x=1.7

F(x)=0.85

x=0.85

F(x)=0.3

x=0.3

F(x)=0.6

x=0.6

F(x)=0.8

F(x)=0.4

x=0.8x=0.4

F(x)=0.8

Return

Example of stable spike train (1000 neurons for 800 ms)