nest / nestml

A domain specific language for neuron and synapse models in spiking neural network simulation
GNU General Public License v2.0
45 stars 46 forks source link

Add GL model tutorial notebook #1005

Open clinssen opened 5 months ago

clinssen commented 4 months ago

From meeting 2024-04-02: we should add a figure that shows how picking various simulation resolutions (between say 0.01 and 10 ms) affects the number of emitted spikes in an extended simulation span.

clinssen commented 3 months ago

See here for further notes and comments: https://fz-juelich.sciebo.de/apps/files/?dir=/stochastic_model

Feedback from Renan (many thanks!):

  1. As we discussed before, the interpretation of Phi may vary. For instance, the ref [1] call it "firing function", and in their section "The Model" they explicitly say that Phi(V) in their context is a probability that grows monotonically in the limits of 0 to 1, then in this case Phi(V) is not the firing rate. I'm bringing this context to say that the biophysical parameters in the notebook were estimated using this same interpretation. • The reference where we estimated the Phi(U) from experimental data (Figure 5 of REF below) and also tested the reliability of the single neuron (Figure 1 of REF below) is this one: • Lima, V., Pena, R. F. O., Shimoura, R. O., Kamiji, N. L., Ceballos, C. C., Borges, F. S., Higa, G. S. V., de Pasquale, R., & Roque, A. C. (2021). Modeling and characterizing stochastic neurons based on in vitro voltage-dependent spike probability functions. The European Physical Journal Special Topics 2021 230:14, 230(14), 2963–2972. https://doi.org/10.1140/EPJS/S11734-021-00160-7 • An experimental reference for the reliability figure is the Figure 1 from: • Mainen, Z. F., & Sejnowski, T. J. (1995). Reliability of Spike Timing in Neocortical Neurons. Science, 268(5216), 1503–1506. https://doi.org/10.1126/science.7770778
    1. If considering Phi(V) as a probability of spike in function of the membrane potential, then I'm not sure if the conversion in nestml_gl_exp_model fits to this case: if random_uniform(0, 1) <= 1E-3 resolution() Phi(U). In my understanding, this is fine if Phi(U) is the firing rate (which I think is the case for the nestml_gl_ca_neuron_model), but maybe not for this one. • This definition makes the model similar to the Escape noise model, where here comes an example Markus mentioned about a similar existing model. If you check the link, Figure 5.8, shows equivalent Phi(V) curves for different discretizations dt, where you can see it affects Phi(U). So, back to the notebook, I understand that the nestml_gl_exp_model should not have the 1E-3 * resolution() multiplying Phi(U).
    2. A more technical issue, the reliability experiment has to be adjusted a bit. • For instance, the evaluate_neuron has more arguments than needed for the example. I can adjust it later. • Additionally, the idea of the experiment is testing multiple trials under constant current and frozen noise. I used a fixed poisson generator as a workaround, but ideally we should use the exact same noise_generator (frozen noise) across different trials. Is there a way to set a single noise_generator and apply it for multiple neurons? I mean, it is possible of course, but each neuron receives a different noise, ideally it should receive the exact same. If there is a smart way to do it, we should implement and replace the poisson generator.