Tensorflow — Neural Network Playground
Tensorflow's had this page for awhile. It's a nice && sort've fun way to experience at a high level view of what's going on in a neural network/deep learning setup without having to write the code for it.
I'll try to give a little explanation:
Essentially you're trying to classify all the given points within the 2D image. This 2D image is one form of whats called in deep/machine learning - the 'training data', 'training set', etc . So with this instance we know ahead of time the classifications per each point in the data set/training data - this is a form of supervised learning.
The whole objective of this is to create a neural network w/ no prior knowledge, based on just the given training data. This will end up performing a binary classification - which points are orange vs. which points are blue. It will continually loop/iterate over the training set, learning from the given data being fed into the initial input layer of neurons/inputs. This input layer is fed the given x/y coordinates [vertical/horizontal position] for each colored data point.
As it iterates, you'll notice that it'll continually reinforce specific connections with their respective 'weights' [i.e: numerical values] that lead eventually to the correct classification. You can also go into each given connection and adjust the weight value, which can be fun to mess around with.
There's some other aspects of neural network learning/weighting system that aren't shown here readily, things like gradient descent/backpropogation, but that's a whole other discussion.
Then you have following this - the 'hidden layer/s' of inputs/neurons. With this you can add/subtract the hidden layers. They perform similarly to the input layer in terms of their function.
The output layer converges on a final decision based on everything previous - # of layers, neurons, data points, inputs ,etc. TensorFlow shows 2 output neurons, though since this is a simpler binary classification problem you could subtract down to just 1 output neuron and still get the same result.
On the left side you can choose which dataset you'd like to use. Some are a little more difficult, though they're all doing supervised learning & binary classification
If you want to get into more depth you can also adjust learning rate, the activation functions within the neurons, etc.
Anyway, fun to tool around with & see how things look from a high level, at least in this type of instance.