The Leaky Integrate-and-Fire Neuron Model



Similar documents
Spike-Based Sensing and Processing: What are spikes good for? John G. Harris Electrical and Computer Engineering Dept

First Order Circuits. EENG223 Circuit Theory I

Simulating Spiking Neurons by Hodgkin Huxley Model

The Membrane Equation

A stochastic calculus approach of Learning in Spike Models

CHAPTER 5 SIGNALLING IN NEURONS

BIOPHYSICS OF NERVE CELLS & NETWORKS

Model Neurons I: Neuroelectronics

CHAPTER 28 ELECTRIC CIRCUITS

Stochastic modeling of a serial killer

Homework Assignment 03

ES250: Electrical Science. HW7: Energy Storage Elements

Rectifier circuits & DC power supplies

7 Network Models. 7.1 Introduction

12.4 UNDRIVEN, PARALLEL RLC CIRCUIT*

= (0.400 A) (4.80 V) = 1.92 W = (0.400 A) (7.20 V) = 2.88 W

Refractoriness and Neural Precision

Curcuits and Differential Equaitons

Series and Parallel Resistive Circuits

Problem Solving 8: RC and LR Circuits

3.4 - BJT DIFFERENTIAL AMPLIFIERS

Learning to classify complex patterns using a VLSI network of spiking neurons

Lab 1: Simulation of Resting Membrane Potential and Action Potential

Electrophysiological Recording Techniques

Step Response of RC Circuits

Brian 2 Documentation

The Method of Least Squares. Lectures INF2320 p. 1/80

1 Sufficient statistics

EFFICIENT DISCRETE EVENT SIMULATION

Broadband Coding with Dynamic Synapses

Making Accurate Voltage Noise and Current Noise Measurements on Operational Amplifiers Down to 0.1Hz

A Lesson on Digital Clocks, One Shots and Counters

Parameter Identification for State of Discharge Estimation of Li-ion Batteries

EXPERIMENT NUMBER 8 CAPACITOR CURRENT-VOLTAGE RELATIONSHIP

A Lesson on Digital Clocks, One Shots and Counters

Refractoriness and Neural Precision

Passive Conduction - Cable Theory

Experiment #5, Series and Parallel Circuits, Kirchhoff s Laws

Tutorial 12 Solutions

CHAPTER 6 PRINCIPLES OF NEURAL CIRCUITS.

Biological Neurons and Neural Networks, Artificial Neurons

css Custom Silicon Solutions, Inc.

Programmable Single-/Dual-/Triple- Tone Gong SAE 800

AT2 PROBLEM SET #3. Problem 1

Student Exploration: Circuits

DIODE CIRCUITS LABORATORY. Fig. 8.1a Fig 8.1b

Bode Diagrams of Transfer Functions and Impedances ECEN 2260 Supplementary Notes R. W. Erickson

Transistor Characteristics and Single Transistor Amplifier Sept. 8, 1997

4 SENSORS. Example. A force of 1 N is exerted on a PZT5A disc of diameter 10 mm and thickness 1 mm. The resulting mechanical stress is:

Appendix 4 Simulation software for neuronal network models

Lab 7: Operational Amplifiers Part I

Lab E1: Introduction to Circuits

Dependent Sources: Introduction and analysis of circuits containing dependent sources.

NESTML Tutorial. I.Blundell, M.J.Eppler, D.Plotnikov. Software Engineering RWTH Aachen.

Chapter 7 Direct-Current Circuits

Nuclear Physics Lab I: Geiger-Müller Counter and Nuclear Counting Statistics

R&D Engineer. equipment. the power

Numerical Solution of Differential Equations

DATA SHEET THICK FILM CHIP RESISTORS Introduction

Unsteady Pressure Measurements

Chapter 19. Electric Circuits

EDEXCEL NATIONAL CERTIFICATE/DIPLOMA UNIT 5 - ELECTRICAL AND ELECTRONIC PRINCIPLES NQF LEVEL 3 OUTCOME 4 - ALTERNATING CURRENT

LM555/NE555/SA555. Single Timer. Description. Features. Applications. Internal Block Diagram. Vcc GND. Trigger. Discharge. Output F/F.

Simulation of an Action Potential using the Hodgkin-Huxley Model in Python. Nathan Law Medical Biophysics 3970

LABORATORY 10 TIME AVERAGES, RMS VALUES AND THE BRIDGE RECTIFIER. Bridge Rectifier

Lecture 24: Oscillators. Clapp Oscillator. VFO Startup

Using NTC Temperature Sensors Integrated into Power Modules

Transistors. NPN Bipolar Junction Transistor

Action Potentials I Generation. Reading: BCP Chapter 4

