# Efficient Deep Learning-Based Detection Scheme for MIMO Communication Systems
## 2 MIMO System Model
### DL-Based MIMO Detection  
Let \(\phi_{\theta}\) be an NN, composed of \(L\) layers with initial state \(\mathbf{x}=\mathbf{x}_{0}\). The NN operates by iterating over the following expression:  
\[\mathbf{x}_{\ell+1}=\sigma(\mathbf{W}_{\ell}\mathbf{x}_{\ell}+\mathbf{b}_{\ell })\ \forall\ell=0,\cdots L, \tag{5}\]  
where \(\mathbf{x}_{0}\in\mathbb{R}^{N_{F}\times N_{s}}\) stands for the \(N_{s}\) training examples of input data with \(N_{F}\) parameters used to predict a variable \(\mathbf{y}\in\mathbb{R}^{N_{c}\times N_{s}}\) with \(N_{c}\) classes or labels. In Equation (5), \(x_{r}\in\mathbb{R}^{d_{\ell}}\) with \((d_{0},d_{L+1})=(N_{F},N_{c})\), \(\mathbf{W}_{\ell}\in\mathbb{R}^{d_{\ell}+1\times N_{\ell}}\) represents a matrix whose elements are known as the weight coefficients of neurons in each layer, and \(\mathbf{b}_{\ell}\in\mathbb{R}^{d_{\ell+1}}\) is a bias term.  
The function \(\sigma:\mathbb{R}\rightarrow\mathbb{R}\) in Equation (5) is an activation function that operates at the output of each layer, introducing nonlinearities in the prediction model [37]. Table 1 shows the three most common choices for the activation function \(\sigma(z)\). First is the rectifier linear unit (ReLU), which introduces nonlinearities to the network so it will be able to model complex patterns. The ReLU function is commonly used in hidden layers due to simplicity in computation. As seen in Table 1, its outputs are zero for negative entries to learn sparse activations. It means that many neurons are inactive to improve computational efficiency and reduce overfitting [38]. The second function is called the sigmoid. A sigmoid is a real, bounded, and differentiable function that provides an output very close to its boundaries. This function is mostly used for binary classification since it maps data to a smooth curve that lies around the interval \([0,1]\). Sigmoid functions are commonly used in the NN output layer to obtain an output value [39; 40]. Finally, softmax activation is a transformation from raw inputs of the network to a vector of probabilities. It is mostly suited for multiclass classification problems, whereas outputs are probabilities that sum up \(1\). Softmax is also commonly used in the output layer when the final decision is made by evaluating the maximum value of this vector of probabilities [41].  
\begin{table}
\begin{tabular}{l l l} \hline \hline
**Function Name** & **Computation** & **Typical Use** \\ \hline ReLU & \(\max(0,z)\) & Hidden layers \\ Sigmoid & \(\dfrac{1}{1+e^{-z}}\) & Output layer \\ Softmax & \(\dfrac{e^{z_{k}}}{\sum_{k}e^{z_{k}}}\) & Output layer \\ \hline \hline \end{tabular}
\end{table}
Table 1: Activation functions commonly used for NN architectures.  
Let \(\mathbf{x}_{\ell+1}=\widehat{y}\) be the predicted output value of the NN. Let \(\mathcal{L}(y,\widehat{y})\) be a loss function. After performing iterations in Equation (5) with the desired number of _epochs_, the algorithm quantifies the error given by the distance between \(y\) and \(\widehat{y}\). The normalized root mean squared error (NRMSE) is defined as  
\[\mathcal{L}(y,\widehat{y})=\sqrt{\frac{1}{N}\sum_{i=1}^{N}(y_{i}-\widehat{y}_ {i})^{2}}. \tag{6}\]  
NN optimization is performed by finding the minimal values of the loss function, which are convex and differentiable [42]. The stochastic gradient descent (SGD) algorithm is the most commonly used way to find the parameters that optimize the NN. The minimization of a function \(f(x_{k})\) follows the iteration  
\[x_{k+1}=x_{k}-\alpha\
abla f(x_{k}), \tag{7}\]  
where \(\
abla f(x_{k})\) is the gradient of the function in the \(k\)-th iteration and \(\alpha\) is a step size called _learning rate_. The fast convergence of SGD can be achieved by adequate preprocessing of the input data, such as normalization and scaling [43].