Trainers

NOTE: The Trainer interface is only partially functional in this release.   It is one of the main things being worked on for the final Simbrain 3 release.

Trainers can be used to train weights connecting layers of neurons using various forms of supervised learning. There are currently three trainers: backprop, Least-Mean-Squares (LMS)-iterative, and LMS-offline.

The trainer dialog can be used to set the weights connecting a given set of source and target neurons.   By using this dialog you can modify the weights connecting the source and target neurons, or (for some training algorithms) also create the weights.

To call up and use a trainer:

  1. Make sure you have an appropriate network to train.  You build a network by hand but one quick trick is to build a feed-forward network appropriate for  pattern association tasksis to use the buildLayeredNetwork script.
  2. Select the source and target neurons of this network.
  3. Open up a trainer by (1) right clicking and selecting Show Trainer, or (2) going to the Edit menu and selecting Show Trainer.  This action has this chalk / chalkboard icon, trainer icon.
  4. Select source and target data by clicking on the input data and training data buttons.   The first time you click these buttons you will be prompted to select a .csv file with the relevant data.  Thereafter it will open that data up.  You can edit the data if you like.
  5. Select what kind of training algorithm you want to use.  Some algorithms only work with some kinds of networks.  For example, LMS only works for 2-layer networks.  The preference button can be used to set parameters of the training session.
  6. When you're ready to go, click on the "play" button for iterative learning algorithms, or just click the "apply" button for non-iterative algorithms.  For iterative algorithms you will see the current error as it changes in time.

Note that once you close a trainer object the link to the input and training data is lost. 

When you are done training, the source neurons should produce the correct target values.  To test, you can open up a data world, load the input data in to that data world, and couple it to the source neurons, to see if it worked.