Basic Op Amp Circuits

Operational Amplifier - IC 741

Title : Analog Circuit for Sound Localization Applications

ENGR-4300 Electronic Instrumentation Quiz 4 Spring 2011 Name Section

S. Boyd EE102. Lecture 1 Signals. notation and meaning. common signals. size of a signal. qualitative properties of signals.

PHYSICS 111 LABORATORY Experiment #3 Current, Voltage and Resistance in Series and Parallel Circuits

Op-Amp Simulation EE/CS 5720/6720. Read Chapter 5 in Johns & Martin before you begin this assignment.

Mechanics 1: Conservation of Energy and Momentum

Diodes and Transistors

Nodal and Loop Analysis

Experiment 4 ~ Resistors in Series & Parallel

V out. Figure 1: A voltage divider on the left, and potentiometer on the right.

Digital Logic Elements, Clock, and Memory Elements

School of Engineering Department of Electrical and Computer Engineering

Financial Mathematics and Simulation MATH Spring 2011 Homework 2

The Time Constant of an RC Circuit

Log and AntiLog Amplifiers. Recommended Text: Pallas-Areny, R. & Webster, J.G., Analog Signal Processing, Wiley (1999) pp

Resting membrane potential ~ -70mV - Membrane is polarized

Course Notes: Linear circuit theory and differential equations

PHYSICAL REVIEW LETTERS

Confidence Intervals for One Standard Deviation Using Standard Deviation

Experiment 8 Series-Parallel Circuits

Chapter 10 Advanced CMOS Circuits

Lecture 7 Circuit analysis via Laplace transform

Bipolar Transistor Amplifiers

Transcription:

The Leaky Integrate-and-Fire Neuron Model Emin Orhan eorhan@bcs.rochester.edu November 2, 2 In this note, I review the behavior of a leaky integrate-and-fire (LIF) neuron under different stimulation conditions. I closely follow chapter.1 of Gerstner and Kistler(22). I consider three different stimulation conditions below and show how each condition can be implemented in the Brian spiking neural network simulator for Python (Goodman & Brette, 28). Introduction: The leaky integrate-and-fire (LIF) neuron is probably one of the simplest spiking neuron models, but it is still very popular due to the ease with which it can be analyzed and simulated. In its simplest form, a neuron is modeled as a leaky integrator of its input I(t): τ m dv dt = v(t)+ri(t) (1) where v(t) represents the membrane potential at time t, τ m is the membrane time constant and R is the membrane resistance. This equation describes a simple resistor-capacitor (RC) circuit where the leakage term is due to the resistor and the integration of I(t) is due to the capacitor that is in parallel to the resistor. The spiking events are not explicitly modeled in the LIF model. Instead, when the membrane potential v(t) reaches a certain threshold v th (spiking threshold), it is instantaneously reset to a lower value v r (reset potential) and the leaky integration process described by Equation 1 starts anew with the initial value v r. To add just a little bit of realism to the dynamics of the LIF model, it is possible to add an absolute refractory period abs immediately after v(t) hits v th. During the absolute refractory period, v(t) might be clamped to v r and the leaky integration process is re-initiated following a delay of abs after the spike. 1. Stimulation by a constant input current: Consider the case of constant input: I(t) = I. We assume v r =. The solution of Equation 1 is then given by: v(t) = RI[1 exp( t τ m )] (2) It is easy to understand the behavior of this solution. The asymptotic value of the membrane potential is RI. If this value is less than the spiking threshold, v th, no spike can be generated. If, however, RI > v th, then the neuron generates spikes ( fires ) periodically. Assuming v() = v r =, the time of the first spike, t (1), can be found by solving: v th = RI[1 exp( t(1) τ m )] (3) This yields: t (1) = τ m ln RI RI v th () 1

