## 4 Discussion  
It is interesting noting the inverse relationship between \(n_{params}\) and \(t_{epoch}\), as the number of trainable parameters within the layer only makes the model more flexible, not slower to train. In fact, when relating trainable time, Table 3, and trainable parameters, Table 2, the Simple cell had the highest \(t_{epoch}\) but the least \(n_{params}\), while LSTM had the lowest \(t_{epoch}\) and the highest \(n_{params}\). Another reason that could have been behind the short training times of LSTM and GRU is the graphical processing unit (GPU) optimization for those layers when using default cell parameters (\(\sigma(x)\) as recurrent activation function and \(\tanh(x)\) as activation function). LSTM and GRU not only had the shortest training times in Table 3, but also performed best according to the performance metrics in Table 4. This suggests that an increase in complexity, and hence an increase in the number of parameters, would let the cell adapt better to the training data, and thus deliver better performance with less training time (when considering LSTM and Simple). The relations between the complexity of cell between the used cells, according to trainable parameters in Table 4, and the overall structure of each cell explained in Section 2.5, are the following: GRU is more complex than Simple, as it uses Equation (13) to control the flow of information with \(z_{(t)}\) and \(r_{(t)}\), and also requires more trainable parameters than only changing weights of \(A\), as seen in Figure 3. LSTM is more complex than GRU, as it consists of three gates (input, forget and output) controlled by Equation (12), which separates the long-term memory \(c_{(t)}\) from the short-term memory \(h_{(t)}\). This would then increase the number of trainable parameters and lets it better fit the training data to not only determine which information to remember, but also how long the information should be remembered. Moving on to force prediction, \(F_{x}\) and \(F_{y}\) had higher performance metrics than \(F_{z}\) in Table 4, and some even predictions had an \(R^{2}<0\), which means bad predictions; this was the case when predicting \(F_{z}\) using down-sampled data, Simple layer type, and MAE/MSE as loss functions, with \(R^{2}\) of \(-0.19\) and \(-0.04\), respectively. Although terrible performance was not present for \(F_{x}\) and \(F_{y}\), the previously mentioned combination had positive \(R^{2}\) values of 0.57 and 0.56 for \(F_{x}\) and 0.93 and 0.91 for \(F_{y}\). The significant differences between these forces may be due to the cyclical pattern they display, as shown in Figure 8. \(F_{y}\) and \(F_{x}\) shared a more cyclical pattern than \(F_{z}\), even though all forces were filtered using an FIR filter. Another reason may have been the orientations of the XYZ axes in the treadmill used in [8]. In this study, the x-axis is parallel to the walking direction of the participants, the y-axis follows the opposite direction of gravity force, and the z-axis is orthogonal to them. Under this axis definition, the lowest quantity of movement and force would be expected in the z-axis during a walking exercise. The average of forces performance (Avg) is greatly affected by the low performance when predicting \(F_{z}\), when considering \(R^{2}\) of the best performing model (LSTM, up-sampling, MSE), it had \(\text{Avg}=0.68\), although when removing \(F_{z}\) and only taking the average performance of \(F_{x}\) and \(F_{y}\), \(R^{2}=0.92\), which suggests that great predictions could further improve. Many changes could be done to improve model's predictions, including: (1) Increasing the number of subjects in the dataset; hence, more data could be used to train the model, and so it could generalize more.