tutorials:writing_your_own_plasticity_model
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
tutorials:writing_your_own_plasticity_model [2016/08/18 16:44] – [Synapse and Plasticity Models] zenke | tutorials:writing_your_own_plasticity_model [2018/02/07 23:03] – [Synaptic traces] typo fix zenke | ||
---|---|---|---|
Line 6: | Line 6: | ||
* Zenke, F., and Gerstner, W. (2014). Limits to high-speed simulations of spiking neural networks using general-purpose computers. Front Neuroinform 8, 76. [[http:// | * Zenke, F., and Gerstner, W. (2014). Limits to high-speed simulations of spiking neural networks using general-purpose computers. Front Neuroinform 8, 76. [[http:// | ||
- | If you can write down a learning rule as a differential equation involving spike trains, synaptic traces and specific postsynaptic quantities, such as the membrane potential, Auryn will bring everything need to so so intuitively. Here is an example from Gerstner and Kistler (2002): | + | If you can write down a learning rule as a differential equation involving spike trains, synaptic traces and specific postsynaptic quantities, such as the membrane potential, Auryn will bring everything |
{{ : | {{ : | ||
- | In Auryn you can implement this type of learning rule very intuitively | + | In Auryn you can implement this type of learning rule if the '' |
Line 17: | Line 17: | ||
===== Understanding plasticity in Auryn ===== | ===== Understanding plasticity in Auryn ===== | ||
- | Before writing | + | In most cases you will want to use Auryn to implement |
- | + | ||
- | In most cases it will be best to writing your own synapse model, by modifying an existing model (like [[examples:sim_background|Triplet STDP]]) which already | + | |
Line 39: | Line 37: | ||
The macros '' | The macros '' | ||
- | This declaration should be matched in the '' | + | This declaration should be matched in the '' |
<code c++> | <code c++> | ||
/* Initialization of presynaptic traces */ | /* Initialization of presynaptic traces */ | ||
Line 49: | Line 47: | ||
tr_post_hom = dst-> | tr_post_hom = dst-> | ||
</ | </ | ||
- | which initializes the traces using their respective | + | which initializes the traces using their respective |
- | + | ||
- | The current value of a trace can then be accessed in the code via '' | + | |
==== Weight updates at spiking events (propagate) ==== | ==== Weight updates at spiking events (propagate) ==== | ||
Line 175: | Line 171: | ||
===== Changing the plasticity model ===== | ===== Changing the plasticity model ===== | ||
- | Suppose, you would like to change the plasticity model, all you need to do is to copy TripletConnection.h and TripletConnection.cpp to YourNameConnection.h and .cpp and then the '' | + | Most of the plasticity models in Auryn follow the design principles introduced above (e.g. http:// |
tutorials/writing_your_own_plasticity_model.txt · Last modified: 2018/02/07 23:11 by zenke