## 2 System Model
### Deep Learning Model  
Figure 2 shows the architectural design of the proposed CNN network. For successive training with the generated dataset, in this study, we have considered 1-D CNN model architecture to evaluate BER and SER for multiuser MIMO signals. The complex signal was first separated into real and imaginary parts. Then, the two numerical values along with the label are fed to the CNN model. In the proposed model, the input layer is fed into the OFDM data symbol, where the input size is equal to the number of features of input data. The size of the input features is considered as \(2\times 2\times 2=8\). The input size depends upon the number of users and the number of total antennas used in the system. The next two layers are connected by a convolutional 1D layer, ReLU activation function, and normalization layers. The first convolutional layer consists of a \(3\times 3\) filter size and total 32 numbers of filters are used. In the second convolutional layer, a \(3\times 3\) filter size, and 64 filters are used. The convolutional layer comprises a rectangular grid of neurons, where every neuron receives inputs from a rectangular part of the earlier layer. To reduce the output of the convolutional layers to a single vector, a global average pooling 1D layer is used. In the fully connected layer, each neuron is connected to all neurons in the previous layer and gathers all the features and internal information combined by the prior layers. In every time step of the CNN model, the fully connected layer works individually. We utilize the softmax activation function to derive the outputs for the final layer. In the terminal layer, we use the classification layer to map the output to vector probabilities and specify a fully connected layer with an output size matching the number of classes. The convolution operation for 1D forward propagation can be expressed as follows: [22]:  
\[\xi_{k}^{v}=b_{k}^{v}+\sum_{p=1}^{N_{p-1}}\text{conv}1D(w_{pk}^{v-1},s_{p}^{v-1}), \tag{16}\]  
where the input is \(\xi_{k}^{v}\), the bias of the \(k\)-th neuron at layer \(v\) represents \(b_{k}^{v}\), the output of the \(p\)-th neuron at layer \((v-1)\) is defined as \(s_{p}^{v-1}\), and the kernel from the \(p\)-th neuron at layer \((v-1)\) to the \(k\)-th neuron at layer \(v\) presents \(w_{pk}^{v-1}\). Hence, the dimension of the output arrays \(s_{p}^{v-1}\) is greater than the dimension of the input array \(\xi_{k}^{v}\). To normalize the \(b\)-th \(\xi_{k}^{v}\), we use the batch normalization layer [23] with the batch size \(B\), which can be expressed as follows:  
\[\mu_{k}=\frac{1}{PVB}\sum_{p=1}^{P}\sum_{v=1}^{V}\sum_{b=1}^{B}(\xi_{kp}^{v})_{ b}, \tag{17}\]  
\[\sigma_{k}^{2}=\frac{1}{PVB}\sum_{p=1}^{P}\sum_{v=1}^{V}\sum_{b=1}^{B}((\xi_{ kb}^{v})_{b}-\mu_{k})^{2}, \tag{18}\]  
\[\xi_{k}^{v}=\frac{\xi_{k}^{v}-\mu}{\sqrt{\sigma^{2}+\varepsilon}}, \tag{19}\]  
Figure 2: Deep learning architecture using CNN for IRS aided communication system. \[\zeta_{k}^{\circ}=\alpha\zeta_{k}^{\circ}+\varrho, \tag{20}\]  
where \(\mu\) and \(\sigma^{2}\) present the mean and variance of \(\zeta_{k}^{\circ}\) respectively. \(P\) and \(V\) denote the size of the tensors for calculating the mean and variance. \(\varepsilon\) is a small constant, which is negligible. In the training process, \(\alpha\) and \(\varrho\) are the learnable parameters, which will be updated. It can be noted that the learnable parameters \(\alpha\) and \(\varrho\) denote the whole weights in convolutional layers, batch normalization layer, and fully-connected layer, respectively. The activation function considered as the Relu function can be written as follows:  
\[f(x)= \begin{cases}0&for\ x<0,\\ x&for\ x\geq 0.\end{cases}