This post explains a basic RNN. RNNs are typically used for sequence related ml tasks. The input is not a cross sectional data. It is sequential data. The order of inputs matter. Consider your input a 1D vector. This vector contains the features of one time step. If your model contains 10 features, it will be a vector of length 10. In NLP, for most of the tasks, these are typically a sequence of word indexes (either converted/initialized to embeddings of 300 dimensions of pretrained word vectors and updated during training else these representations are initialized randomly and learnt during training. pretrained vectors reduces training data needed). The input is not restricted to 1D vector. It can be a 2D matrix as well. Any shape you want. Each time step will have the same dimension vector. The input dimension is same for all time steps. In NLP, if inputs are sentences of varying length, then sequences are made of same length by padding them. First the input layer will tra...