Hello Stefan,
I am afraid that there is no way to implement such a global normalization efficiently in NEST. This is in a way a consequence of NEST's implementation reflecting biological structure, where you also do not have global communication between the axonal processes of a neuron (although some global constraints due to energy an other supplies to the synapses, I presume).
At present, you would need to
- use GetConnections to obtain SynapeCollection(s) containing the synapses you are intersted in - simulate in small time steps - obtain the weights from the synapse collections, normalize them and set them on the synapse collection
Note that synaptic weights are updated only when a spike passes through a synapse, so the weight you read out is the weight at the time of the last spike that passed a synapse.
Depending on the precise plasticity rule, one might also need to check whether the plasticity rule remains internally consistent when weights are manipulated externally. If the rule has internal state variables that depend not only on spike timing but also on synaptic weights at earlier times, this might lead to problems.
Best regards, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser
Department of Data Science Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
From: Stefan Dvoretskii stefan.dvorezky@gmail.com Date: Thursday, 3 August 2023 at 16:15 To: NEST User Mailing List users@nest-simulator.org Subject: [NEST Users] Maintaining connection weights outside synapse Hello all,
I am trying to implement a sort of plasticity that keeps the sum of all outgoing weights of the neuron constant. It would require not only knowing the weights of all synapses at a simulation timestep, but also setting them externally with this knowledge, i.e. setting weights outside of single synapse context. Is there any way I could implement it efficiently in NEST? Thanks in advance!
Best regards,
-- Stefan Dvoretskii