# Backward Propagation in Artificial Neural Network

Backpropagation is the tool of neural network training. It is a way to adjust the neural network weights based on the error rate obtained in the previous iteration. Proper adjustment of weights can reduce the error rate and increase the generalizability of the model.

Backpropagation in neural networks is a shortened form of “error propagation”. This is the standard method for training artificial neural networks. This method helps to calculate the slope of the loss function for all weights in the network.

The neural network backpropagation algorithms use the chain rule to calculate the gradient of a single weight loss function. Unlike the original direct calculation, it efficiently calculates one level at a time. Calculates the gradient, but doesn’t specify how to use it. Arithmetic operations are performed on a delta basis.

## Steps for algorithm working:

- Input X, arriving via the previously connected path.
- The input is modeled with the actual weight W. The weights are usually chosen at random.
- Calculate the output of each neuron from the input layer to the hidden layer and the output layer
- Calculate the output error
- Go back from the output layer to the hidden layer and adjust the weights to reduce the error

Repeat this process until you get the desired output.

**Why do we need **backward** propagation?**

Backpropagation is an “error backpropagation” and is very useful for training neural networks. It’s fast, easy to implement, and simple. Backpropagation requires no parameters except the number of inputs. Backpropagation is a flexible method because it does not require any prior knowledge of the network.

## Working of Backward propagation algorithm:

Neural networks use supervised learning to generate output vectors from the input vectors in which the network operates. Compare the resulting output with the desired output and generate an error report if the result does not match the generated output vector. Then adjust the weights according to the error ratio to get the desired output.

## Types of backpropagation:

There are two types of backpropagation networks.

**Static backpropagation:**Static backpropagation is a network designed to map constant input to constant output. These types of networks can solve established classification problems such as (Optical Character Recognition)**Recurrent backpropagation:**Recurrent backpropagation is another network used for fixed point learning. Activation with iterative backpropagation is feedforward until a certain value is reached. Constant backpropagation provides instant mapping while recursive backpropagation does not.

## Advantages and disadvantages of backward propagation:

### Advantages:

- Simple, fast, easy to program.
- Only the input number is set, no other parameters are set.
- Flexible and efficient.
- Users don’t need to learn any special functions

**Disadvantages**:

- It is sensitive to noisy data and irregularities. Noisy data can lead to inaccurate results.
- Performance is highly dependent on input data.
- Spending too much time training.
- The matrix-based approach is preferred over a mini-batch.