Introducing RNNs
Let's start with an overview of RNNs.
RNNs are a family of neural networks that cannot be constrained in the feedforward architecture.
Important note
RNNs are obtained by introducing auto or backward connections – that is, recurrent connections – into feedforward neural networks.
When introducing a recurrent connection, we introduce the concept of time. This allows RNNs to take context into account; that is, to remember inputs from the past by capturing the dynamic of the signal.
Introducing recurrent connections changes the nature of the neural network from static to dynamic and is therefore suitable for analyzing time series. Indeed, RNNs are often used to create solutions to problems involving time-ordered sequences, such as time series analysis, language modeling, free text generation, automatic machine translation, speech recognition, image captioning, and other similar problems investigating the time evolution of a given signal...