What to do: 1. Choose your inputs 2. Choose your goal (expected) Value that it has to achieve (between -1 and 1) -> Program tries to set OVal to this number (list in the middle on th right). For faster loading, use Turbomode (Shift+Green Flag). 3. Set start Learning Rate (best between 0.001 and 0.01) -> Smaller = way slower, but more precise ->If the big white dot goes outside of the black line or gets stuck on one side, restart (Bug) Press Q to hide/show lists/variables Explination: After you set everything up, the program tries to set the Output Number (in the OVal list) as close as possible to your expected number. It does so by changing its own settings (weights and bias) to calculate the same number as you have choosen. How close the program is to your number is indicated by the Loss Variable. The closer it is to 0, the close are the numbers. In the end it means that the network learns, that the input number you have choosen is equal to your expected number. Notes: This version of my Neural Network only has 2 input, 3 hidden and 2 output neuron right now, but it can still learn to get closer to your choosen (expected) numbers (only works with numbers between -1 and 1 right now). For the Learning Rate, I recomend a number between 0.001 and 0.01.If the Learning Rate is to small, it wont be able to come very close to your choosen number, but if it is to big, it will completely break and show something like -infinity after a few generations. In the future I want to make an image identifier or maybe even generator out of this base program.
Changelog: -added 1 input, 1 hidden and 1 output -tanh Activation function added -Momentum and RMSprop added = Adam optimizer -a LOT of bugfixes V1: https://scratch.mit.edu/projects/1322705550/ V1.1: https://scratch.mit.edu/projects/1323183534/ Thanks to @guhikl for debuging Thanks to 3Blue1Brown for the Youtube explination series: https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi