## 6 DNN Performance and Numerical Results  
In this section, we evaluate our proposed DNN framework. We consider a single-cell massive MIMO systems with limited feedback, where the BS is equipped with 64 ULA antennas (i.e., \(M=64\)). The BS serves 15 single-antenna users (i.e., \(K=15\)) that can be divided into three groups (i.e., \(G=3\)) with 5 users in each group (i.e., \(K_{g}=5\) for \(g\in\{1,2,3\}\)). For the channel model, we consider the Ralyeigh correlated channel with \(\theta_{g}=-\frac{\pi}{4}+\frac{\pi}{4}(g-1)\) and \(\frac{\delta_{g}}{\lambda_{c}}=0.5\) in (3). As mentioned in Section 5.2.4, we generate covariance matrices varying angular spread, where \(\Delta_{g}\) is randomly generated in the range of \(\Delta_{g}\in[\frac{2\pi}{45},\frac{\pi}{8}]\). We denote the number of eigenvalues of the \(g\)-th group covariance matrix by \(r_{g}\) (i.e., rank). With this setting, the ranges of each group's rank are given by \(r_{1}\in\{10,...,20\}\), \(r_{2}\in\{13,...,27\}\), and \(r_{3}\in\{10,...,20\}\), respectively. To obtain the average sum rate of \(\mathcal{R}_{\text{sum}}\) in (24), we average out channel realizations based on RVQ codebooks varying small-scale Rayleigh channel fading \(\mathbf{e}_{g,k}\) in (2) with the fixed covariance matrices \(\{\mathbf{R}_{g}\}_{g=1}^{3}\). First of all, we establish our proposed DNN framework and train our machine learning model for our system model setting. Our DNN model operates in parallel and thus is trained for each group as explained in Section 5.2. Thus, there are a total of three DNN models of the same structure at the BS. The DNN model of each group is comprised of the input layer of 197 nodes, the output layer of 64 nodes, and six hidden layers of 200 nodes each. For the DNN training, we generate \(4\times 10^{5}\) training samples varying each user's SNR, feedback sizes, and covariance matrices as the optimal dimensions (i.e., \(\{s_{g}^{*}\}_{g=1}^{3}\)) are obtained by every training sample according to the problem \(\mathbf{P1}\) by numerical search. To train our DNN model for each group, each sample for the \(g\)-th group DNN model is labeled by its own desired output, i.e., \(\mathbf{\theta}_{g}\) in (34) according to \(s_{g}^{*}\). To improve the training performance, the samples are are divided into the training set and the validation set, and we adopt the Adam algorithm with the parameter setting as explained in Section 5.2.4. In Figure 5, we show the training state and performance of the proposed DNN model for every group. Figure 5a shows the cross entropy loss of the training and validation set with respect to the number of iterations. The cross entropy losses for all groups decrease as the number of iterations increases, but the gap between the training and validation sets also increases as the number of iterations increases. Thus, the stopping strategy is required to terminate the training to avoid over-fitting as we explained in Section 5.2.4. The losses of group 1 and group 3 are similar, while the loss of group 2 is larger than them. However, the gap between them decreases as the number of iterations increases. Figure 5b shows the accuracy of our machine learning model for the training and the validation sets with respect to the number of iterations. The accuracy is measured with the ratio of the numbers of correct answers (i.e., \(\mathbf{o}=\mathbf{\bar{o}}\)) to wrong answers (i.e., \(\mathbf{o}\
eq\mathbf{\bar{o}}\)). The accuracy increases as the number of iterations increases as we can expect from Figure 5a. The final accuracies from the training set and the validation set become \((84.7,82.0,85.7)\%\), and \((83.2,78.4,84.3)\%\), respectively. Figure 5c shows the accuracy for all samples in the validation set with respect to the number of ranks for the covariance matrix of each group. Thus, we can conclude that the our proposed DNN model is well trained and learn the features from channel statistics information.