Equation also gives the time between each successive spike the neuron fires (or its period). This is because we assumed v() = v r in deriving Equation. If we also add an absolute refractory period, abs, as discussed above, the period becomes: T = abs +τ m ln The mean firing rate of the neuron, f, is then given by 1/T: f = [ abs +τ m ln RI RI v th () RI RI v th ] 1 (6) Figure 1 (left) shows the simulation of a LIF neuron with a constant input current. In this simulation, we take v r = mv, v th = 1 mv and stimulate the neuron with a suprathreshold constant current of I = 2 mv (the current is given in units of mv, because we assume R = 1 mω; thus, a more accurate way of expressing this would be RI = 2 mv, but for the sake of brevity we will simply omit R in what follows). As predicted, the neuron fires regularly. Figure 1 (right) shows the f I (mean firing rate-input current) curves for a LIF neuron with (dashed line) and without (solid line) an absolute refractory period. These curves are calculated analytically using Equation 6. The following Brian code shows how to simulate a LIF neuron with a constant input current: 1 from brian import * 2 from numpy import * 3 if name == main : 6 N = 1 # number of neurons 7 8 tau_m = 1 * ms # membrane time constant 9 v_r = * mv # reset potential 1 v_th = 1 * mv # threshold potential 11 I_c = 2 * mv # constant input current 13 eqs = 1 dv/dt = -(v-i)/tau_m : volt 1 I : volt 16 17 18 lif = NeuronGroup(N, model=eqs, threshold=v_th, reset=v_r) 19 # You can add randomness in initial membrane potential by changing the following line 2 lif.v = v_r * mv + * mv * rand(len(lif)) 21 lif.i = I_c 22 23 spikes = SpikeMonitor(lif) 2 v_trace = StateMonitor(lif, v, record=true) 2 26 run(.1*second) 27 28 figure(1) 29 plot(v_trace.times/ms,v_trace[]/mv) 3 xlabel(, fontsize=2) 2

16.3 v (mv) 8 f (khz).2.1 2 6 8 1. 1 2 3 I Figure 1: Stimulation of a LIF neuron by a constant input current: the time-course of the membrane potential, v(t) (left); f-i curve for a LIF neuron with (dashed line: abs = ms) and without (solid line: abs = ms) an absolute refractory period (right). Red line indicates the particular I value used in the simulation on the left. 31 ylabel( v (mv),fontsize=2) 32 yticks([,,8,,16]) 33 3 show() 3 36 # plot the f-i curve for a LIF neuron with constant input 37 delta_abs = 38 tau_m = 1 39 v_th = 1 Is = linspace(,,1) 1 2 f1 = 1. / ( + tau_m * log(is/(is - v_th))) 3 f2 = 1. / (delta_abs + tau_m * log(is/(is - v_th))) figure(2) 6 plot(is,f1, k- ) 7 plot(is,f2, k-- ) 8 plot([2, 2],[,.3], r- ) 9 xlabel( I,fontsize=2) ylabel( f (khz),fontsize=2) 1 yticks([,.1,.2,.3]) 2 3 show() 2. Stimulation by a time-varying input current: For a general time-varying input current I(t), the solution of Equation 1, with the initial condition v(t ) = v r, is given by: v(t) = v r exp( t t )+ R t t exp( s )I(t s)ds (7) τ m τ m τ m As in the previous case, this equation describes the dynamics of the membrane potential between successive 3

16 v (mv) 8 2 6 8 1 3 I(t) 2 1 2 6 8 1 Figure 2: Stimulation of a LIF neuron by a time-varying input current. The lower panel shows the time-varying input current, I(t). In this example, at each time step t, I(t) is sampled from a Gaussian with mean 1 and standard deviation. Note that we take R = 1 mω, so the input current I and the membrane potential v have the same scale and the same units. Other parameters are the same as in the previous simulation: in particular v r =, v th = 1 mv. The upper panel shows the time-course of the membrane potential, v(t). Note that spiking is no longer regular. spiking events. When the membrane potential reaches the threshold, it is instantaneously reset to v r and starts to evolve according to Equation 7 again until the next spiking event. It is a simple but very instructive exercise to show that Equation 2 emerges as a special case of Equation 7 when the input current is constant: i.e. I(t) = I (note that we assumed v r = and t = in deriving Equation 2). Figure 2 shows the simulation of a LIF neuron with a time-varying input current, I(t). In this example, at each time step t, I(t) is sampled from a Gaussian distribution with mean 1 mv and standard deviation mv (again we omit R here, so the input current I(t) is specified in units of mv). This condition can be simulated using the same Brian code given above. The only thing that needs to be changed is line 21: here, we should substitute a time-varying current for the constant current used in the previous simulation. One way to do this in Brian is to use a TimedArray: lif.i = TimedArray((1 + *randn(1))*mv) This specifies the input current at each time-step of the simulation. We need to specify 1 values in total, because our total simulation time is 1 ms and each time-step in the simulation is.1 ms, thus the total number of time-steps in the simulation is 1. The resulting time-varying input current is shown in the lower panel of Figure 2 and the time-course of the membrane potential of the LIF neuron is shown in the upper panel of Figure 2. 3. Stimulation by synaptic currents: Previous sections considered the stimulation of the LIF neuron by the direct injection of constant or time-varying currents. Now, consider a more realistic situation where the neuron is stimulated by pre-synaptic spikes arriving at its synapses. Each pre-synaptic spike makes a stereotyped contribution, described by a function α(t), to the post-synaptic current and contributions of different pre-synaptic spikes are linearly summed to obtain the total post-synaptic current. Thus, the

