{'fraction_non_alphanumeric': 0.030642309958750738, 'fraction_numerical': 0.0058927519151443725, 'mean_word_length': 4.765855039637599, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Deep MIMO Detection

In this paper, we consider the use of deep neural networks in the context of Multiple-Input-Multiple-Output (MIMO) detection. We give a brief introduction to deep learning and propose a modern neural network architecture suitable for this detection task. First, we consider the case in which the MIMO channel is constant, and we learn a detector for a specific system. Next, we consider the harder case in which the parameters are known yet changing and a single detector must be learned for all multiple varying channels. We demonstrate the performance of our deep MIMO detector using numerical simulations in comparison to competing methods including approximate message passing and semidefinite relaxation. The results show that deep networks can achieve state of the art accuracy with significantly lower complexity while providing robustness against ill conditioned channels and mis-specified noise variance.


I. INTRODUCTION
Multiple input multiple output (MIMO) systems arise in most modern communication channels. The dimensions can account for time and frequency resources, multiple users, multiple antennas and other resources. These promise substantial performance gains, but present a challenging detection problem in terms of computational complexity. In recent years, the world is witnessing a revolution in deep machine learning. In many fields of engineering, e.g., computer vision, it was shown that computers can be fed with sample pairs of inputs and desired outputs, and "learn" the functions which relates them. These rules can then be used to classify (detect) the unknown outputs of future inputs. The goal of this paper is to apply deep machine learning in the classical MIMO detection problem and understand its advantages and disadvantages.

A. Background on MIMO detection
The binary MIMO detection setting is a classical problem in simple hypothesis testing [1]. The maximum likelihood (ML) detector is the optimal detector in the sense of minimum joint probability of error for detecting all the symbols simultaneously. It can be implemented via efficient search algorithms, e.g., the sphere decoder [2]. The difficulty is that its worst case computational complexity is impractical for many applications. Consequently, several modified search algorithms have been purposed, offering improved complexity performance [3] [4]. There has been much interest in implementing suboptimal detection algorithms. The most common suboptimal detectors are the linear receivers, i.e., the matched filter (MF), the decorrelator or zero forcing (ZF) detector and the minimum mean squared error (MMSE) detector. More advanced detectors are based on decision feedback equalization (DFE), approximate message passing (AMP) [5] and semidefinite relaxation (SDR) [6], [7]. Currently, both AMP and SDR provide near optimal accuracy under many practical scenarios. AMP is simple and cheap to implement in practice, but is an iterative method that may diverge in problematic settings. SDR is more robust and has polynomial complexity, but is much slower in practice.

B. Background on Machine Learning
In the last decade, there is an explosion of machine learning success stories in all fields of engineering. Supervised classification is similar to statistical detection theory. Both observe noisy data and output a decision on the discrete unknown it originated from. Typically, the two fields differ in that detection theory is based on a prior probabilistic model of the environment, whereas learning is data driven and is based on examples. In the context of MIMO detection, a model is known and allows us to generate as many synthetic examples as needed. Therefore we adapt an alternative notion. We interpret "learning" as the idea of choosing a best decoder from a prescribed class of algorithms. Classical detection theory tries to choose the best estimate of the unknowns, whereas machine learning tries to choose the best algorithm to be applied. Indeed, the hypotheses in detection are the unknown symbols, whereas the hypotheses in learning are the detection rules [8]. Practically, this means that the computationally involved part of detection is applied every time we get a new observation. In learning, the expensive stage is learning the algorithm which is typically performed off line. Once the optimal rule algorithm is found, we can cheaply implement it in real time.
Machine learning has a long history but was previously limited to simple and small problems. Fast forwarding to the last years, the field witnessed the deep revolution. The "deep" adjective is associated with the use of complicated and expressive classes of algorithms, also known as architectures. These are typically neural networks with many non-linear operations and layers. Deep architectures are more expressive than shallow ones [9], but were previously considered impossible to optimize. With the advances in big data, optimization algorithms and stronger computing resources, such networks are currently state of the art in different problems including speech processing and computer vision. In particular, one promising approach to designing deep architectures is by unfolding an existing iterative algorithm [10]. Each iteration is considered a layer and the algorithm is called a network. The learning begins with the existing algorithm as an initial starting point and uses optimization methods to improve the algorithm. For example, this strategy has been shown successful in the context of sparse reconstruction. Leading algorithms as Iterative Shrinkage and Thresholding and a sparse version of AMP have both been improved by unfolding their iterations into a network and learning their optimal parameters [11], [12].
In recent years, deep learning methods have been purposed for improving the performance of a decoder for linear codes in fixed channels [13]. And in [14] several applications of deep learning for communication applications have been considered, including decoding signals over fading channels, but the architecture purposed there does not seem to be scalable for higher dimension signals.

C. Main contributions
The main contribution of this paper is the introduction of DetNET, a deep learning network for MIMO detection. DetNet is derived by unfolding a projected gradient descent method. Simulations show that it achieves near optimal detection performance while being a fast algorithm that can be implemented in real-time. Its accuracy is similar to SDR with running time that is more than 30 times faster. Compared to AMP, another detector with optimality guarantees, DetNet is more robust. It shows promising performance in handling ill conditioned channels, and does not require knowledge of the noise variance.
Another important contribution, in the general context of deep learning, is DetNet's ability to perform on multiple models with a single training. Recently, there were many works on learning to invert linear channels and reconstruct signals [11], [12], [15]. To the best of our knowledge, all of these were developed and trained to address a single fixed channel. In contrast, DetNet is designed for handling multiple channels simultaneously with a single training phase.

D. Notation
In this paper, we shall define the normal distribution where µ is the mean and σ 2 is the variance as N µ, σ 2 . The uniform distribution with the minimum value a and the maximum value b will be U (a, b) . Boldface uppercase letters denote matrices, Boldface lowercase letters denote vectors, the superscript (·) T denotes the transpose. The i'th element of the vector x will be denoted as x i . Unless stated otherwise, the term independent and identically distributed (i.i.d.) Gaussian matrix, will refer to a matrix where each of its elements is i.i.d. sampled from the normal distribution N (0, 1). The rectified linear unit defined as ρ(x) = max{0, x} will be denoted as ρ.

II. LEARNING TO DETECT
In this section, we formulate the MIMO detection problem in a machine learning framework. We consider the standard linear MIMO model: where y ∈ R N is the received vector, H ∈ R N ×K is the channel matrix, x ∈ {±1} K is an unknown vector of independent and equal probability binary symbols, w ∈ R N is a noise vector with independent, zero mean Gaussian variables of variance σ 2 . We do not assume knowledge of the variance as hypothesis testing theory guarantees that this is unnecessary for optimal detection. Indeed, the optimal ML rule does not require knowledge of σ 2 . This is contrast to the MMSE and AMP decoders that exploit this parameter and are therefore less robust.
We assume perfect channel state information (CSI) and that the channel H is exactly known. However, we differentiate between two possible cases: • Fixed Channel (FC): In the FC scenario, H is deterministic and constant (or a realization of a degenerate distribution which only takes a single value). • Varying Channel (VC): In the VC scenario, we assume H random with a known distribution.
Our goal is to detect x, using an algorithm that receives y and H as inputs and estimatesx.
The first step is choosing and fixing a detection architecture. An architecture is a functionx θ (H, y) that detects the unknown symbols given y and H. The architecture is parametrized by θ. Learning is the problem of finding the θ within the feasible set that will lead to strong detectorŝ x θ (H, y). By choosing different functions and parameter sets, we characterize competing types of detectors which tradeoff accuracy with complexity.
To find the best detector, we fix a loss function l (x;x θ (H, y)) that measures the distance between the true symbols and their estimates. Then, we find θ by minimizing the loss function we chose over the MIMO model distribution: where the expectation is with respect to all the random variables in (1), i.e., x, w, and H. Learning to detect is defined as finding the best set of parameters θ of the architecturê x θ (y, H) that minimize the expected loss l (·; ·) over the distribution in (1).
The next examples illustrate how the choice of architecturê x θ (y, H) leads to different detectors that tradeoff accuracy for complexity.
Example 1: The goal in detection is to decrease the probability of error. Therefore, the best loss function in this problem By choosing an unrealistically flexible architecture with unbounded parameterization and no restrictions such that Then, the solution to (2) is the ML decoder: x θ (y, H) = arg min This rule is optimal in terms of accuracy but requires a computationally intensive search of O 2 K . Obviously, this example is theoretical since the architecture of all possible functions cannot be parametrized and (2) cannot be optimized.
Example 2: On the other extreme, consider the architecture of fixed linear detectors: where the parameter θ is a single fixed matrix to be optimized within R K×N . In the FC model, choosing x −x(y, H) 2 as the loss function and assuming σ 2 → 0, the optimal decoder is the well known decorrelator: The resulting detector involves a simple matrix multiplication that requires O(N K) operations, but is not very accurate.
On the other hand, if we consider the more challenging VC model, then the optimal linear transformation is simply H = 0. A single linear decoder cannot decode arbitrary channels simultaneously, and the decoder is completely useless.
These two examples emphasize how fixing an architecture and a loss function determines what will be the optimal detector for the MIMO detection problem. The more expressive we choosex to be, the more accurate the final detector can be, on the expense of the computational complexity.
We close this section with a technical note on the numerical implementation of the optimization in (2). In practice, it is intractable to optimize over an abstract class of functions as in (4). Numerical minimization is typically performed with respect to a finite parameter set as in (6). Thus, our deep architectures are based on multiple layers with multivariate linear operations and element-wise non-linear operators. These allow rich decoding functions while resorting to a finite and tractable parameterization. In addition, analytic computation of the expectation in the objective is usually impossible. Instead, we approximate it using an empirical mean of samples drawn from a data set of examples (thus the 'learning' notion). In our case, the data set is composed of synthetically generated samples satisfying (1). Both these technicalities, were considered unthinkable just a decade ago, but are now standard procedures in the deep learning community. Easy to use, open source tools, make it possible to create deep architectures and optimize them in a straight forward manner. Specifically, in this work, all the experiments were implemented on the TensorFlow framework [16].

III. DEEP MIMO DETECTOR
In this section, we propose a deep detector with an architecture which is specifically designed for MIMO detection that will be named from now on 'DetNet' (Detection Network). First, we note that an efficient detector should not work with y directly, but use the compressed sufficient statistic: This hints that two main ingredients in the architecture should be H T y and H T Hx. Second, our construction is based on mimicking a projected gradient descent like solution for the ML optimization in (5). Such an algorithm would lead to iterations of the form  wherex k is the estimate in the k'th iteration, Π[·] is a nonlinear projection operator, and δ k is a step size. Intuitively, each iteration is a linear combination of the the x k , H T y, and H T Hx k followed by a non-linear projection. We enrich these iterations by lifting the input to a higher dimension and applying standard non-linearities which are common in deep neural networks. This yields the following architecture: where k = 1, · · · , L and ψ t (·) is a piecewise linear soft sign operator defined as: The operator is plotted in Fig. 1, and the structure of each DetNet layer is illustrated in Fig. 2. The final estimate is defined asx θ (y, H) = sign(x L ).
The parameters of DetNet that are optimized during the learning phase are: Training deep networks is a difficult task due to vanishing gradients, saturation of the activation functions, sensitivity to initializations and more [17]. To address these challenges, we adopted a loss function that takes into account the outputs of all of the layers. Moreover, since the errors depend on the channel's realization, we decided to normalize the errors with those of the decorrelator. Together, this led to the following loss function: where:x is the standard decorrelator decoder.
In our final implementation, in order to further enhance the performance of DetNet, we added a residual feature from ResNet [18] where the output of each layer is a weighted average with the output of the previous layer. Note also that our loss function is motivated by the auxiliary classifiers feature in GoogLeNet [19].
We train the network using a variant of the stochastic gradient descent method [20], [21] for optimizing deep networks, named Adam Optimizer [22]. We used batch training with 5000 random data samples at each iteration, and trained the network for 50000 iterations. To give a rough idea of the complexity, learning the detectors in our numerical results took 2 days on a standard Intel i7-6700 processor. Each sample was independently generated from (1) according to the statistics of x, H (either in the FC or VC model) and w. With respect to the noise, its variance is unknown and therefore this too was randomly generated so that the SNR will be uniformly distributed on U (SNR min , SNR max ). This approach allows us to train the network to detect over a wide range of SNR values.

IV. NUMERICAL RESULTS
In this section, we demonstrate the advantages of our proposed detector using computer simulations.
All the experiments address a MIMO channel with an input of size K = 30 and output of size N = 60. It is well known that performance is highly dependent on the type of MIMO channel. Therefore, we tried two scenarios: FC: In this model, we chose to test the algorithms on a deterministic and constant ill-conditioned matrix which is known to be challenging for detection [23]. The matrix was generated such that H T H would have a Toeplitz structure with H T H i,j = 0.55 |i−j| . We shall denote this matrix as the 0.55-Toeplitz matrix. This defines the singular values and right singular vectors of H. Its left singular vectors were randomly generated uniformly in the space of orthogonal matrices, and then fixed throughout the simulations. VC: In this model, the matrices H were randomly generated with i.i.d. N (0, 1) elements. Each example was independently generated within the same experiment. We have tested the performance of the following detection algorithms: FCDN: DetNet algorithm described in (10) with 3K layers, z k of size 8K, and v k of size 2K. FCDN was trained using the FC model described above, and is specifically designed to handle a specific ill conditioned channel matrix. VCDN: Same architecture as the FCDN but the training is on the VC model and is supposed to cope with arbitrary channel matrices. ShVCDN : Same as the VCDN algorithm, but with a shallow network architecture using only K layers. ZF: This is the classical decorrelator, also known as least squares or zero forcing (ZF) detector [1]. AMP: Approximate message passing algorithm from [5]. The algorithm was adjusted to the real-valued case and was implemented with 3K iterations. AMP2: Same as the AMP algorithm but with a mis-specified SNR. The SNR in dB has an additional N (0, 2) bias. SDR: A decoder based on semidefinite relaxation implemented using a specifically tailored and efficient interior point solver [6], [7].
In our first experiment, we focused on the FC model in which the channel is known and fixed, yet challenging due to its condition number. Figure 3 shows the results of all the algorithms in this setting. FCDN manages to reach the accuracy rates of the computationally expensive SDR algorithm which in our simulations took 30 times longer to detect. AMP does not manage to detect with reasonable accuracy in this challenging channel. It is interesting to notice that VCDN, which was not designed for this challenging channel, also manages to achieve good accuracy. This result indicates that VCDN generalizes itself during the training phase to detect over arbitrary random channels.
In our second experiment which results are presented in figure 4, we examine the performance in the VC model. SDR and AMP are theoretically known to be optimal in this setting, and VCDN manages to provide similar accuracy. Compared to SDR, VCDN runs 30 times faster. Compared to AMP in a scenario where the SNR values are not given accurately, we can notice a negative effect on the accuracy of the AMP, compared to VCDN that does not require any knowledge regarding the SNR.
Another important feature of DetNet is the ability to tradeoff complexity and accuracy by adding or removing additional layers. In figure 4 we test the ShVCDN algorithm that is a shallow version on VCDN with only K layers , which is much faster, but less accurate. Since every layer in DetNet outputs a predicted signalx k , we can decide in real-time what layer will be the final output layer, and trade-off complexity for accuracy in real-time, without any further training.

V. CONCLUSION
In this paper we have presented deep neural networks as a general framework for MIMO detection. We have tested the performance in the fixed channel scenario over challenging channels, and in the more complicated VC scenario. The DetNet architecture we have suggested has proven to be computationally inexpensive and has near-optimal accuracy without any knowledge regarding the SNR level. The ability of DetNet to optimize over an entire distribution of channels, rather than a single or even a large-finite set of channels, makes it robust and enables implementation in systems where the channel is not fixed. Simulations show that DetNet succeeds to generalize and detect accurately over channels with different characteristics than those of the channels used in the training phase of DetNet. For more details, see [24], where further information is presented.