Upload
pamela-lamb
View
219
Download
4
Tags:
Embed Size (px)
Citation preview
Today1. The integrate-and-fire model2. Simulation of neural networks3. Dendrites
Books Principles of Computational Modelling in Neuroscience,
by Steratt, Graham, Gillies, Willshaw, Cambridge University Press
Theoretical neuroscience, by Dayan & Abbott, MIT Press
Spiking neuron models, by Gerstner & Kistler, Cambridge Univerity Press
Dynamical systems in neuroscience, by Izhikevich, MIT Press
Biophysics of computation, by Koch, Oxford University Press
Introduction to Theoretical Neurobiology, by Tuckwell, Cambridge University Press
The integrate-and-fire model
The Hodgkin-Huxley model
Model of the squid giant axon
Nobel Prize 1963
nVndt
dnV
hVhdt
dhV
mVmdt
dmV
VEngVEhmgVEgdt
dVC
n
h
m
KKNall
)()(
)()(
)()(
)()()( 43
The Hodgkin-Huxley model
The spike threshold
spike threshold
action potential or « spike »
postsynaptic potential (PSP)
temporal integration
The sodium current
mVmdt
dmVm )()(
)( VEmgI Na
max. conductance (= all channels open)
reversal potential(= 50 mV)
mVmdt
dmV
VEmgVEgdt
dVC
m
Nall
)()(
)()(
Triggering of an action potential
mVmdt
dmV
VEmgVEgdt
dVC
m
Nall
)()(
)()(
The time constant of the sodium channel is very short (fraction of ms):we approximate )(Vmm
)())(()( VfVEVmgVEgdt
dVC Nall
Triggering of an action potential
)())(()( VfVEVmgVEgdt
dVC Nall
V
f(V)
0V1 ≈ El V2 V3 ≈ ENa
fixed points
stable stable
unstable
What happens when the neuron receives a presynaptic spike? V -> V+w
Below V2, we go back to rest,above V2, the potential grows (to V3 ≈ ENa)
V2 is the threshold
The integrate-and-fire model
spike threshold
action potential
PSP
« Integrate-and-fire »: RIVEdt
dVmL
m
If V = Vt (threshold)then: neuron spikes and V→Vr (reset)
(phenomenological description of action potentials)
« postsynaptic potential »
Is this a sensible description of neurons?
A phenomenological approach
Injected current
Recording
Model
(IF with adaptive threshold fitted with Brian + GPU)
Fitting spiking models to electrophysiological recordings
Rossant et al. (Front. Neuroinform. 2010)
Results: regular spiking cell
Winner of INCF competition: 76%(variation of adaptive threshold IF)
Rossant et al. (2010). Automatic fitting of spiking neuron models to electrophysiological recordings(Frontiers in Neuroinformatics)
Good news
Adaptive integrate-and-fire models are good phenomenological models!(response to somatic injection)
The firing rateT = interspike interval (ISI)
Firing rateF= 10 spikes/ 100 ms = 100 Hz
nTF
1
(Tn = tn+1-tn)
Constant current
Firing condition:
Time to threshold:
RIVEdt
dVmL
m
tL VRIE
R
EVI Lt
threshold Vt
reset Vr
tL
mL
VRIE
VRIET
)0(
log
tL
rL
VRIE
VRIET
log from reset
« Rheobase current »
Current-frequency relationship1
log1
tL
rL
VRIE
VRIE
TF
Refractory period
Δ = refractory period
tL
rL
VRIE
VRIET
log from reset
1
log1
tL
rL
VRIE
VRIE
TF max 1/Δ
Simulating neural networks with Brian
Who is Brian?
briansimulator.org
Example: current-frequency curvefrom brian import *
N = 1000tau = 10 * mseqs = '''dv/dt=(v0-v)/tau : voltv0 : volt'''group = NeuronGroup(N, model=eqs, threshold=10 * mV, reset=0 * mV, refractory=5 * ms)group.v = 0 * mVgroup.v0 = linspace(0 * mV, 20 * mV, N)
counter = SpikeCounter(group)
duration = 5 * secondrun(duration)plot(group.v0 / mV, counter.count / duration)show()
Simulating neural networks with Brian
Synaptic currents
synaptic current
postsynaptic neuron
synapse
Is(t)
smLm RIVE
dt
dV
Idealized synapse Total charge Opens for a short duration Is(t)=Qδ(t)
sIQ
Dirac function
)(tRQVEdt
dVmL
m EL
t
Lm eRQ
EtV
)(
RQVV
VEdt
dV
mm
mLm
Spike-based notation:
at t=0
Example: a fully connected networkfrom brian import *
tau = 10 * msv0 = 11 * mVN = 20w = .1 * mV
group = NeuronGroup(N, model='dv/dt=(v0-v)/tau : volt', threshold=10 * mV, reset=0 * mV)
W = Connection(group, group, 'v', weight=w)
group.v = rand(N) * 10 * mV
S = SpikeMonitor(group)
run(300 * ms)
raster_plot(S)show()
Example: a fully connected networkfrom brian import *
tau = 10 * msv0 = 11 * mVN = 20w = .1 * mV
group = NeuronGroup(N, model='dv/dt=(v0-v)/tau : volt', threshold=10 * mV, reset=0 * mV)
W = Connection(group, group, 'v', weight=w)
group.v = rand(N) * 10 * mV
S = SpikeMonitor(group)
run(300 * ms)
raster_plot(S)show()
R.E. Mirollo and S.H. Strogatz. Synchronization of pulse-coupled biological oscillators. SIAM Journal on Applied Mathematics 50, 1645-1662 (1990).
Example 2: a ring of IF neuronsfrom brian import *
tau = 10 * msv0 = 11 * mVN = 20w = 1 * mV
ring = NeuronGroup(N, model='dv/dt=(v0-v)/tau : volt', threshold=10 * mV, reset=0 * mV)
W = Connection(ring, ring, 'v')for i in range(N): W[i, (i + 1) % N] = w
ring.v = rand(N) * 10 * mV
S = SpikeMonitor(ring)
run(300 * ms)
raster_plot(S)show()
Example 2: a ring of IF neuronsfrom brian import *
tau = 10 * msv0 = 11 * mVN = 20w = 1 * mV
ring = NeuronGroup(N, model='dv/dt=(v0-v)/tau : volt', threshold=10 * mV, reset=0 * mV)
W = Connection(ring, ring, 'v')for i in range(N): W[i, (i + 1) % N] = w
ring.v = rand(N) * 10 * mV
S = SpikeMonitor(ring)
run(300 * ms)
raster_plot(S)show()
Example 3: a noisy ringfrom brian import *
tau = 10 * mssigma = .5N = 100mu = 2
eqs = """dv/dt=mu/tau+sigma/tau**.5*xi : 1"""
group = NeuronGroup(N, model=eqs, threshold=1, reset=0)
C = Connection(group, group, 'v')for i in range(N): C[i, (i + 1) % N] = -1
S = SpikeMonitor(group)trace = StateMonitor(group, 'v', record=True)
run(500 * ms)subplot(211)raster_plot(S)subplot(212)plot(trace.times / ms, trace[0])show()
Example 3: a noisy ringfrom brian import *
tau = 10 * mssigma = .5N = 100mu = 2
eqs = """dv/dt=mu/tau+sigma/tau**.5*xi : 1"""
group = NeuronGroup(N, model=eqs, threshold=1, reset=0)
C = Connection(group, group, 'v')for i in range(N): C[i, (i + 1) % N] = -1
S = SpikeMonitor(group)trace = StateMonitor(group, 'v', record=True)
run(500 * ms)subplot(211)raster_plot(S)subplot(212)plot(trace.times / ms, trace[0])show()
Example 4: topographic connectionsfrom brian import *
tau = 10 * msN = 100v0 = 5 * mVsigma = 4 * mVgroup = NeuronGroup(N, model='dv/dt=(v0-v)/tau + sigma*xi/tau**.5 : volt', threshold=10 * mV, reset=0 * mV)C = Connection(group, group, 'v', weight=lambda i, j:.4 * mV * cos(2. * pi * (i - j) * 1. / N))S = SpikeMonitor(group)R = PopulationRateMonitor(group)group.v = rand(N) * 10 * mV
run(5000 * ms)subplot(211)raster_plot(S)subplot(223)imshow(C.W.todense(), interpolation='nearest')title('Synaptic connections')subplot(224)plot(R.times / ms, R.smooth_rate(2 * ms, filter='flat'))title('Firing rate')show()
Example 4: topographic connectionsfrom brian import *
tau = 10 * msN = 100v0 = 5 * mVsigma = 4 * mVgroup = NeuronGroup(N, model='dv/dt=(v0-v)/tau + sigma*xi/tau**.5 : volt', threshold=10 * mV, reset=0 * mV)C = Connection(group, group, 'v', weight=lambda i, j:.4 * mV * cos(2. * pi * (i - j) * 1. / N))S = SpikeMonitor(group)R = PopulationRateMonitor(group)group.v = rand(N) * 10 * mV
run(5000 * ms)subplot(211)raster_plot(S)subplot(223)imshow(C.W.todense(), interpolation='nearest')title('Synaptic connections')subplot(224)plot(R.times / ms, R.smooth_rate(2 * ms, filter='flat'))title('Firing rate')show()
A more realistic synapse model Electrodiffusion: )( msss VEgI
ionic channel conductance
synaptic reversal potential
gs(t)
presynaptic spike
open closed
))(( mssmLm VEtRgVE
dt
dV
« conductance-based integrate-and-fire model »
Example: random networkfrom brian import *
taum = 20 * msecondtaue = 5 * msecondtaui = 10 * msecondEe = 60 * mvoltEi = -80 * mvolt
eqs = '''dv/dt = (-v+ge*(Ee-v)+gi*(Ei-v))*(1./taum) : voltdge/dt = -ge/taue : 1dgi/dt = -gi/taui : 1'''
P = NeuronGroup(4000, model=eqs, threshold=10 * mvolt, reset=0 * mvolt, refractory=5 * msecond)Pe = P.subgroup(3200)Pi = P.subgroup(800)we = 0.6wi = 6.7Ce = Connection(Pe, P, 'ge', weight=we, sparseness=0.02)Ci = Connection(Pi, P, 'gi', weight=wi, sparseness=0.02)P.v = (randn(len(P)) * 5 - 5) * mvoltP.ge = randn(len(P)) * 1.5 + 4P.gi = randn(len(P)) * 12 + 20
S = SpikeMonitor(P)
run(1 * second)raster_plot(S)show()
Example: random networkfrom brian import *
taum = 20 * msecondtaue = 5 * msecondtaui = 10 * msecondEe = 60 * mvoltEi = -80 * mvolt
eqs = '''dv/dt = (-v+ge*(Ee-v)+gi*(Ei-v))*(1./taum) : voltdge/dt = -ge/taue : 1dgi/dt = -gi/taui : 1'''
P = NeuronGroup(4000, model=eqs, threshold=10 * mvolt, reset=0 * mvolt, refractory=5 * msecond)Pe = P.subgroup(3200)Pi = P.subgroup(800)we = 0.6wi = 6.7Ce = Connection(Pe, P, 'ge', weight=we, sparseness=0.02)Ci = Connection(Pi, P, 'gi', weight=wi, sparseness=0.02)P.v = (randn(len(P)) * 5 - 5) * mvoltP.ge = randn(len(P)) * 1.5 + 4P.gi = randn(len(P)) * 12 + 20
S = SpikeMonitor(P)
run(1 * second)raster_plot(S)show()
Temporal coding
Reliability of spike timing
Mainen & Sejnowski (1995)
The same constant current is injected 25 times.
The timing of the first spike is reproducible
The timing of the 10th spike is not
Reliability of spike timing Time of spike n:
Constant current:
Similar constant current: I+δ
nnn Ttt 1
1
11
n
iin Ttt
)()1()1( 11 IfntTnttn
))()()(1()()( IfIfnItIt nn the distance between spikes grows linearly
Reliability of spike timing Constant current + noise:
Variance:
1
11
n
iin Ttt noise smallTTi
)noise smallvar()1()var( ntnthe distance between spikes grows as n
But
Mainen & Sejnowski (1995)
The same variable current is injected 25 times
The timing of spikes is reproductible even after 1 s.
(cortical neuron in vitro, injection at soma)
In the integrate-and-fire model
)(tRIVEdt
dVmL
m and if Vm=Vt: Vm → Vr
in silico in vitro
Spikes are precise if the injected current is variable
Dendrites
The dendritic tree
So far we assumed the potential is the same everywhere on the neuron (« point model » or « isopotential model »)
Not true!
Electrical model of a dendrite
outside
inside
Assumptions:• Extracellular milieu is conductor (= isopotential)• Intracellular potential varies mostly along the dendrite (not across)
dx
Let V(x) = Vintra(x) - Vextra
Electrical model of a dendrite
V(x) V(x+dx))(xI i
x
V
RdxR
dxxVxVxI
aai
1)()()(
Electrical model of a dendrite
dx
Capacitance: dxdCdxC m
d
specific membrane capacitanceMembrane resistance:
dxd
R
dx
R m
specific membrane resistance
Axial resistance:
2
4
d
dxRdxR i
a
intracellular resistivity
The cable equation
LEVt
V
x
V
2
22
Kirchhoff’s law at position x:
mmCR
i
m
R
dR
4
membrane time constant
space constant or« electrotonic constant »
SynapsesIs(t) = synaptic current at position x
Discontinuity of longitudinal current at position x:
)(),(),( tItxItxI sii
)(),(1
),(1
tItxx
V
Rtx
x
V
R saa
Stationary response
LEVt
V
x
V
2
22
LEVdx
Vd
2
22
Let EL=0 (reference potential)
Vdx
Vd
2
22
Solutions: //)( xx beaexV
We need boundary conditions to determine a and b
Stationary response: infinite cableI = (constant) current at x=0
V(x) is bounded
Itx
V
Rt
x
V
R aa
),0(1
),0(1
Exponential solution on each half-cylinder:
/
2)( xa e
IRxV
d
RR m
a
Green functionI(t) = current at position x=0
bounded V(x)
)(),0(1
),0(1
tItx
V
Rt
x
V
R aa
Let G(x,t) the solution of the cable equation with condition LV=δ(t).Then:
0
)(),(),( dsstIsxGtxV
G = Green function
(convolution)
Green functionI(t) = current at position x=0
bounded V(x)
)(),0(1
),0(1
ttx
V
Rt
x
V
R aa
)()4
exp(4
1),(
2
2
tHt
xt
tCtxG
(Fourier transform)
(Gaussian for x)
Dendritic delay
t
V
time to maximum = t*(x)
0*),(
txt
V
0*),()(log
tx
t
V
simpler (and equivalent:)
)/1(82
)(* xoxxt
(Pseudo) propagation speed:2
v proportional to d
The dendritic tree
not really a cylinder
but almost: connected cylinders
Cable equation on the dendritic tree On each cylinder k:
At each branching point:
kkk
k Vt
V
x
V
2
22
i
mkk R
Rd
4
0
2
1
Continuity of potential:
Kirchhoff’s law
)0()0()( 210 VVLV
L),0(
1),0(
1),(
1 2
2
1
1
0
0
tx
V
Rt
x
V
RtL
x
V
R
2
4
k
ik d
RR
Cable equation on the dendritic tree At endings:
At the soma:
Kirchhoff’s law:
No current across:
0),(
tLx
Vk
0isopotential
),0(),0(),0(1
000
0
tVgtt
VCt
x
V
R L
transmembrane current
Cable equation on the dendritic tree Synapses: Is(t) = synaptic current at position x
)(),(1
),(1
tItxx
V
Rtx
x
V
R sk
k
k
k
Cable equation on the dendritic tree Summary:
kkk
k Vt
V
x
V
2
22
Linear homogeneous PDEs
)0(
)0(
)(
2
1
00
k
k
kk
V
V
LV
),0(1
),0(1
),(1 2
2
1
10
0
0
tx
V
Rt
x
V
RtL
x
V
Rk
k
k
kk
k
k
Synapses:
0),(
tLx
Vk
),0(),0(),0(1
000
0
tVgtt
VCt
x
V
R L
Linear homogeneous conditions:
Lj(V)=0
linear operator
)(),(1
),(1
tItxx
V
Rtx
x
V
R sk
k
k
k
)()( tIVS s
Superposition principle Postsynaptic potential PSPj(t):
solution at soma of
Solution for multiple spikes at all synapses:
kkk
k Vt
V
x
V
2
22
)()( tIVS jj
Lj(V)=0
synaptic current at synapse jfor a spike at time 0
PSPj(t)=V(0,t)
cable equation
homogeneous conditions(branchings, etc)
kj
kjttPSPtV
,
)(),0( kth spike at synapse j
Dendrites: summary Membrane equation ⟶ partial
differential equation « the cable equation »
Linearity ⇒ superposition principle
Different story with non-linear conductances!
ji
jiim ttPPStV
,
)()(
jiii VEgV
x
V
t
V
,2
22 )(
See: Biophysics of computation, by Christof Koch, Oxford University Press
Variations around the integrate-and-fire model
The « perfect integrator » Neglect the leak current:
Or more precisely: replace Vm by
)(tRIVEdt
dVmL
m
2rt VV
)(2
tRIVV
Edt
dV rtL
m
2rt VV
The perfect integrator
Normalization Vt=1, Vr=0
)(tIdt
dV and if V=Vt: V → Vr
= change of variable for V:V* = (V-Vr)/(Vt-Vr)idem for I
)(2/)()(* tRIVVEtI rtL
The perfect integrator Constant current
Integration: Time to threshold:
Firing rate:
Idt
dV
ItVtV )0()(
IT
1
IT
F 1
if I>0
The perfect integrator Variable threshold
Integration:
Firing rate:
)(tIdt
dV
t
dssIVtV0
)()0()(
IF
)2sin(2
1)( fttI
0Iif
0F otherwiseHz
Comparison with integrate-and-fire: constant current
R
Good approximation far from threshold(proof: Taylor expansion)
Spike timing: the perfect integrator is not reliable
2 different initial conditions:
2 slightly different inputs (ex. noise):
)(1 tIdt
dV )(2 tI
dt
dV
constant difference modulo 1
)(1 tIdt
dV )()(2 ttI
dt
dV
the difference grows ast
dss0
)( tO
(modulo 1)if ε(t) = noise
The quadratic IF model Comes from bifurcation analysis of HH model,
i.e., for constant near-threshold input.
More realistic current-frequency curve (contant input)
But not realistic in fluctuation-driven regimes (noisy input)
RIVVVVadt
dVt ))(( 0
Resting potential Threshold
Spikes when V>Vmax (possibly infinity)
The exponential integrate-and-fire model
Boltzmann functionVa=-30 mV, ka=6 mV(typical values)
(Fourcaud-Trocmé et al., 2003)
The exponential integrate-and-fire model
Spike initiation is due to the sodium (Na) channel
)()( 3 VEhmgVEgdt
dVC Nall
INa
)exp(~a
TNa k
VVI
(spike when V diverges to infinity)
The exponential integrate-and-fire model
(Fourcaud-Trocmé et al., 2003)
Na+ current (fast activation)
Brette & Gerstner (J Neurophysiol 2005)Gerstner & Brette (Scholarpedia 2009)
With adaptation, it predicts output spike trains of Hodgkin-Huxley models
Badel et al. (J Neurophysiol 2008)
V
The exponential I-V curve fits in vitro recordings
Izhikevich model
Fig. from E. M. Izhikevich, IEEE Transactions on Neural Networks 14, 1569 (2003).
Many neuron types by changing a few parameters
Comes from bifurcation analysis of HH equations with constant inputs near threshold→ not correct for fluctuation-driven regimes
Adaptive exponential model Same as Izhikevich model, but with exponential initiation
Spike:V → Vr
w → w + bwEVadt
dw
IwVV
gEVgdt
dVC
lw
T
TTLLL
)(
)exp()(
More realistic for fluctuation-driven regimes
Brette, R. and W. Gerstner (2005). J Neurophysiol 94: 3637-3642.