# 1-D Convolutional Neural Network-Based Models for Cooperative Spectrum Sensing
## 3 Overview of Spectrum Sensing and Adopted Deep Learning Algorithms
### Deep Neural Networks  
Artificial neural networks (ANNs) are structures that take inspiration from the functioning of the human brain. They have the ability to estimate the function of a model and process linear/non-linear functions by learning from the relationships between data and applying this knowledge to new situations. One of the most commonly used ANNs is the multilayer perceptron (MLP), which is a type of feedforward ANN where information flows in one direction only, from the input layer to the output layer, passing through the hidden layers. Each layer, except for the input layer, contains computational units, known as neurons, which compute the weighted sum of the connections between neurons and pass through an activation function to introduce non-linearity to the model [48].  
In the forward pass, the input values progress through the network's layers, typically as a multidimensional vector; the input of each neuron in each layer is multiplied by its corresponding weight and then summed. This sum is then passed through a nonlinear activation function, such as ReLU or Sigmoid [49], before being sent to the next layer as input. The equation for the forward pass of a neuron in layer \(l\), taking inputs from layer \(l-1\), can be written as  
\[y_{j}^{(l)}=g\Big{(}h_{j}^{(l)}\Big{)}=g\Bigg{(}\sum_{k=1}^{K}\omega_{jk}y_{k} ^{(l-1)}-b_{j}\Bigg{)} \tag{3}\]  
where \(j\) is a specific neuron of the considered layer \(l\), \(g(x)\) is a nonlinear activation function, \(h\) is the dot product of the weights and inputs of the neurons in the previous layer, \(K\) denotes the number of neurons in the previous layer, \(b\) denotes the bias and \(\omega_{jk}\) is the synaptic weight between the neurons \(k=1\ldots K\) in the previous layer \(l-1\) and the specific \(j\) neuron of the layer \(l\). At the end of the forward propagation, the output \(y_{j}^{(L)}\) of each neuron \(j\) in the output layer \(L\) is obtained. At the end of the forward process, the output obtained is then compared with the expected output for this sample to determine the loss function J. The gradients of the loss function with respect to the weights and biases can be calculated using backpropagation (BP). This process involves calculating the derivative of the activation function and propagating the error contributions from the subsequent layers back to the earlier layers. By iteratively updating the weights and biases based on these gradients, utilizing an optimization algorithm such as gradient descent, the loss in the prediction model is gradually decreased until a predetermined stopping criterion is satisfied. BP can make use of a number of gradient descent optimization methods, notably stochastic gradient descent (SGD), momentum SGD [50], AdaGrad [51] Adam and RMSprop and its variants [52; 53]. The MLP approach has proven to be effective in SS because it automatically extracts features from the spectrum data, which improves the detection accuracy. In [54], MLP was compared to support vector machines and conventional SS methods in a CSS context, and the results showed that MLP had a better balance between the training time and channel detection performance.  
A DNN is a type of artificial neural network with multiple layers between the input and output layers. It is considered \"deep\" because of the depth of the network, referring to the numerous layers through which data are transformed. Multiple hidden layers allow it to learn hierarchical representations of the data. Various deep learning architectures use deep neural networks, including convolutional neural networks (CNNs) for image processing, recurrent neural networks (RNNs) for sequential data and Transformer models for natural language processing. In the context of this paper, we exploited both the CNN and RNN architectures for the goal of cooperative spectrum sensing and we compared the performance of the proposed approaches.