Press f to randomize point placements Press t to start/stop training Press d to toggle network/grid view If you want to repurpose this neural network, do the following: *Open the project editor, delete the point classifier sprite *Go to the Neural Network sprite, and join the scripts which have attached comments that say 'JOIN': (2 of these) *Use the layerwise neuron amounts list (self explanatory) *Use the first few items of the neuron activations list as inputs, and last few as outputs. Note: the network is really good at regression and function approximation tasks
This was a somewhat failed side project of mine, I shared it since I had nothing better to do with it I'm 12 (I was when I made this a while ago) and this has been quite a challenge. I succeeded in making a proper network, but the training seems inefficient and I keep running into either gradient vanishing or weights blowing up. It trains function approximation and regression tasks really well though. Inspired by tensorflow playground https://playground.tensorflow.org If you don't know what a neural network is, its a form of AI. This is the simplest type of neural network, vanilla or feedforward network. This network is basically a huge math function with lots of parameters called weights and biases which are optimized through a process called gradient descent to produce results that match training data. Here, the points are the training data and the network tries to classify them with certain restrictions. If you DO know what a neural network is, know that this network has two inputs (coords), one hidden layer with five neurons, and one output for colour. All the network math and matrix multiplication and gradient calculus is done perfectly, and within the project. I'm using tanh activation function with batch normalization.