What’s up with Neural Networks?

Tons of stuff actually. These days it seems fairly difficult to not run across something that claims to be powered and/or enriched by artificial intelligence or machine learning. But like what is it? What is it all the hype these days?

There’s a LOT to it, and in this post we’ll just be focusing on one such computing system; neural networks. As the name may give away, it aims to simulate the biological processes of ‘figuring a task out’ that is similar to the process belonging to a biological brain found in animals and humans.

The average human brain has around 100 billion neurons(or nerve cells), and at birth the brain can be seen as a fairly empty slate in terms of knowledge. A newborn won’t be able to differentiate between a pineapple and a mango – until after it learns what fruit are, after it learns what they both look like. The brain of the child will eventually figure out the answer to that question…after its brain is fed those vital pieces of information. At a glance, the kid will be able to correctly identify the fruit – in this case this can be called pattern matching.

Neural networks are primarily used to be able to recognize patterns. In this example, you’d have to know the patterns you want to find ahead of time (supervised learning). In our brains, neurons are either activated or inactivated which has a parallel of ON/OFF or 0/1 in software. The total weight of all the synapses connected to a neuron would determine what state it is in.

Now the neurons are arranged in a couple layers, in a simplified example these are usually input layers / one or more hidden layers / and an output layer. You’d stuff the representation of what you’re trying to figure out in the input layer (or the far left in the picture). Those activated neurons would affect the weight of the neurons in the next layer (middle layer in the picture), eventually you get to the output layer (far right) in which the network makes a prediction. It’ll either be “Yes it’s a pineapple” or “No it’s not a pineapple”, if it gets the answer wrong – it tweaks itself until it starts making correct predictions.

This has a lot of application in the real world, say Facebook wanted to ban images of hot-dogs🌭 on their site, it could utilize a trained neural network to determine whether the picture of your Aunt in Mexico contains a 🌭, or not.

Obviously identifying whether a picture contains a hot-dog is just the tip of the iceberg.