Running a canned exercise may be fun and informative, but most people like to use simulation models to work on something new of their own. In this short section we will give you a quick overview of the essentials of creating your own project. We'll use the 4-2-4 encoder problem, first considered by Ackley, Hinton and Sejnowski in their seminal article on learning in Boltzmann machines. We'll stay with the back propagation learning algorithm, though, since it learns the problem much faster than the Boltzmann machine.
In the 4-2-4 encoder problem, the goal is to learn to associate an input pattern with itself via a small hidden layer (in this case containing 2 units). There are 4 input units and 4 output units, and there are 4 training pattern-pairs, each involving one unit on, the same unit, in both the input and the output:
Input Output 1000 -> 1000 0100 -> 0100 0010 -> 0010 0001 -> 0001
What we need to do is set up a network with four input units, four output units, and two hidden units; then create an environment containing the set of training patterns; then create the processes that train and test the network, then create Logs and LogViews for displaying the results of training and testing.
To begin, you just start up the executable for bp by typing bp++
at your unix prompt. This starts the program, giving you the
bp++
prompt as your command-line interface to the program, and
giving you a Root window as the seed of the GUI you are about to build
for yourself. You're going to do the whole thing through the GUI. You
can keep a script of what we've done so you can repeat the same steps
(or even edit them and do something slightly different) later. This is
optional, however; many people prefer simply to save the state of their
configured project in a .proj file.
To create your project, select .projects / New / Project in the Root window, and then just click Ok on the confirmation box that appears. A project menu will appear.