eprop_synapse – Synapse type for e-prop plasticity ================================================== Description +++++++++++ ``eprop_synapse`` is an implementation of a connector model to create synapses between postsynaptic neurons :math:`j` and presynaptic neurons and :math:`i` for eligibility propagation (e-prop) plasticity. E-prop plasticity was originally introduced and implemented in TensorFlow in [1]_. The e-prop synapse triggers the calculation of the gradient at each spike over an interval that begins at the previous spike and ends at a cutoff specified by the user or the current spike, depending on which of the two time points is earlier. The gradient calculation is specific to the post-synaptic neuron and thus defined there. Eventually, it optimizes the weight with the specified optimizer. E-prop synapses require archiving of continuous quantities. Therefore e-prop synapses can only be connected to neuron models that are capable of archiving. So far, compatible models are ``eprop_iaf``, ``eprop_iaf_psc_delta``, ``eprop_iaf_psc_delta_adapt``, ``eprop_iaf_adapt``, and ``eprop_readout``. For more information on e-prop plasticity, see the documentation on the other e-prop models: * :doc:`eprop_iaf<../models/eprop_iaf/>` * :doc:`eprop_iaf_adapt<../models/eprop_iaf_adapt/>` * :doc:`eprop_readout<../models/eprop_readout/>` * :doc:`eprop_learning_signal_connection<../models/eprop_learning_signal_connection/>` For more information on the optimizers, see the documentation of the weight optimizer: * :doc:`weight_optimizer<../models/weight_optimizer/>` Details on the event-based NEST implementation of e-prop can be found in [2]_. .. warning:: This synaptic plasticity rule does not take :ref:`precise spike timing ` into account. When calculating the weight update, the precise spike time part of the timestamp is ignored. Parameters ++++++++++ The following parameters can be set in the status dictionary. ================ ==== =============== ======= ====================================================== **Common e-prop synapse parameters** ---------------------------------------------------------------------------------------------------- Parameter Unit Math equivalent Default Description ================ ==== =============== ======= ====================================================== ``optimizer`` {} Dictionary of optimizer parameters ================ ==== =============== ======= ====================================================== ============= ==== ========================= ======= ========================================================= **Individual synapse parameters** -------------------------------------------------------------------------------------------------------------- Parameter Unit Math equivalent Default Description ============= ==== ========================= ======= ========================================================= ``delay`` ms :math:`d_{ji}` 1.0 Dendritic delay ``weight`` pA :math:`W_{ji}` 1.0 Initial value of synaptic weight ============= ==== ========================= ======= ========================================================= Recordables +++++++++++ The following variables can be recorded. ================== ==== =============== ============= ========================================================== **Synapse recordables** ---------------------------------------------------------------------------------------------------------------- State variable Unit Math equivalent Initial value Description ================== ==== =============== ============= ========================================================== ``weight`` pA :math:`B_{jk}` 1.0 Synaptic weight ================== ==== =============== ============= ========================================================== Usage +++++ This model can only be used in combination with the other e-prop models and the network architecture requires specific wiring, input, and output. The usage is demonstrated in several :doc:`supervised regression and classification tasks <../auto_examples/eprop_plasticity/index>` reproducing among others the original proof-of-concept tasks in [1]_. Transmits +++++++++ SpikeEvent, DSSpikeEvent References ++++++++++ .. [1] Bellec G, Scherr F, Subramoney F, Hajek E, Salaj D, Legenstein R, Maass W (2020). A solution to the learning dilemma for recurrent networks of spiking neurons. Nature Communications, 11:3625. https://doi.org/10.1038/s41467-020-17236-y .. [2] Korcsak-Gorzo A, Stapmanns J, Espinoza Valverde JA, Plesser HE, Dahmen D, Bolten M, Van Albada SJ, Diesmann M. Event-based implementation of eligibility propagation (in preparation) See also ++++++++ Examples using this model +++++++++++++++++++++++++ .. listexamples:: eprop_synapse