## 2 Methods
### Dual-Driven Learning-Based MIMO Signal Detection
The input vector of the symbol correction network is \(\mathbf{r}_{t}\) from each iteration, and the output is the reconstructed residual noise of the same size as \(\mathbf{r}_{t}\). Our implementation employs an \(L_{\text{d}}\)-layer symbol correction network [34]. The first \(L_{\text{d}}-1\) layers are fully connected layers with the leaky rectified linear unit (ReLU) function, which helps to extract noise characteristics. The final layer is a fully connected layer without the leaky ReLU function, serving as the output layer to reconstruct the residual noise. Finally, the noise-cleaned \(\hat{\mathbf{r}}_{t}\) is obtained by subtracting the reconstructed noise from the input \(\mathbf{r}_{t}\):  
\[\hat{\mathbf{r}}_{t}=\mathbf{r}_{t}-\mathcal{F}_{\text{NN}}(\mathbf{r}_{t}; \boldsymbol{\Theta}_{\text{NN}}), \tag{12}\]  
where \(\mathcal{F}_{\text{NN}}(\cdot)\) represents the function expression of the symbol correction network with network parameters \(\boldsymbol{\Theta}_{\text{NN}}\). Table 2 presents the hyperparameters of the data-driven symbol correction network. In our method, we use a symbol correction network with \(L_{\text{d}}=3\), indicating that there are two fully connected layers with the leaky ReLU function and an fully connected output layer without the leaky ReLU function. The slope of the leak in every leaky ReLU function is set to 0.3. For the \(l\)-th layer (\(l=1,2,3\)) in the symbol correction network, the output vector \(\mathbf{z}^{[l]}\) is computed as follows: \(\mathbf{z}^{[l]}=\mathbf{W}^{[l]}\mathbf{x}^{[l-1]}+\mathbf{b}^{[l]}\). Here, \(\mathbf{W}^{[l]}\), \(\mathbf{x}^{[l-1]}\), and \(\mathbf{b}^{[l]}\) represent the weight matrix, the input vector, and the bias term of the \(l\)-th layer, respectively. In the first layer, the input vector is \(\mathbf{x}^{[0]}=\mathbf{r}_{t}\in\mathbb{R}^{2\text{N}_{\text{r}}\times 1}\), which has the same size as \(\overline{\mathbf{s}}\). We set \(\mathbf{W}^{[1]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 2\text{N}_{\text{r}}}\) and \(\mathbf{b}^{[1]}\in\mathbb{R}^{2\text{N}_{\text{r}}\times 1}\), resulting in \(\mathbf{z}^{[1]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\). In the second layer, the input vector is \(\mathbf{x}^{[1]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\), and we set \(\mathbf{W}^{[2]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 4\text{N}_{\text{r}}}\) and \(\mathbf{b}^{[2]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\), resulting in \(\mathbf{z}^{[2]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\). In the final layer, the input vector is \(\mathbf{x}^{[2]}\in\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\), and we set \(\mathbf{W}^{[3]}\in\mathbb{R}^{2\text{N}_{\text{r}}\times 4\text{N}_{\text{r}}}\) and \(\mathbf{b}^{[3]}\in\mathbb{R}^{2\text{N}_{\text{r}}\times 1}\), resulting in \(\mathbf{z}^{[3]}\in\mathbb{R}^{2\text{N}_{\text{r}}\times 1}\). The element in the \(p\)-th row and the \(q\)-th column of \(\mathbf{W}^{[l]}\) is denoted as \(w_{p,q}^{[l]}\in\mathbb{R}\), and the \(j\)-th element of \(\mathbf{b}^{[l]}\) is denoted as \(b_{j}^{[l]}\in\mathbb{R}\). Therefore, the set of parameters in the \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Input \(\mathbf{r}_{t}\)** & \\ \hline
**Layers** & **Operations** & **Output Size** \\ \hline Denoising & Fully Connected+Nonlinear (Leaky ReLU) & \(\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\) \\ Denoising & Fully Connected+Nonlinear (Leaky ReLU) & \(\mathbb{R}^{4\text{N}_{\text{r}}\times 1}\) \\ Reconstruction & Fully Connected & \(\mathbb{R}^{2\text{N}_{\text{r}}\times 1}\) \\ \hline  & Output: \(\mathcal{F}_{\text{NN}}(\mathbf{r}_{t};\boldsymbol{\Theta}_{\text{NN}})\) & \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Hyperparameters of the data-driven symbol correction network. symbol correction network is denoted as \(\mathbf{\Theta_{\text{NN}}}=\left\{\mathbf{W}^{[1]},\mathbf{b}^{[1]};\mathbf{W}^{[2]}, \mathbf{b}^{[2]};\mathbf{W}^{[3]},\mathbf{b}^{[3]}\right\}\).