- Feed Forward Pass
- Take the derivative of the loss with each parameter
- chemise parameters to update the weights and
**minimize the Loss**.

If you look closely at the visualize above, you can see that it runs similarly to a simple Neural Network. It completes a feedforward pass, calculates the passing at each output, takes the derivative of each output, and propagates backward to update the weights. Since errors are calculated and are backpropagated at each timestamp, this is besides known as “ backpropagation through time ”. Computing the gradients require a bunch of factors of **W** **hh ** plus repeated gradient computations, which makes it a bite baffling. There are 2 main problems that can arise in an RNN, which LSTM helps solve :

- Exploding Gradients
- Vanishing Gradients

**Exploding Gradients ** is a problem when many of the values, that are involved in the perennial gradient computations ( such as weight unit matrix, or gradient themselves ), are greater than 1, then this problem is known as an Exploding Gradient. In this problem, gradients become extremely big, and it is very hard to optimize them. This problem can be solved via a process known as Gradient Clipping, which basically scales back the gradient to smaller values.

**Vanishing Gradients** occur when many of the values that are involved in the recur gradient computations ( such as weight matrix, or gradient themselves ) are besides little or less than 1. In this trouble, gradients become smaller and smaller as these computations occur repeatedly. This can be a major trouble. Let ’ s look at an example. Let ’ s say you have a son prediction problem that you would like to solve, “ The clouds are in the ____ ”. immediately since this is not a long sequence, the RNN can easily remember this, and the weights associated with each bible ( each word is input at timestamp ) are not excessively large nor excessively belittled. But, when you have a boastfully succession, for exercise, “ My name is Ahmad, I live in Pakistan, I am a dependable boy, I am in 5th rate, I am _____ ”. now for the RNN to predict the password “ Pakistani ” here, it has to remember the give voice Pakistan, but since it is a very long sequence, and there are vanishing gradients, i.e very minimal weights for the news “ Pakistan ”, so the mannequin will have a difficult time predicting the word “ Pakistani ” here. This is besides known as the **problem of long term dependency**. nowadays you can see why having little values of calculations ( vanishing gradients ) is such a big trouble. This problem can be solved in 3 ways : .

- energizing Function ( ReLU rather of tanh )
- Weights low-level formatting
- Changing Network Architecture

This segment will focus on the 3rd solution that is changing the network computer architecture. In this solution, you modify the computer architecture of RNNs and use the more **complex recurrent unit with Gates such as LSTMs** or GRUs ( Gated Recurrent Units ). GRUs are out of setting for this article so we will dive entirely into LSTMs in-depth.