Recurrent neural networks (RNNs) are a family of DL models for processing sequential data such as time series and text streams. The hidden units in RNNs are usually referred to as states (denoted as variable 𝒉). The computation graph, both before and after unfolding, of a fully recurrent neural network (FRNN) is illustrated in Figure , where each output unit 𝒐 (𝑡) at time step 𝑡 is connected to each input unit 𝒙 (𝑡) . This connectivity enables the network to retain and utilize information from all previous time steps, allowing it to capture temporal dependencies and patterns in the input data. The training procedure for RNNs is relatively straightforward, as the gradients are propagated backward along the unfolded computation graph. This algorithm is commonly known as backpropagation through time (BPTT).