Hi @itq. Sorry for the late reply, I was away for vacation. Regarding the PoissonInput
s, there is indeed a bit of a misunderstanding here. As a quick background: the idea is that we don’t want to model some neurons in detail – typically, “input” neurons external to the modelled system. We can do this using a PoissonGroup
, which only defines a firing rate and then generates spikes according to a Poisson process, but without modelling a membrane potential, etc. You can connect such a group to a NeuronGroup
in the same way as you would for a normal NeuronGroup
, i.e. with Synapses
. This works fine, and you have a lot of flexibility, e.g. each neuron could fire with a different rate, the rate could even change over time, each connection could have weights of different strengths, etc. However, this kind of simulation is quite costly if you have many of these simplified Poisson neurons. Quite often, you want to have many of these external neurons, all firing with the same, constant rate, and having the same strength. In this case, you can make a big simplification in terms of simulation: instead of determining for each individual Poisson neuron whether it spikes or not, you determine how many of the neurons that connect to a neuron spike. This is a random number from a binomial distribution (if there are many of them, it is well approximated by a Gaussian distribution). This is what PoissonInput
does. You specify the number of Poisson neurons that (this is the N
) which connect to each target neuron, and the rate with which the neurons fire. The simulation will then increase the target variable (v
in your case), by the respective amount at each time step. Hope that makes things a bit clearer!
Re Question 1:
The two are not the same, but they would be if you also used N=1
in the second variant. The second is much preferable, though, since it is more efficient. There is no reason to create a PoissonInput
for each target neuron.
Re 1.1:
No, the Poisson processes are independent in both cases (the rate is the same, but the individual “spike trains” are different)
Re 1.2:
In both cases, spike times will be different across neurons.
Re 1.3:
Hopefully my explanation above made this clearer, the N
is the number of “input neurons” that impinge on each target neuron.
Re Question 2:
I don’t quite understand this question – what are the “upstream neurons” in your case?
Re Question 4 (I did not see a question 3 ):
Negative weights are not a problem, they will have an inhibitory effect.