Recurrent Neural Network(RNNs)

Recurrent Neural Network(RNN) are a type of Neural Network where the output from previous step are fed as input to the current step. In traditional neural networks, all the inputs and outputs are independent of each other, but in cases like when it is required to predict the next word of a sentence, the previous words are required and hence there is a need to remember the previous words. Thus, RNN came into existence, which solved this issue with the help of a Hidden Layer. The main and most important feature of RNN is Hidden state, which remembers some information about a sequence.

RNN have a “memory” which remembers all information about what has been calculated. It uses the same parameters for each input as it performs the same task on all the inputs or hidden layers to produce the output. This reduces the complexity of parameters, unlike other neural networks.


Training through RNN

  1. 1. A single time step of the input is provided to the network.
  2. 2. Then calculate its current state using set of current input and the previous state.
  3. 3. The current ht becomes ht-1 for the next time step.
  4. 4. One can go as many time steps according to the problem and join the information from all the previous states.
  5. 5. Once all the time steps are completed the final current state is used to calculate the output.
  6. 6. The output is then compared to the actual output i.e the target output and the error is generated.
  7. 7. The error is then back-propagated to the network to update the weights and hence the network (RNN) is trained.

Advantages of Recurrent Neural Network

  1. 1. An RNN remembers each and every information through time. It is useful in time series prediction only because of the feature to remember previous inputs as well. This is called Long Short Term Memory.
  2. 2. Recurrent neural network are even used with convolutional layers to extend the effective pixel neighborhood.

Disadvantages of Recurrent Neural Network


  1. 1. Gradient vanishing and exploding problems.
  2. 2. Training an RNN is a very difficult task.
  3. 3. It cannot process very long sequences if using tanh or relu as an activation function.

About the Author



Silan Software is one of the India's leading provider of offline & online training for Java, Python, AI (Machine Learning, Deep Learning), Data Science, Software Development & many more emerging Technologies.

We provide Academic Training || Industrial Training || Corporate Training || Internship || Java || Python || AI using Python || Data Science etc





 PreviousNext