360 likes | 454 Views
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. Synapse Dendrites (Input) Cell Body Axon (Output).
E N D
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
Synapse • Dendrites (Input) • Cell Body • Axon (Output) Neuron: The Device Output Input • How is information transmitted? • Spikes • Soma’s Membrane Potential (V) • Weighted sum • Spike effect decays over time Threshold Time Slide complements of Arunava Banerjee
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 Seizure Quiescence
Phase Space Overview • Stable States • Zones of attraction Stable States Seizure Quiescence
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 Stable States Seizure Quiescence
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 = 71 n = 0 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
Victor/Aranov: Delete/Insert Cost: 1 Insert Delete
Victor/Aranov: Shifting spikes within neurons Δt Cost: q|Δt| Shift within Neurons
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 Cost: k Shift Between Neurons 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 w Let 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
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 recursively http://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
1,000,000 y x 615,000 385,000 y x 295,000 170,000 215,000 320,000 y x 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
295,000 170,000 215,000 320,000 y x Geodesic Initialization • 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?
f(x) = 2 f(x) = 1 f(x) = 0.5 X = 4 X = 1 X = 2 f(x) = 0.25 X = 0.5 Dynamical Systems Overview • Fixed-point attractor 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
F(x)=0.8 F(x)=0.8 F(x)=0.6 F(x)=0.4 F(x)=0.85 F(x)=0.3 x=0.4 x=0.8 x=0 x=0.3 x=0.6 x=0.85 x=1 x=1.7 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 • 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 Return