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 revision | ||
tutorials:writing_your_own_plasticity_model [2016/08/18 16:56] – [Changing the plasticity model] zenke | tutorials:writing_your_own_plasticity_model [2018/02/07 23:11] (current) – Adds final paragraph on unit tests 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 ===== | ||
- | In most cases you will want to use Auryn to implement your own synapse model. The easiest to do this is by understanding and modifying an existing model. Most of the plasticity models in Auryn are implemented in source files which contain the acronym STDP, e.g. [[manual: | + | In most cases you will want to use Auryn to implement your own synapse model. The easiest to do this is by understanding and modifying an existing model. Most of the plasticity models in Auryn are implemented in source files which contain the acronym STDP, e.g. [[manual: |
Line 47: | Line 47: | ||
tr_post_hom = dst-> | tr_post_hom = dst-> | ||
</ | </ | ||
- | which initializes the traces using their respective time constants tau_* and registers them to either the presynaptic ('' | + | which initializes the traces using their respective time constants tau_* and registers them to either the presynaptic ('' |
==== Weight updates at spiking events (propagate) ==== | ==== Weight updates at spiking events (propagate) ==== | ||
Line 171: | Line 171: | ||
===== Changing the plasticity model ===== | ===== Changing the plasticity model ===== | ||
- | Most of the plasticity models in Auryn follow the design principles introduced above (e.g. http://www.fzenke.net/ | + | Most of the plasticity models in Auryn follow the design principles introduced above (e.g. http:// |
Line 201: | Line 201: | ||
where you will have to define and initialize the variable time_scaling somewhere in your connection object. It will give you the new step width in multiples of Auryn' | where you will have to define and initialize the variable time_scaling somewhere in your connection object. It will give you the new step width in multiples of Auryn' | ||
+ | This should give you the necessary tools to start out with writing your own plasticity models. As with all code, write simple unit tests to ensure you are simulating what you want to simulate. Happy coding. |
tutorials/writing_your_own_plasticity_model.1471539379.txt.gz · Last modified: 2016/08/18 16:56 by zenke