Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


examples:orchestrated_plasticity

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
examples:orchestrated_plasticity [2016/01/29 18:20] – [Output files] zenkeexamples:orchestrated_plasticity [2016/06/16 17:02] (current) – Updates link zenke
Line 1: Line 1:
 ====== Orchestrated Plasticity ====== ====== Orchestrated Plasticity ======
  
-You will find the code to reproduce the key results of [[http://www.nature.com/ncomms/2015/150421/ncomms7922/full/ncomms7922.html|Zenke, F., Agnes, E.J., and Gerstner, W.]] (2015). Diverse synaptic plasticity mechanisms orchestrated to form and retrieve memories in spiking neural networks. Nat Commun 6. on https://github.com/fzenke/pubsim +You will find the code to reproduce the key results of [[http://www.nature.com/ncomms/2015/150421/ncomms7922/full/ncomms7922.html|Zenke, F., Agnes, E.J., and Gerstner, W.]] (2015). Diverse synaptic plasticity mechanisms orchestrated to form and retrieve memories in spiking neural networks. Nat Commun 6. on https://github.com/fzenke/pub2015orchestrated
 {{ :examples:ncomms7922-f3.jpg |}} {{ :examples:ncomms7922-f3.jpg |}}
  
 ===== Getting the source  ===== ===== Getting the source  =====
  
-To run the orchestrated plasticity simulation as described in Figure 3 of the paper  download or clone the pubsim repository. Then cd into ''/2015orchestrated/''. You need to have Auryn installed and [[manual:compileAuryn|compiled]]. For this code to run you either need Auryn v0.5 or if you are used to working with Auryn v0.7 or newer, use the develop branch instead which supports Auryn name spaces (introduced with version v0.7).+To run the orchestrated plasticity simulation as described in Figure 3 of the paper  download or clone the pub2015orchestrated repository. Then cd into ''2015orchestrated/''. You need to have Auryn installed and [[manual:compileAuryn|compiled]]. For this code to run you either need Auryn v0.5 or if you are used to working with Auryn v0.7 or newer, use the develop branch instead which supports Auryn name spaces (introduced with version v0.7).
  
 ===== Running the code  ===== ===== Running the code  =====
Line 27: Line 26:
 ===== Output files ===== ===== Output files =====
  
-The simulation will per default run on 4 cores locally, but this might change depending on your [[manual:MPI setup]]. It will generate a range of files out of which the most important ones are *.ras (or [[manual:bras]] files if you use the newer develop branch version -- to decode the "binary" ras files use [[manual:Auryn Binary Extract|aube]]). The [[manual:ras]] files store the spike raster data of the simulation. Files labeled *.stimtimes contain the time point and duration of external stimulation events. These are text files. [[manual:pact]] files contain the "Pattern Activity" in which patterns correspond to the cell assemblies that are formed during the course of the simulation. There is more information being saved, but these files will already allow you to reproduce Figure 3d and j (as shown above).+The simulation will per default run on 4 cores locally, but this might change depending on your [[manual:MPI setup]]. It will generate a range of files out of which the most important ones are *.ras (or [[manual:spk]] files if you use the newer develop branch version -- to decode the "binary" ras files use [[manual:aube]]). The [[manual:ras]] files store the spike raster data of the simulation. Files labeled *.stimtimes contain the time point and duration of external stimulation events. These are text files. [[manual:pact]] files contain the "Pattern Activity" in which patterns correspond to the cell assemblies that are formed during the course of the simulation. There is more information being saved, but these files will already allow you to reproduce Figure 3d and j (as shown above). 
 + 
 +==== Phases of the simulation ==== 
 + 
 +Overall the code runs in three distinct and phases which are run consecutively. 
 +The network is initialized with random recurrent weights and spatially localized input weights as described in the paper. ''1run_init.sh'' simulates the first hour during which the network is repeatedly exposed to a barrage of four stimuli. All output files from this phase are prefixed ''rf1''. Historic side note: //rf// stands for "receptive field" to distinguish this simulation from the one with random inputs which does not form stable memories in the absence of any additional homeostatic mechanism, because the random drive to network cells is too weak to push them across the LTP threshold (details are in the paper). During the first hour of simulation the actual receptive fields are formed and recurrent connections start to strengthen (cf. Figs. 3d,e in the paper). The network state is then saved. 
 + 
 +The second phase is executed by ''2run_learn.sh''. It //rf2// starts where //rf1// stopped. Now the stimulation frequency is somewhat reduced and the network starts to exhibit delay activity after about 30-40 minutes (cf. Fig. 3j in the paper). The simulation stops after 1h total simulation time. 
 + 
 +Finally, the simulation is continued with ''3run_cued.sh'' and files are stored with prefix //rf3//. Now the network is presented with incomplete and some completely new cues to which it responds in a consistent way. This is illustrated in Fig. 4b in the paper. This simulation runs per default for another hour, but you can change the ''simtime'' value in ''3run_cued.sh''
  
 ==== Updating rf1.pat to sort cells according to their preferred stimulus ==== ==== Updating rf1.pat to sort cells according to their preferred stimulus ====
examples/orchestrated_plasticity.1454091658.txt.gz · Last modified: 2016/01/29 18:20 by zenke