CNNs are composed of 3 main layers: the convolutional layers, pooling layers, and fully connected layers/output layers. The convolutional layer parameters use learnable kernels [1]}. These kernels, usually 2-dimensional for image recognition tasks or 1-dimensional for time series data, glide over the entire depth of the input while calculating the scalar product for each kernel. The network can learn kernels that detect specific features at a given spatial position of the input by combining the pixels from a small area of the input data, that is, combining pixels within the same locality. This is particularly useful because pixels usually appear in a consistent order, and a pixel influences the surrounding pixels. If there are deviations, this anomaly could be converted into a feature, and all this can be detected by comparing a pixel with other pixels in its locality. Then an activation function is used to enhance the nonlinear expression of the convoluted features. The process is shown in eq:1., where \(x\)  is the signal, \(f_k\)  is kernel filter, \(b_k\)  is a bias, and \(\sigma \)  is activation function. The pooling layers reduce the representation's dimensionality, reducing the model's computational complexity and allowing for better generalization. The most common pooling method in CNN is max-pooling \(max\) , which calculates the maximum value in a range \(w\) , as shown in eq:2. The fully connected layer consists of neurons directly connected to the neurons in the two adjacent layers, just like traditional ANN. Figure REF  is a schematic representation of CNN with convolution, batch normalization, pooling, activation function, and fully-connected layers [2]}.
\(h_k = \sigma (x*f_k+b_k)\) 
\(h_pk = max (h_k,w)\) 
<FIGURE>