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.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