## 3 Material and Method  
### Convolutional Neural Network  
In conventional machine learning methods, to acquire features from the dataset, manual feature extraction methods are applied on the dataset and extracted low-level features are fed to a particular machine learning algorithm, whereas deep learning methods are able to extract features from a raw dataset automatically. Detection or classification will be applied to the dataset by extracted low, middle and high-level features [24]. Hence, the main characteristic of deep learning methods is applying nonlinear functions on raw data as inputs to produce abstracted outputs [24]. Nowadays, it is easy to access large datasets and computers by powerful processing systems which are the main requirements of deep learning methods. As a result, in the last decades, deep learning methods have taken advantage of powerful GPUs to minimize training time and improve the accuracy of classifications [25].  
CNN, DBN, Recurrent Neural Networks (RNN), Long Short Term Memory (LSTM), and Deep Stacking Networks (DSN) are deep learning architectures which are used in computer vision, automatic audio classification and natural language processing fields to solve problems of large datasets.  
Like ANN, CNN is inspired by the system of interconnected biological neurons. Both algorithms include neurons which contain weights and biases [26; 27]. Although the structures of both CNN and ANN include layers, there are big differences between the structures of both networks. The structure of layers in an ordinary ANN algorithm is one-dimensional and connections of all layers are fully connected. CNN, however, has three-dimensional neurons in a layer which include width, height, and depth. Furthermore, in CNN, each neuron of one layer is connected to only one region of the previous layer without any full connection between middle layers. In CNN, kernels (filter banks) are used as a unit to connect to the part of the previous layer, and it is called weight connection. In CNN layers, by using local connections, local features are detected, and by pooling operations, identical features are merged to be one feature. The architecture of CNN contains three main layers as convolutional layers, pooling layers and fully connected layers; [28] LeNet, AlexNet, GoogleNet, VGG-Net, Res-Net, ZF-Net, and SqueezeNet are the most used architectures of CNN in classification and pattern recognition fields [29; 30].  
Backpropagation algorithm [31] is one of the best learning algorithms of CNN, due to its ease of use in computation and function. During training, backpropagation differentiates between the prediction of labels which are achieved by the algorithm and ground truth labels which are calculated by a loss function. Consequently, in classification and probabilistic problems, the most popular loss function is the cross-entropy error function. The formula of cross-entropy is given by Equation (1). In this equation, x values are denoted as inputs and \(\mathrm{a}_{1}^{\mathrm{l}},\mathrm{a}_{2}^{\mathrm{l}},\ldots\) and \(\mathrm{a}_{j}^{\mathrm{l}}\) are denoted as real values of all output neurons (j) in the output layer; y indicates the desired output values; and n is the number of all training samples. In order to minimize the loss function, the gradient descent optimization algorithm tries to find a local minimum by updating the weights (parameters) through training. In this study, Stochastic Gradient Descent (SGD) is used as a gradient descent algorithm.  
\[\mathrm{C}=-\frac{1}{\mathrm{n}}(\sum\times\sum_{\mathrm{j}}(\mathrm{y_{j}\; lna_{j}^{1}})+(1+\mathrm{y_{j}})\;\ln(1-a_{j}^{1})) \tag{1}\]