Cortex learning models (Weber at al. 2006, Weber and Triesch, 2006, Weber and Wermter 2006/7)

 Download zip file 
Help downloading and running models
A simulator and the configuration files for three publications are provided. First, "A hybrid generative and predictive model of the motor cortex" (Weber at al. 2006) which uses reinforcement learning to set up a toy action scheme, then uses unsupervised learning to "copy" the learnt action, and an attractor network to predict the hidden code of the unsupervised network. Second, "A Self-Organizing Map of Sigma-Pi Units" (Weber and Wermter 2006/7) learns frame of reference transformations on population codes in an unsupervised manner. Third, "A possible representation of reward in the learning of saccades" (Weber and Triesch, 2006) implements saccade learning with two possible learning schemes for horizontal and vertical saccades, respectively.
1 . Weber C, Wermter S, Elshaw M (2006) A hybrid generative and predictive model of the motor cortex. Neural Netw 19:339-53 [PubMed]
2 . Weber C, Triesch J (2006) A possible representation of reward in the learning of saccades Proc. of the Sixth International Workshop on Epigenetic Robots :153-60
3 . Weber C, Wermter S (2006) A self-organizing map of sigma-pi units Neurocomputing 70(13-15):2552-2560
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: C or C++ program;
Model Concept(s): Rate-coding model neurons; Reinforcement Learning; Unsupervised Learning; Attractor Neural Network; Winner-take-all; Hebbian plasticity;
Implementer(s): Weber, Cornelius [cweber at]; Elshaw, Mark [mark.elshaw at];

The simulator has been tested on a couple of UNIX/Linux systems
and on Windows with cygwin. It requires something equivalent to
g++ for compilation,
lex and yacc to generate the parser of the language file and
Tcl/Tk for the result viewer look.tcl.

Get the file
Then unzip, which creates the subdirectory coco06/ with the simulator in it.
Type ./make in coco06/, which creates the executable cococo
(and also prae.exe as a pre-processor).

Program call

Start the program in coco04/ with the following call:

./cococo -file v/mylanguagefile

Eg. mylanguagefile = HopfieldContinuous. Make sure a directory for the
activations and weights exists (in the examples, this is: /tmp/coco/).
This will start the program with it reading the language file v/mylanguagefile.
The program will allocate memory for the network you defined,
it will run the activation and training algorithm over and over again,
as you have described in your language file.

Start the ``GUI'', an image file viewer, like:

./look.tcl a w 0 1

Make sure to start this after the first weight- and activation-files have been
written out.
The arguments "a" means display activation files, "w" means display weights.
The numbers specify the areas from which to collect these files.
In the window, click the left mouse button or Return to reload the files,
right mouse button to quit.

Further reading

See the file which is the same as README.pdf or docu/handbook.pdf


With this neural net simulator, you edit your own network and training
algorithm using a built-in ``batch''-language.
In this language, you specify every detail of your algorithm.
You can extend the language by adding and compiling to the simulator
your own functions written in C.
A variety of networks with connectionist neurons can be programmed,
in particular if neuronal updates are local.

This simulator was developed to bridge the gap between pure C-code that
becomes messy over time and simulators (such as SNNS) which restrict the user
too much. It is meant as a scheme to organize new C-code that piles up during
development. New versions are not compatible with older ones, sorry.

The need for it arose from testing new neural network learning algorithms with
different architectures, in order to explain cortico-cortical connections
(hence the name). See the publication: Emergence of modularity within one
sheet of intrinsically active stochastic neurons. C. Weber and K. Obermayer.
Proc. ICONIP, 732-737 (2000).


Currently, the following files are supplied, addressing the following papers:

- v/HopfieldContinuous

  This addresses no paper in particular, but such a network is used in:
  "Self-Organization of Orientation Maps, Lateral Connections, and Dynamic
   Receptive Fields in the Primary Visual Cortex"
   C. Weber, In: Proc. ICANN, 1147-52, (2001).

  Such a network also constitutes the lateral, predictive weights in
  the following:

- v/CortexDocking

  The first produces, the latter analyze, the toy example weights of:
  "A hybrid generative and predictive model of the motor cortex"
   Cornelius Weber, Stefan Wermter and Mark Elshaw
   Neural Networks, 19 (4), 339-353 (2006).

- v/SigmaPi_1dim

   This creates Fig.6a) of:
   "A Self-Organizing Map of Sigma-Pi Units",
    C. Weber and S. Wermter, Neurocomputing (2006/7, in press).

- v/Vert_Horiz_Saccades

   This creates Fig.5 of:
   "A possible representation of reward in the learning of saccades"
   C. Weber and J. Triesch, Proc. Epigenetic Robotics, pp. 153-60 (2006).


Dr. Cornelius Weber, Room 0.318, Frankfurt Institute for Advanced Studies,
Johann Wolfgang Goethe University, Max-von-Laue Str. 1, 60438 Frankfurt am
Main, Germany. Tel: +49 69 798 47536, Fax: +49 69 798 47611.