In this post, we are going to see what a recurrent neural network (RNN) is, its applications, and then limitations to close.

An RNN is a neural network applied to sequential data. Here, sequential data are types of data that have order, i.e., stock prices, audio, and text. Then, sequential modeling allows us to do tasks like predicting the word that comes next, classifying the sentiment of a text, and many more.

As we use sequential data, we might think that we repeat training a neural network following the order of the data until the end. This may look like a normal neural network we already know but we have to take into account that the output of the model at a specific time will depend not only on the input fed at that time but also on the inputs of previous periods. In other words, the prediction that the network produces at each time will also be attributed to the state of the model of the period before. Therefore, the state is updated each time the sequence is processed and this means that the state is determined by the input at that time and the previous state.