|
perceptron
neural network educational tool
Perceptron is an educational software that allows creating,
teaching and testing single layered perceptron based neural networks.
You will be amazed by the fact that a set of ten perceptrons
can recognize the decimal digit set.. but it can't learn
a simple xor function...
First of all you need to create a set of perceptron neurons: in the
software they are called "classes" or "classifiers" (since every perceptron does the classification
of the inputs independently).
The software is focused on classification
of images so the perceptron is a bidimensional grid of a specified size.
You can also choose between "binary step", "sigmoid" and "hybrid" activation functions,
choose the learning rate, the image input channel and the target convergency error.
Next you create a set of training sample images: you simply load them from disk.
Perceptron recognizes the *.png and the *.jpg image formats. (No, the images do not need
to be grayscale). The training set must be pre-classified manually (see Edit...) to belong
to one of the classes you have defined in the previous step. Since this is an annoying
process I have included also an automated way for importing classifications with the images:
you just have to name them with the following syntax:
class_<name>_<probability>_<description>.<extension>
Perceptron will automatically associate the image to the class <name> with
the specified <probability>. (See also the samples included in the distro).
And then you train your perceptron array (aka single-layered neural network).
You can set the target error value and you can watch the total network error in real time.
(Hint: why the xor sample does never drop under 2 ?).
Finally you can test-run your child on a set of new samples to see if it has
generalized enough :)
The software comes with a set of samples that demonstrate the digit recognition,
the and function and the (impossible) xor function.
Perceptron is covered by the GPL license.
Happy Training :)
download
|