Recurrent Neural Networks (RNN) are a category of Neural Networks which are mainly used for data which are sequential in nature. In Recurrent Neural Networks, the output of the previous time is fed as an input to the current time. RNN's have been extensively used for Natural Language Processing, Time Series Data prediction and other tasks which involve sequential data.