## 3 Methods
### Deep Learning for Image Classification Task  
The Artificial Neural Network (ANN) can learn from examples and use that knowledge to classify new, unseen data. This is referred to as a _classification_ task and ANNs are \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**M-QAM** & **Bits per Symbol (k)** & **PAPR** & **GP** & **Bandwidth Efficiency \({}^{*}\)** \\ \hline \(16^{+}\) & 4 & 1.80 & 1 & 640 Mbps \\ \(32^{*}\) & 5 & 1.70 & 1.166 & 800 Mbps \\ \(64^{+}\) & 6 & 2.333 & 1 & 960 Mbps \\ \(128^{*}\) & 7 & 2.073 & 1.065 & 1.12 Gbps \\ \(256^{+}\) & 8 & 2.647 & 1 & 1.28 Gbps \\ \(512^{*}\) & 9 & 2.28 & 1.039 & 1.44 Gbps \\ \(1024^{+}\) & 10 & 2.81 & 1 & 1.6 Gbps \\ \hline \hline \end{tabular}  
* \({}^{*}\)XQAM constellation; \({}^{+}\) SQAM constellation; \({}^{\star}\) Per 160 MHz Channel.  
\end{table} 
Table 2: Parameters and bandwidth efficiency of various XQAM and SQAM constellation designs. Figure 3: Constellation design for M-QAM modulation. (**a**) XQAM for odd length of symbol (32-QAM). (**b**) SQAM for even length of symbol (64-QAM). particularly well-suited to this task [62; 63]. The capability to classify new unseen data (known as _generalization_) make ANNs highly effective in solving classification problems where the desired outcome cannot be pre-determined [63]. ANNs consist of input and output layers, with one or more hidden layers made up of interconnected nodes called neurons. The most common type of layer is the fully connected layer, where every neuron is connected to every other neuron in the previous and next layer. The _activation function_ determines the transmission of information between these neurons in the layers. To effectively train an ANN, a loss is calculated between the predicted outputs and the actual outputs. The training algorithms tracks and updates the weights of the neurons to minimize the loss over time, using _optimization_ techniques. Moreover, _backpropagation_ algorithm is used to propagate error information from the last layer to the first layer for weight modification, and train the model in iteration or epoch. During training, the model assesses its performance on validation data (which is distinct from the training data) to fine-tune the hyperparameters and improve the model architecture. If the model is not trained enough, it is referred to as _underfitting_, meaning that it did not learn the training set well enough. On the other hand, _overfitting_ occurs when the network has learned the training set too well, causing it to struggle with new data [64]. Different regularization techniques are adapted to mitigate the underfitting and overfitting problem. The final evaluation of the model's generalization is performed on unseen data, known as testing or inferencing. A Deep Neural Network (DNN) is a type of ANN with multiple hidden layers. The term \"deep\" refers to the number of sequential layers within the network, indicating the number of times the input data passes through the transfer functions of sequential layers. This results in a more complex model capable of capturing and representing high-level abstractions and patterns in the data. DNNs are designed to learn and make predictions based on large amounts of complex data, by processing and transforming the data iteratively through multiple hidden layers [8]. Convolutional neural network (CNN) is a type of DNN that was introduced in [65] to provide an efficient learning method for images. The CNN architecture mostly consists of a convolutional layer, pooling layer, activation function, fully connected layer, and output layer. The convolutional layer is used for extracting features from input data. It utilizes a filter (represented by a small weight matrix) that slides over the input data, performing element-wise multiplication and addition to produce a set of _feature maps_. These filters have adjustable weights, learned through backpropagation, and are used to recognize local patterns in the input data.