Visualizer help
Visualizer allows you to see what happens inside ANN when it is working.When you start Visualizer, it tries to read network information from config_generated.txt. If this file is missing or incorrect, it asks to load some other configuration file. You don't need to exit Visualizer to do that, just press "L" to open loading dialog.
After successful start you should see a screen like that (although network may be different, depending on your configuration file):
- Blue bold lines on the left edge of picture are input pins of your network, similar lines on the right edge are output pins.
- Blue circles on the input pins are input nodes, which form an input layer. Their purpose is just to distribute input values into network.
- Green circles are neurons. They work exactly as described in Introduction to ANNs (their activation function is "logistic function"). You can see that neurons form layers, too. The first one after input layer is called the first "hidden" layer, second is the second "hidden" layer and so on, except the last one, which is called output layer (on this picture it has only one neuron).
Circles are filled with a color that is either black or white or some sort of grey. It indicates the output value of that node. Black is 0, white is 1. This output value is also written below each neuron.
- Nodes are connected with lines. They represent connections between neurons. Color of the line indicates the weight of connection. Black (not visible) is 0, white is the maximum allowed positive weight (default is +10) and brightest blue is the most negative allowed value (default is -10). Greys are, naturally, weights between 0 and +max_weight, and dark blues between 0 and -max_weight.
Using Visualizer is simple:
- To change input value on the first input pin, hold down key "1" on your keyboard (but not on NumPad section) and move your mouse up and down (pressing mouse buttons is not necessary). To change the second input value, hold down key "2" and move mouse up and down. This goes up to the key "0", which corresponds to the input number 10 (in case your network has so many inputs). If you have more than 10 inputs, then currently you can't modify the last ones (but if it is really necessary, then it can be easily fixed in source code if you have C++ programming experience and Allegro library, or if you write me and ask to fix it).
If you want to change all inputs to 0, then move your mouse down and then press "1", then "2" and so on. Same applies to any other input value.
You can also change several inputs simultaneously. Just hold down all the number keys you want and move mouse up and down. However, due to the keyboard hardware not all key combinations work.
- To load another ANN, press "L" and choose another configuration file. There are several examples already included with this software package (text files that start with conf), and you can make new ones with Trainer, or by editing files manually. All example files include a short description (you can read it with Notepad, or whatever text file viewer).
If the loaded configuration file does not describe weights of connections, then they are assigned randomly between values -max_weight and +max_weight.
If the network in configuration file is very big, then you have to wait a little bit while it is being loaded.
- To get a short help about keys in Visualizer, press "F1".
- To save a screenshot into bitmap file screenshot.bmp, press "F12". However, that does not work in menus (in help and in loading menu).
- And finally, to exit the program, press "Esc". If your network is very big and computer has a hard time working on it, you have to hold down Escape until you see a text "ESC pressed, will QUIT".