Hello everyone,


I would like to ask how to normalize synaptic weights during STDP learning.

What I want to do is keeping the total amount of synaptic weights to/from each neuron constant.


I try to describe my goal a bit more precisely:

i: The index of a pre-synaptic neuron.

j: The index of a post-synaptic neuron.

w_ij(t): The synaptic weight from i-th neuron to j-th neuron at time=t.

s_i(t): the sum of all incoming synaptic weights to i-th neuron at time=t. i.e. the sum of w_ij(t) over j.


The goal is to set the sum of incoming weights (s_i(*)) to 1 by normalization (1 is just for simplicity).

By STDP, we can get updated synaptic weight matrix w_ij(t+1), and the sum s_i(t+1) is not necessarily 1. So, I want to set

w_ij(t+1) <- w_ij(t+1) / s_i(t+1)


I briefly read the documentation for synaptic models(https://nest-simulator.readthedocs.io/en/stable/models/synapses.html).

I am not very confident if my understanding is correct, but it seems that existing synaptic models handle only one synaptic weight. 

How can I gather data of all incoming(or outgoing as well) weights to a neuron and use the summation value inside of the STDP synapse model?


Best regards,

Keiko Fujii