Download Using persistent homology to reveal hidden information

Document related concepts
no text concepts found
Transcript
Using persistent homology to reveal hidden
information in neural data
Gard Spreemann
Department of Mathematical Sciences, Norwegian University of Science and
Technology
ACAT Final Project Meeting, IST Austria
July 9, 2015
Gard Spreemann
Persistent homology and neural data
Collaborators and inspiration
Benjamin Adric Dunn;
Kavli Institute for Systems Neuroscience
Magnus Bakke Botnan;
Yasser Roudi;
Nils Baas;
NTNU dept. math. sci.
Kavli Institute for Systems Neuroscience
NTNU dept. math. sci.
Gard Spreemann
Persistent homology and neural data
Collaborators and inspiration
Benjamin Adric Dunn;
Kavli Institute for Systems Neuroscience
Magnus Bakke Botnan;
Yasser Roudi;
Nils Baas;
NTNU dept. math. sci.
Kavli Institute for Systems Neuroscience
NTNU dept. math. sci.
Builds on ideas by
C. Giusti and collaborators
Y. Dabaghian and collaborators
Gard Spreemann
Persistent homology and neural data
Place cells
Fundamental question: How do mammals navigate space?
In 1971, John O’Keefe discovered the first component of this
positioning system. He found a type of nerve cell in an area of the
brain called the hippocampus that was always activated when a rat
was at a certain place in a room. Other nerve cells were activated
when the rat was at other places. O’Keefe concluded that these
’place cells’ formed a map of the room.
— The Nobel Committee, October 2014
Gard Spreemann
Persistent homology and neural data
Place cells idealized
1
Animal enters “room”
(loosely defined
environment)
Gard Spreemann
Persistent homology and neural data
Place cells idealized
1
Animal enters “room”
(loosely defined
environment)
2
Place cells establish a
cover by place fields
Gard Spreemann
Persistent homology and neural data
Place cells idealized
1
Animal enters “room”
(loosely defined
environment)
2
Place cells establish a
cover by place fields
3
Animal moves
around, place cells fire
Neuron 1
Neuron 2
Neuron 3
⋮
Gard Spreemann
Time
Persistent homology and neural data
Place cells idealized
1
Animal enters “room”
(loosely defined
environment)
2
Place cells establish a
cover by place fields
3
Animal moves
around, place cells fire
Indicative
of double
intersection
Indicative of triple
intersection
Gard Spreemann
Persistent homology and neural data
Can we “see” the environment from neuron recordings?
Definition
Let 𝒰 = {𝑈u� }u� be an open cover. Its nerve 𝑁 𝒰 is a simplicial
complex with simplices
{𝑖0 , 𝑖1 , … , 𝑖u� } ⊆ 𝑁 𝒰 ⟺ 𝑈u�0 ∩ 𝑈u�1 ∩ ⋯ ∩ 𝑈u�u� ≠ ∅.
Theorem (Nerve theorem)
Let 𝑋 be a paracompact space and 𝒰 an open cover of 𝑋 such
that every covering set and every non-empty intersection of
covering sets is contractible. Then
|𝑁 𝒰| ≃ 𝑋.
Gard Spreemann
Persistent homology and neural data
Can we “see” the environment from neuron recordings?
Definition
Let 𝒰 = {𝑈u� }u� be an open cover. Its nerve 𝑁 𝒰 is a simplicial
complex with simplices
{𝑖0 , 𝑖1 , … , 𝑖u� } ⊆ 𝑁 𝒰 ⟺ 𝑈u�0 ∩ 𝑈u�1 ∩ ⋯ ∩ 𝑈u�u� ≠ ∅.
Theorem (Nerve theorem)
Let 𝑋 be a paracompact space and 𝒰 an open cover of 𝑋 such
that every covering set and every non-empty intersection of
covering sets is contractible. Then
|𝑁 𝒰| ≃ 𝑋.
Firing data ⟹ intersection data ⟹ homotopy type.
Gard Spreemann
Persistent homology and neural data
Firing data ⟹ intersection data ⟹ homotopy type
Gard Spreemann
Persistent homology and neural data
Firing data ⟹ intersection data ⟹ homotopy type
Gard Spreemann
Persistent homology and neural data
Firing data ⟹ intersection data ⟹ homotopy type
Gard Spreemann
Persistent homology and neural data
Firing data ⟹ intersection data ⟹ homotopy type
Gard Spreemann
Persistent homology and neural data
Firing data ⟹ intersection data ⟹ homotopy type
(Embedding is of course not known)
Gard Spreemann
Persistent homology and neural data
Reminder: Biology is messy
Real place fields (and these are nice):
Generated using data from Mizuseki, Sirota, Pastalkova, Diba, and Buzsáki: Multiple single unit recordings from
different rat hippocampal and entorhinal regions while the animals were performing multiple behavioral tasks
(CRCNS.org, 2013).
Gard Spreemann
Persistent homology and neural data
Neurons
Pretend biology is nice and clean
Obstruction
Neuroscientists
observe
Time
Construct
Gard Spreemann
from cofiring
Persistent homology and neural data
Neurons
Pretend biology is nice and clean
Obstruction
Neuroscientists
observe
Time
Construct
from cofiring
ut
o
ith
ew
d
Ma
Gard Spreemann
Persistent homology and neural data
l
tia
spa
ta!
da
Neurons
Pretend biology is nice and clean
Obstruction
Neuroscientists
observe
Time
Construct
from cofiring
But what qualifies as “cofiring”?
Gard Spreemann
Persistent homology and neural data
Firing data correlation
Record firing data (“spike trains”) from 𝑁 neurons for a time
𝑇 (𝑇 ≈ 10 min.)
Bin data, keeping “fire” (+1) or “no fire” (0 or −1) for each
time interval [𝑡, 𝑡 + Δ𝑡) (Δ𝑡 ≈ 1 ms)
Data thus consists of 𝑆1 , … , 𝑆u� ∈ (ℤ/2ℤ)u� /Δu�
For each pair (𝑖, 𝑗),
xcorru� (𝑆u� , 𝑆u� ) =
xcorr(𝑆u� , 𝑆u� ) =
1
⟨𝑆 , 𝑆 [𝑛]⟩
‖𝑆u� ‖1 ‖𝑆u� ‖1 u� u�
u�
u�
1
max ( ∑ xcorru� (𝑆u� , 𝑆u� ), ∑ xcorru� (𝑆u� , 𝑆u� ))
𝐿
u�=0
u�=0
Gard Spreemann
Persistent homology and neural data
Order complex
Have complete graph with weights 𝐶u�,u� = xcorr(𝑆u� , 𝑆u� ), so could
consider its flag complex.
Gard Spreemann
Persistent homology and neural data
Order complex
Have complete graph with weights 𝐶u�,u� = xcorr(𝑆u� , 𝑆u� ), so could
consider its flag complex. But neuron firing is a highly non-linear
process. We’re really observing
𝐶u�,u� = 𝑓(real relationship between neuron 𝑖 and 𝑗)
for some (highly non-linear) monotone 𝑓.
Gard Spreemann
Persistent homology and neural data
Order complex
Definition
Let 𝐺 be a complete graph with real edge weights 𝑊u�,u� . Sort the
edges
𝑊u�(0) < 𝑊u�(1) < ⋯ < 𝑊u�((u�2)−1)
̃ have edge weights
(breaking ties arbitrarily), and let 𝐺
𝑘
̃u�(u�) = u�
𝑊
.
(2)
̃
The order complex of 𝐺 is OC(𝐺) = flag(𝐺).
Gard Spreemann
Persistent homology and neural data
Order complex
Definition
Let 𝐺 be a complete graph with real edge weights 𝑊u�,u� . Sort the
edges
𝑊u�(0) < 𝑊u�(1) < ⋯ < 𝑊u�((u�2)−1)
̃ have edge weights
(breaking ties arbitrarily), and let 𝐺
𝑘
̃u�(u�) = u�
𝑊
.
(2)
̃
The order complex of 𝐺 is OC(𝐺) = flag(𝐺).
As filtered simplicial complexes
OC(𝐶) = OC(𝑓(real neuron relations)) = OC(real neuron relations).
Gard Spreemann
Persistent homology and neural data
Toy example
Gard Spreemann
Persistent homology and neural data
Toy example
u�1
0.20
Death
0.16
0.12
0.08
0.04
0.00
0.00
0.04
0.08
0.12
0.16
0.20
Birth
Gard Spreemann
Persistent homology and neural data
Real data?
Similar techniques have been applied to real data:
Curto and Itskov (2008): “Cell groups reveal structure of
stimulus space”
Gard Spreemann
Persistent homology and neural data
Real data?
Similar techniques have been applied to real data:
Curto and Itskov (2008): “Cell groups reveal structure of
stimulus space”
Curto, Giusti, Itskov and Pastalkova (2015): “Clique topology
reveals intrinsic geometric structure in neural correlations”
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Head orientation
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Head orientation
Neuron couplings
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Head orientation
Neuron couplings
Tactile sensory input
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Head orientation
Neuron couplings
Tactile sensory input
Olfactory sensory input
Gard Spreemann
Persistent homology and neural data
Place cells care about more than space
Neuroscientists suspect (know) that firing is influenced also by
Theta phase preference/precession
Head orientation
Neuron couplings
Tactile sensory input
Olfactory sensory input
???
Gard Spreemann
Persistent homology and neural data
Uncovering such “hidden information”
Suppose we have a list of candidate stimuli influencing place cell
firing, and a recording of the corresponding “animal state”
𝑥(Δ𝑡), 𝑥(2Δ𝑡), … , 𝑥(𝑇 ) ∈ 𝑀 ,
as well as spike trains 𝑆1 , … , 𝑆u� recorded from 𝑁 neurons.
Gard Spreemann
Persistent homology and neural data
Uncovering such “hidden information”
Suppose we have a list of candidate stimuli influencing place cell
firing, and a recording of the corresponding “animal state”
𝑥(Δ𝑡), 𝑥(2Δ𝑡), … , 𝑥(𝑇 ) ∈ 𝑀 ,
as well as spike trains 𝑆1 , … , 𝑆u� recorded from 𝑁 neurons.
Two questions:
1
Is our list of candidate stimuli complete?
2
If not, what can we say about the topology of remaining
(unknown) stimuli?
Gard Spreemann
Persistent homology and neural data
Kinetic Ising model for neuron activity
The Ising model has seen success as a model of neuron firing.
Definition
𝐺 complete graph on vertices 1, … , 𝑁 . Edge weights 𝐽u�,u� . Let
𝐸1 , … , 𝐸u� ∶ ℝ → ℝ. A set of ±1-valued random variables 𝑆u� (𝑡),
with 1 ≤ 𝑖 ≤ 𝑁 and 𝑡 = 𝑘Δ𝑡 are said to obey the kinetic Ising
model with couplings 𝐽 and external fields 𝐸1 , … , 𝐸u� if they
have the conditional probabilities
𝑃 (𝑆u� (𝑡 + Δ𝑡) = 𝑠 ∣ 𝑆1 (𝑡) = 𝑠1 , … , 𝑆u� (𝑡) = 𝑠u� )
u�
=
exp (𝑠 (𝐸u� (𝑡) + ∑u�=1 𝐽u�,u� 𝑠u� ))
2cosh (𝐸u� (𝑡) + ∑u�
𝐽 𝑠 )
u�=1 u�,u� u�
Gard Spreemann
Persistent homology and neural data
.
Kinetic Ising model for neuron activity
The Ising model has seen success as a model of neuron firing.
Definition
𝐺 complete graph on vertices 1, … , 𝑁 . Edge weights 𝐽u�,u� . Let
𝐸1 , … , 𝐸u� ∶ ℝ → ℝ. A set of ±1-valued random variables 𝑆u� (𝑡),
with 1 ≤ 𝑖 ≤ 𝑁 and 𝑡 = 𝑘Δ𝑡 are said to obey the kinetic Ising
model with couplings 𝐽 and external fields 𝐸1 , … , 𝐸u� if they
have the conditional probabilities
𝑃 (𝑆u� (𝑡 + Δ𝑡) = 𝑠 ∣ 𝑆1 (𝑡) = 𝑠1 , … , 𝑆u� (𝑡) = 𝑠u� )
u�
=
exp (𝑠 (𝐸u� (𝑡) + ∑u�=1 𝐽u�,u� 𝑠u� ))
2cosh (𝐸u� (𝑡) + ∑u�
𝐽 𝑠 )
u�=1 u�,u� u�
u�
.
𝐹u� (𝑡) = 𝐸u� (𝑡) + ∑u�=1 𝐽u�,u� 𝑠u� is called the system’s Hamiltonian.
Gard Spreemann
Persistent homology and neural data
𝐹u� (𝑡) = 𝐸u� (𝑡) + ∑u�
𝐽 𝑠
u�=1 u�,u� u�
1.0
Firing probability
0.8
Internal couplings
𝐽u�,u� capture
activiation and
inhibition by neighbor
neurons.
0.6
0.4
0.2
0.0
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
1.5
2.0
External fields 𝐸u�
capture stimuli.
u�u� (u�)
Gard Spreemann
Persistent homology and neural data
𝐹u� (𝑡) = 𝐸u� (𝑡) + ∑u�
𝐽 𝑠
u�=1 u�,u� u�
1.0
Firing probability
0.8
Internal couplings
𝐽u�,u� capture
activiation and
inhibition by neighbor
neurons.
0.6
0.4
0.2
0.0
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
1.5
2.0
External fields 𝐸u�
capture stimuli.
u�u� (u�)
Assume
𝐸u� (𝑡) = 𝐸spatial,u� (𝑥(𝑡)) + 𝐸head,u� (𝑥(𝑡)) + 𝐸u�,u� (𝑥(𝑡)) + ⋯ + ???
where each term is a sum of Gaussians on factors of some nice
Gard Spreemann
Persistent homology and neural data
Kinetic Ising model for neuron activity; example
Space and head only. Physical space [0, 1]2 , head configuration 𝕊1 .
𝑥 ∶ ℝ → 𝑀 = [0, 1]2 × 𝕊1 .
Gard Spreemann
Persistent homology and neural data
Kinetic Ising model for neuron activity; example
Space and head only. Physical space [0, 1]2 , head configuration 𝕊1 .
𝑥 ∶ ℝ → 𝑀 = [0, 1]2 × 𝕊1 .
Then in
𝐸u� (𝑡) = 𝐸spatial,u� (𝑥(𝑡)) + 𝐸head,u� (𝑥(𝑡)),
assume
2
𝐸spatial,u� (𝑥, 𝑦, 𝛼) = 𝑒−(u�−u�u� )
−(u�−u�u� )2
2
𝐸head,u� (𝑥, 𝑦, 𝛼) = 𝑒−(u�−u�u� ) .
I.e. spatial place field in (𝑝u� , 𝑞u� ), “head direction place field” in 𝑎u� .
Gard Spreemann
Persistent homology and neural data
Inference
Will just write
u�
𝐸u� (𝑡) = ∑ 𝐴u�,u� exp (−𝑑(𝑥(𝑡), 𝑐u� )2 ) .
u�=1
Easy to see that the likelihood function of observed data under the
model is convex in 𝐴. Then we can
1
Maximize (log-)likelihood using say BFGS.
2
Get contribution of 𝐸spatial,u� , 𝐸head,u� and any other suspected
covariates.
Gard Spreemann
Persistent homology and neural data
Inference
Will just write
u�
𝐸u� (𝑡) = ∑ 𝐴u�,u� exp (−𝑑(𝑥(𝑡), 𝑐u� )2 ) .
u�=1
Easy to see that the likelihood function of observed data under the
model is convex in 𝐴. Then we can
1
Maximize (log-)likelihood using say BFGS.
2
Get contribution of 𝐸spatial,u� , 𝐸head,u� and any other suspected
covariates.
3
Remove said (expected) contribution from data.
Gard Spreemann
Persistent homology and neural data
Inference
Will just write
u�
𝐸u� (𝑡) = ∑ 𝐴u�,u� exp (−𝑑(𝑥(𝑡), 𝑐u� )2 ) .
u�=1
Easy to see that the likelihood function of observed data under the
model is convex in 𝐴. Then we can
1
Maximize (log-)likelihood using say BFGS.
2
Get contribution of 𝐸spatial,u� , 𝐸head,u� and any other suspected
covariates.
3
Remove said (expected) contribution from data.
4
Get new “spike trains” (residuals); can still compute
correlations and persistence.
Gard Spreemann
Persistent homology and neural data
Random?
Yes
Information
about
topology of
hidden stimuli
No
No more
to learn
No
Yes
Stimuli list exhausted?
Persistence diagrams
and Betti curves
Persistent
homology
Gard Spreemann
1
Pick
phenomenon/stimuli;
e.g. spatial pos., head dir.,
u�-phase pref., ???, …
2
Infer its contribution
to spike trains
3
Remove contribution
Spike
trains
Persistent homology and neural data
Experiment
or
simulation
Synthetic data
Real recordings are now plentiful1 , but:
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
So, synthesize data:
Create firing data using the same (kinetic Ising) model as for
the inference.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
So, synthesize data:
Create firing data using the same (kinetic Ising) model as for
the inference.
Covariates are limited now only by your imagination:
Spatial environment can be anything.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
So, synthesize data:
Create firing data using the same (kinetic Ising) model as for
the inference.
Covariates are limited now only by your imagination:
Spatial environment can be anything.
Why stop at one head? (“Given an u�-headed rat exploring a
Klein bottle…”)
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
So, synthesize data:
Create firing data using the same (kinetic Ising) model as for
the inference.
Covariates are limited now only by your imagination:
Spatial environment can be anything.
Why stop at one head? (“Given an u�-headed rat exploring a
Klein bottle…”)
Theta phase preference/precession.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Synthetic data
Real recordings are now plentiful1 , but:
Experiments tend not to be topologically minded,
and they take a long time to do.
There is a lot of black magic that goes into postprocessing;
data should say “consult your neuroscientist before trusting”.
So, synthesize data:
Create firing data using the same (kinetic Ising) model as for
the inference.
Covariates are limited now only by your imagination:
Spatial environment can be anything.
Why stop at one head? (“Given an u�-headed rat exploring a
Klein bottle…”)
Theta phase preference/precession.
Neurons can be coupled at will.
1 E.g. “Collaborative Research in Computational Neuroscience” data sharing at http://crcns.org.
Gard Spreemann
Persistent homology and neural data
Proof of concept 1
Space is a an annulus (specifically square box with impassable
disc in the middle).
Spatial tuning “quite strong”.
Head direction tuning “quite strong”.
Gard Spreemann
Persistent homology and neural data
Proof of concept 1
Space is a an annulus (specifically square box with impassable
disc in the middle).
Spatial tuning “quite strong”.
Head direction tuning “quite strong”.
We pretend that we are neuroscientists who have not heard of
head direction tuning; we believe spatial location is the only thing
influencing neural activity.
Gard Spreemann
Persistent homology and neural data
Proof of concept 1; original data
1.0
0.5
0.0
−0.5
−1.0
Gard Spreemann
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; original data
𝐻1
0.5
Death
0.4
0.3
0.2
1.0
0.5
0.1
0.0
0.0
0.0
0.1
0.2 0.3
Birth
Gard Spreemann
0.4
0.5
−0.5
−1.0
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; space removed
1.0
0.5
0.0
−0.5
−1.0
Gard Spreemann
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; space removed
𝐻1
0.5
Death
0.4
0.3
0.2
1.0
0.5
0.1
0.0
0.0
0.0
0.1
0.2 0.3
Birth
Gard Spreemann
0.4
0.5
−0.5
−1.0
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; head removed
1.0
0.5
0.0
−0.5
−1.0
Gard Spreemann
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; head removed
𝐻1
0.5
Death
0.4
0.3
0.2
1.0
0.5
0.1
0.0
0.0
0.0
0.1
0.2 0.3
Birth
Gard Spreemann
0.4
0.5
−0.5
−1.0
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; space and head removed
1.0
0.5
0.0
−0.5
−1.0
Gard Spreemann
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; space and head removed
𝐻1
0.5
Death
0.4
0.3
0.2
1.0
0.5
0.1
0.0
0.0
0.0
0.1
0.2 0.3
Birth
Gard Spreemann
0.4
0.5
−0.5
−1.0
0
1
2
Persistent homology and neural data
3
4
5
6
Proof of concept 1; space and head removed
𝐻1
250
0.4
200
0.3
150
0.2
100
0.1
50
0.0
0.0
0.1
0.2
0.3
Birth
Gard Spreemann
0.4
0
0.5
Persistent homology and neural data
Betti number
Death
0.5
Proof of concept 1; it’s random
300
Original
Spatial removed
Head dir. removed
Spatial + head dir. removed
Shuffled corr.
Betti number
250
200
150
100
50
0
0.0
0.1
0.2
0.3
0.4
0.5
Filtration
Gard Spreemann
Persistent homology and neural data
Thank you!
Gard Spreemann
Persistent homology and neural data
Related documents