# A BiGRU Model Based on the DBO Algorithm for Cloud-Edge Communication Networks
## 3 Short-Term Traffic Load Prediction Based on DBO-BiGRU
### Relevant Theory  
#### 3.1.1 Bidirectional Gated Recirculating Unit Networks  
The Gated Recurrent Unit (GRU) is a special variant of the Recurrent Neural Network (RNN) proposed by [PERSON] et al. in 2014 [33]. Compared with the popular LSTM network model in the field of time-series prediction, the GRU neural network can realize comparable functions to the LSTM network by introducing two gate structures: update gate and reset gate [34; 35; 36]. This design not only improves the computational speed but also saves the system memory and makes the training process relatively simple. The recurrent body unit of the GRU neural network receives only two input variables: \(i\), the input data at the current moment, and ii, the hidden layer state at the previous moment. Inside the recurrent body unit, \(h\) represents the hidden layer state, \(x\) represents the input information, \(\sigma\) represents the Sigmoid function, \(r\) represents the reset gate, \(z\) represents the update gate, and \(\widetilde{h}\) represents the hidden layer candidate state. The outputs \(r_{t}\) and \(z_{t}\) of the reset gate and update gate are calculated as in Equations (1) and (2):  
\[r_{t}=\sigma(w_{r}^{h}\times h_{t-1}+w_{r}^{x}\times x_{t}+b_{r}), \tag{1}\]  
\[z_{t}=\sigma(w_{z}^{h}\times h_{t-1}+w_{z}^{x}\times x_{t}+b_{z}). \tag{2}\]  
where \(w_{r}^{h}\), \(w_{r}^{x}\), \(w_{z}^{h}\), and \(w_{z}^{x}\) are weight matrixs, which change during the training process. The hidden layer candidate state \(\widetilde{h_{t}}\) and hidden layer state \(h_{t}\) are calculated as Equations (3) and (4):  
\[\widetilde{h_{t}}=\tan h(w_{h}^{r}\times(r_{t}\odot h_{t-1})+w_{h}^{x}\times x _{t}+b_{h}), \tag{3}\]  
\[h_{t}=(1-z_{t})\odot h_{t-1}+z_{t}\odot\widetilde{h_{t}}. \tag{4}\]  
where \(\odot\) is the Hadamard product and is used to multiply the corresponding elements of the two matrices.  
As shown in Figure 3, the Bi-directional Gated Recurrent Unit (BiGRU) model introduces a forward and backward propagation mechanism in the conventional unidirectional GRU model [37; 38].  
The core idea of BiGRU is to stack two unidirectional GRUs for processing the forward and backward parts of a sequence, performing both sequential (forward) and reverse-order (backward) information mining analysis of the input data in the time dimension. The hidden states of the forward and backward GRUs are subsequently merged (usually spliced or summed) at each time step. This approach allows the output of each time step to contain the complete past and future temporal information of the current moment in the input sequence, thus providing a richer contextual representation. The output of the BiGRU model at each moment is derived by linearly computing the forward and backward GRU hidden state information, \(\overrightarrow{h_{t}}\) and \(\overleftarrow{h_{t}}\), which is calculated as in Equation (5):  
\[\left\{\begin{array}{l}\overrightarrow{h_{t}}=GRU(x_{t},h_{t-1})\\ \overleftarrow{h_{t}}=GRU(x_{t},h_{t+1})\\ h_{t}=w_{t}\times\overrightarrow{h_{t}}+v_{t}\times\overleftarrow{h_{t}}+c_ {t}\end{array}\right. \tag{5}\]  
where the \(GRU(\bullet)\) function represents the computation of the non-linear transformation of the input sequence vectors by the GRU model., \(w_{t}\) and \(v_{t}\) are the forward and backward hidden layer output weights, respectively, and \(c_{t}\) is the hidden layer bias term corresponding to \(h_{t}\).