Shift-click the green flag, please! Turbowarp is necessary for full graph: https://turbowarp.org/projects/1260117012/?turbo&hqpen&limitless Press SPACE key to ask the AI. EXPLANATION in human language: There is something called "XOR", which is neither "OR" or "AND". Basically, a function XOR(a, b)=c checks if exactly *one* of the inputs is equal to 1, and if so, then c will be 1 as well. Else, c will be 0. The goal of this AI is to learn this pattern, so that when it gets [0, 1] or [1, 0] on input, it outputs "1", and if it gets [1, 1] or [0, 0], it outputs "0". Here, the AI learns this simple pattern. The 4 blue lines you see are the error rates of the network. If the blue lines are on Y position 0, then that means that the error is 0 and the network knows what it's doing. If it's something else, then the network is still learning. If multiple lines are at Y=0, and a couple others are still "vibrating", then that means that the network understands part of the problem, but not the whole problem. The AI learns by modifying it's parameters. These parameters are visualized in Yellow-ish colors. EXPLANATION In technical language: Blue represents the Error of the model. The goal of the model is to make the Error zero (visible when the model stabilizes). The rest represents the weights. If your model doesn't seem to be able to converge, try re-running. The network might be stuck in a saddle point. This isn't a bug in my code, but a consequence of using vanilla gradient descent without any optimizers like AdamW. This is a full implementation of backpropagation in a neural network with 3 layers, leaky ReLU activation functions after each layer. Each layer is 3x3 in size. The entire network has 27 weights. Despite having only 591 blocks, there was an insane amount of research behind the project, easily more than 30 hours on the backpropagation only, and hundreds of hours of background knowledge on AI to make this :)