Artificial Neural Networks (ANNs) are the basis for everything that is happening in today’s world. They might be smaller or bigger depending on the application but they are always there. Artificial Intelligence, Machine Learning, and Deep Learning are all powered by the ANNs. Although we have heard this term a lot, we have little to no knowledge of what they are. But you surely want to learn more about them in an easily understandable way; So today, let’s talk Neural Networks!

**What are ANNs?**

Starting with a basic definition, Artificial Neural Networks or ANNs are the algorithms or systems inspired by the human nervous system. As the “neural” part of their name implies, they are designed to mimic the way we humans learn. Neural networks comprise input and output layers, as well as one or more hidden layers that are made from units called Perceptron that convert the input into something that can be used by the output layer. They are powerful tools to find patterns that are far too complex or numerous to be coded by a human programmer. It is through the help of these patterns that machines can perform several functions “intelligently” or more like humans. You can learn about the differences between the human brain and ANN __here__.

**History And Evolution**

We provide a summary of the history of ANNs. You can have an in-depth study on Wikipedia.

The first model of a Neural Network was developed by Warren McCulloch and Walter Pitts in 1943. In 1958, Frank Rosenblatt created the first-ever model that could do pattern recognition. Both of these were untestable due to the lack of computation power. The first multi-layer and testable systems were presented by Alexey Ivakhnenko and Lapa in 1965. Several concepts like __Recurrent NNs__, __Back-propagation__, __Max-pooling__ and more were introduced in the following years eventually leading to __Convolutional Neural Networks__ in 2011, which were the basis of Deep NNs and Deep Learning as we know today. Scientists have been working on making the ANNs deep (multi-layered) enough to solve more complex real-world problems since then.

**Important Terms To Know**

Before we start learning about the working of ANNs, there are numerous terms we should get know-how about.

**Perceptron (Artificial Neuron)**

As the heading says, a perceptron is a mechanical or algorithmic version of a human brain cell that makes the basic unit of a Neural Network. Each perceptron has an input and output node.

**Connection**

Connections link one perceptron in one layer to another neuron which can be in the same or another layer. A connection is always paired with a weight value. The goal of training an NN is to change this weight value to reduce the error or difference in the actual and calculated value.

**Weights**

The numbers attached to every connection that determines the importance/ effect of that neuron in the overall output.

**Bias**

Bias is a constant that allows the ANN model to adapt the data in the best way.

**Activation Function**

Activation functions are mathematical functions that determine a neural network’s output They are attached to each of the network’s perceptrons and decide whether or not it should be triggered depending on the model.

**Cost function**

The cost function is essentially the difference between the actual output and the output of the algorithm. This determines the algorithm’s level of accuracy and shows whether or not the software is ready for practical use.

**Gradient descent**

Gradient Descent is the systematic mechanism of adjusting input weights. This process’s actual function is to make the error as low as possible.

**Forward Propagation**

Forward propagation is a process of providing input values into the neural network and obtaining an output that we call predicted value.

**Back Propagation**

Back-propagation is simply a way to propagate the total loss back into the neural network to know how much of the loss each node is responsible for and then adjust the weights to minimize the loss.

**How ANNs Learn? – An Overview**

Now that we know the basic terminology related to NNs, we will see the working of an Artificial Neural Network. Since it is an extremely deep topic that needs a lot of explanation, we will only touch the basic concept of working of Neural Networks here.

You can think about the learning of a neural network just like the learning of a child. A repeats the task over and over again until He/She can do it with acceptable accuracy. Similarly, a Neural Net calculates the output using the given inputs and produces a wrong result the first time using Forward Propagation. Every layer of an ANN is responsible for one specific result, it passes on its result to the next layer and so on to the output layer. It then calculates the Cost Function of the model by comparing the actual and calculated output. This loss value is then mapped to all perceptrons in the layers using Back Propagation. The weight (importance) of every perceptron is adjusted using Gradient Descent and the output is calculated again. The algorithms keep repeating the process until the Cost Function is less than a threshold value, which is when the model can be deemed “trained.”

We have learned about the very basics of the ANNs today, but there is a huge world left to explore. Stay connected with us as we will walk you through everything and more related to NNs in the future.