Effect of spikes on membrane potential (IF_curr_exp)

26 views
Skip to first unread message

alv.correo

unread,
Nov 23, 2022, 6:28:46 AM11/23/22
to SpiNNaker Users Group
Hi there!

I'm currently working with frequency-variable spike trains using the IF_curr_exp model of PyNN and i'm trying to understand the empirical effects of spikes on membrane potential in this model.

I'm not sure what the exact model equation is, but I believe the spikes are modeled as voltages added to the membrane potential. My goal is to calculate that voltage injection so that I can determine whether or not the neuron will fire after an input spike arrives (it would also depend on the current membrane potential of the neuron). That doesn't sound like an easy task. I would appreciate very much your help!

Thank you very much in advance :)

Best regards,
Álvaro

Andrew Gait

unread,
Nov 23, 2022, 6:57:14 AM11/23/22
to alv.correo, SpiNNaker Users Group
Hi Alvaro,

I suggest you have a look at the sPyNNaker paper, in particular section 3.3 would seem to be the most helpful towards helping you answer your question.  The whole paper describes how the software was set up at that particular time so it is somewhat out of date with regard to some of the things it describes, but it (in particular section 3.3) should help you understand the underlying principles of the LIF model we're using.

https://www.frontiersin.org/articles/10.3389/fnins.2018.00816/full

Andy

----------------------------------------------------
Dr. Andrew Gait (he/him),
Research Software Engineer,
APT Group,
Department of Computer Science,
The University of Manchester,
Oxford Road, Manchester M13 9PL

email: andre...@manchester.ac.uk
web: http://personalpages.manchester.ac.uk/staff/Andrew.Gait/

I do not expect a reply to this email outside of normal working hours

From: spinnak...@googlegroups.com <spinnak...@googlegroups.com> on behalf of alv.correo <alv.c...@gmail.com>
Sent: 23 November 2022 11:28
To: SpiNNaker Users Group <spinnak...@googlegroups.com>
Subject: [SpiNNaker Mailing List] Effect of spikes on membrane potential (IF_curr_exp)
 
--
You received this message because you are subscribed to the Google Groups "SpiNNaker Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to spinnakeruser...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/a294b199-6401-4383-bef2-43c9931e791cn%40googlegroups.com.

Álvaro Ayuso Martínez

unread,
Nov 23, 2022, 2:32:16 PM11/23/22
to SpiNNaker Users Group
Hi Andy,

Thanks for the quick response. I have been studying the section you suggested and I think it has been quite useful, although I have not yet achieved what I intended. Regarding the LIF model equations presented in that section, I have a couple of doubts/comments that I don't know if you (or someone else) could help me to solve:

1) I understand that when there is no presynaptic activity and the parameter i_offset = 0 is defined, equation 1, which indicates how the potential varies with respect to time, does not depend on I(t), right? And that, in case there is presynaptic activity (which is the case I am interested in), it could be assumed that I(t) = Isyn(t).

2) In equation 2 I fail to understand the meaning of the delta function, since, if I understand correctly, the delta function is 1 when it is evaluated at 0, that is, when t = tj (where I am not clear about the meaning of tj).

Even understanding the equation, I think it's going to be complicated to find the exact value I'm looking for, but I'll keep working on it. Thank you very much!!!

Best regards,
Álvaro

Álvaro Ayuso Martínez

unread,
Nov 28, 2022, 10:01:28 AM11/28/22
to SpiNNaker Users Group
Hi,

I have continued studying all the equations presented in sPyNNaker's paper and I think I have solved most of the doubts I had at the beginning. However, there is something that I don't think I have understood yet:

According to the equation for the calculation of the synaptic currents, there is a summation term of the multiple of the weights by the Dirac delta function that is the cause of the appearance of the synaptic current when a spike occurs. This indicates that the sum of the weights of the connections through which a spike is transmitted in the same timestep must be added to the value of the current (actually, at the next value of the current) at the time when the spike occurs. In my case, this value should be 1, since there is only one synapse with weight 1. However, I have found that this empirically obtained value is approximately 0.91 in both the model used in SpiNNaker and the one used in the Brian simulator.

I have simulated the equations presented in the sPyNNaker paper to obtain results similar to those obtained by simulation, using the value 1 for current injection at the moment when spikes occur. The attached graph shows the curves obtained by sPyNNaker (blue) and by a custom script designed to perform the simulation using these theoretical equations (green). Does anyone know why there is a small difference in current injection? It should be noted that the values obtained for the current and shown in blue have been obtained by recording the parameter gsyn_exc in the neuron receiving the spikes. Thank you very much in advance!

Best regards,
Álvaro
spinnaker_comparison.png

Steve Furber

unread,
Nov 28, 2022, 11:05:08 AM11/28/22
to Álvaro Ayuso Martínez, SpiNNaker Users Group
Hi Alvaro,

I think a clue to the answer to your question is under equation (4) in the SpyNNaker paper:
To compensate for this assumption, wij is decayed before adding to the synapse to ensure the total charge input to a neuron matches the exact solution (van Albada et al., 2018). 

And in the van Albada et al paper:
For reasons of modularity, SpiNNaker separates the neuron and synapse dynamics and uses exponential integration (MacGregor, 1987; reviewed in Rotter and Diesmann, 1999), in which the input current to the membrane potential equation is treated as piecewise constant. The synaptic currents are decayed over one time step before being added to the input, to ensure that the total charge transferred per synaptic event is s, as in the exact solution.

So the 1 -> 0.91 difference you are seeing is the decay over 1 time step to correct for the intrinsic cumulative error of the discrete tilmestep model with piecewise constant input current.

I think you need to compare the SpiNNaker output neuron voltage with an exact analytical solution rather than with your simulation (which also uses discrete time steps?) to see how this works?

Best wishes,

—Steve

To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/9fdd2929-9bb8-4d90-be63-a09342c2ec1en%40googlegroups.com.
<spinnaker_comparison.png>

Álvaro Ayuso Martínez

unread,
Nov 29, 2022, 7:25:44 AM11/29/22
to SpiNNaker Users Group
Hi Steve,

Thank you very much for the information! I have been reading in depth the papers referenced in the sentences you mentioned (I really appreciate it, I recently read those sentences but I didn't even remember them) and I have not been able to find the way to measure the current drop. Finally I have taken a synaptic current of 0.9063 mA and the values obtained with both simulations are practically the same, so I have been able to continue working on them for my purposes.

Actually my interest is more to work with the equations used by SpiNNaker than with the exact analytical solutions, since I intend to justify the correct operation of a mechanism based on spikes to perform obstacle detection in a robotic platform on SpiNNaker.

Best regards,
Álvaro
Reply all
Reply to author
Forward
0 new messages