by Jeff Meyers
University of Michigan-Dearborn
April 1998
Directions
Press "PTrain", which stands for Perfect Train, to have
the applet train the neural network. This will initialize the neural network with
random weights.
Press "Train" to train the neural network yourself.
This will initialize the neural network with random weights.
Press "Continue" to continue the previous way it was
training. This will not initialize the neural network but will just continue its
training.
Press "Recall" to see how the neural network does
against itself. No training occurs.
Press "Play" to play against the neural network. No
training occurs.
Press "Load" to load the neural network with a presaved
set of weights that has been trained fairly well. Make sure that the number of neurons
under "Props" is set to 10 for this set to work correctly.
Press "Props" to change the neural network and game
characteristics. For more information on Properties see below.
Press "Weights" to send a list of the current weights
of the neural network to the Web Browser's Standard Java output.
The Slider at the bottom of the screen changes the
graphics delay and is useful when this is running on a very fast machine.
Initially the delay is set to zero but by moving the slider to the right the delay
will increase.
Properties Window
Learning Rate: This controls how fast the neural
network learns. The higher the value the faster it learns, but the higher you set it
the greater the possibility for oscilation in the learn and errors could occur.
Generally, one is a good learning rate but you can experiment with values as low as
.0000001 and as high as 100.
Lamda: This controls the steepness of the
unipolar-sigmoidal activation function. The higher the value the steeper the function
gets and the more closely it approximates the unipolar-threshold function. The smaller
the value the more closely it approximates a linear function. Minimum is 0.
Neurons: This corresponds to how many neurons are used
in the network hidden layer. This can be any integer from 1 to 100.
Number of sets: This corresponds to how many training
sets you want to collect before sending it through the neural network. Setting this
to 1 will train the neural network continuously instead of gathering the sets and then
training with them. Minimum is 1. Maximum is 100.
Number of cycles: This corresponds to how many times
each training set is sent through the neural network. When "Number of sets" is set to
one this is automatically set to one. Minimum is 1. Maximum is 100.
Ball size: This corresponds to the size of the ball in
pixels. Minimum is 5. Maximum is 30.
Ball speed: This corresponds to the relative speed of
the ball on the graphics screen. The larger the value the faster the ball will travel.
Minimum is .0000001. Maximum is equal to the pixel width of the playing area.
Left Paddle size: This corresponds to the height of the
left paddle in pixels. Minimum is 10. Maximum is 100.
Right Paddle size: This corresponds to the height of
the right paddle in pixels. Minimum is 10. Maximum is 100.
Angle Randomness: This corresponds to the maximum
possible error in degrees of the ball angle when it bounces off the paddle or walls.
Minimum is 2. Maximum is 20.
Graphics Delay: This controls the graphics speed and
is linked to the slider at the bottom of the screen. Initially the delay is set to
zero but by changing this to a higher value between 0 and 10000 the delay will increase.