16 2 3 v (mv) 1 1 8 6 2 2 6 8 1 Neuron no 2 1 1 2 6 8 1 I post (t) 2 2 1 1 2 6 8 1 Figure 3: Stimulation of a LIF neuron by synaptic currents: the time-course of the post-synaptic membrane potential, v(t) (left); raster plot of pre-synaptic spikes (middle); the total post-synaptic current, I post (t), due to pre-synaptic spikes (right). total post-synaptic current to the i-th neuron can be expressed as follows: I i (t) = w ij α(t t (f) j ) (8) j where t (f) j represents the time of the f-th spike of the j-th pre-synaptic neuron; w ij is the strength of synaptic efficacy between neuron i and neuron j. Common choices for α include (1) the instantaneous Dirac δ-pulse: α(t) = qδ(t) (9) whereq is thetotal charge injected into thesynapse; (2) thealphasynapse(i usetheexpressions inbrian s documentation below, Gerstner & Kistler (22) use slightly different expressions for these synapses): or (3) the bi-exponential synapse: f α(t) = α t τ exp(1 t τ ) (1) τ 2 α(t) = β [exp( t ) exp( t )] (11) τ 2 τ 1 τ 1 τ 2 where α and β are normalizing constants and τ, τ 1 and τ 2 are the time constants of the synapses. Figure 3 shows the simulation a LIF neuron with 2 pre-synaptic inputs arriving at an alpha synapse (Equation 1). In this example, we modeled the pre-synaptic inputs as independent Poisson processes with a common rate of Hz. The synaptic efficacies w ij (see Equation 8) were randomly drawn from a Gaussian distribution with mean 1.62 mv and standard deviation. mv. Other parameters of the LIF neuron were the same as in previous simulations (in particular, v r =, v th = 1 mv). The following Brian code shows how to perform the simulation demonstrated in Figure 3. Here, we used the alpha synapse function (line 18 below) from the brian.library.synapses module which contains a few useful built-in synapses such as the alpha synapse and the bi-exponential synapse. For a biexponential synapse, we would use the biexp synapse function from the same module: i.e. something like biexp synapse(input= I in,tau1=1*ms,tau2=*ms,unit=mv,output= ge ) on line 18 below. For a Dirac δ-pulse synapse, simply removing the line 18 entirely would be enough (why?). 1 from brian import * 2 from brian.library.synapses import alpha_synapse 3 from brian.library.if import leaky_if

from numpy import * 6 if name == main : 7 8 N_pre = 2 # number of presynaptic neurons 9 N_post = 1 # number of postsynaptic neurons 1 11 tau_m = 1 * ms # membrane time constant v_r = * mv # reset potential 13 v_th = 1 * mv # threshold potential 1 W = 1.62 * mv +.*randn(n_pre,n_post) * mv # synaptic efficacies 1 16 # Leaky IF neuron with alpha synapses 17 eqs = leaky_if(tau=tau_m,el=v_r)+current( I=ge:mV )+\ 18 alpha_synapse(input= I_in,tau=1*ms,unit=mV,output= ge ) 19 2 lif_pre = PoissonGroup(N_pre, rates=*hz) 21 lif_post = NeuronGroup(N_post, model=eqs, threshold=v_th, reset=v_r) 22 C = Connection(lif_pre, lif_post, ge, weight=w) 23 2 spikes_pre = SpikeMonitor(lif_pre) 2 spikes_post = SpikeMonitor(lif_post) 26 v_trace = StateMonitor(lif_post, vm, record=true) 27 I_trace = StateMonitor(lif_post, ge, record=true) 28 29 run(.1*second) 3 31 figure(1) 32 plot(v_trace.times/ms,v_trace[]/mv) 33 xlabel( $\mathrm{time \; (ms)}$,fontsize=3) 3 ylabel( $\mathrm{v \; (mv)}$,fontsize=3) 3 36 figure(2) 37 plot(i_trace.times/ms,i_trace[]/mv) 38 xlabel( $\mathrm{time \; (ms)}$,fontsize=3) 39 ylabel( $\mathrm{i_{post}(t)}$,fontsize=3) 1 figure(3) 2 raster_plot(spikes_pre) 3 xlabel( $\mathrm{time \; (ms)}$,fontsize=3) ylabel( $\mathrm{neuron \; no}$,fontsize=3) show() References [1] Gerstner, W. & Kistler, W. (22). Spiking Neuron Models: Single Neurons, Populations, Plasticity. Cambridge University Press. [2] Goodman, D. & Brette, R. (28). Brian: a simulator for spiking neural networks in Python. Frontiers in Neuroinformatics, 2:. doi: 1.3389/neuro.11..28. 6