On Mon, May 11, 2020 10:05:00 +0200, Julia Gallinaro wrote:
Dear Charl,
Hi Julia,
thank you for your reply! I am not familiar with NESTML yet, but I will go through the documentation you sent and try to implement a model as you suggested. Using exponential PSC would not be a problem for me.
I had meanwhile found a workaround, though. When setting the parameters for the vogels_sprekeler_synapse, I set both 'Wmax' and the parameter 'weight' to a negative value:
nest.CopyModel('vogels_sprekeler_synapse', 'plastic_inhibitory', {'tau': tau_stdp, 'Wmax': -10., 'eta': eta, 'alpha': alpha, 'weight': -.1, 'weight_recorder': weight_recorder[0]})
It now works, and seems to give me the results as expected. Would you know if this is equivalent to using the rule with positive weights and multiplying it by -1 afterwards?
The sign of the weight is not changed by the depression/facilitation functions. They only modify the magnitude and then copy the sign back on to the value. So, using negative values for weight and Wmax is the correct thing to do here.
This is the C++ implementation for your reference: https://github.com/nest/nest-simulator/blob/master/models/vogels_sprekeler_c...
We check to ensure that Wmax and the initial weight are of the same sign, so that an inhibitory synapses cannot be flipped to an excitatory and vice-versa: https://github.com/nest/nest-simulator/blob/master/models/vogels_sprekeler_c...
I *think* a negative weight is "standard convention" for inhibitory synapses in NEST, but I cannot find a reference to this at the moment.