Recurrent Neural Networks (RNNs)¶
Are fundamentally for processing sequential data, such as time series, speech, or text.
- Sequence to sequence tasks: RNNs can take a sequence as input and produce another sequence as output, making them suitable for tasks like language translation.
- Sequence to vector tasks: RNNs can take a sequence as input and produce a fixed-size vector as output, useful for tasks like sentiment analysis.
- Vector to sequence tasks: RNNs can take a fixed-size vector as input and produce a sequence as output, applicable in tasks like image captioning.
- Encoder-Decoder architecture: RNNs can be used in an encoder-decoder setup, where one RNN encodes the input sequence into a fixed-size vector, and another RNN decodes that vector into an output sequence.