## 2 Materials and Methods
### CNN Approach  
The convolutional neural network used in the paper, GoogLeNet, is a variant of the Inception Network, a Deep Convolutional Neural Network developed by researchers at Google. It is characterized by 22 layers, and part of these layers are included in a total of nine inception modules. Inception modules are usually used in CNNs for a more efficient computation and deeper networks, through a dimensionality reduction. The modules were designed to solve the problem of computational expense, as well as overfitting, among other issues. The solution, in short, is to take multiple kernel filter sizes within the CNN, and rather than stacking them sequentially, ordering them to operate on the same level. With this type of adaptation, it can be said that the network becomes wider rather than deeper. The net structure used in this paper is shown in Figure 1, with the scheme of the inception module highlighted. As stated in the original research paper of the inventors of GoogLeNet [46], the inception modules are introduced with three different convolution filter sizes: \(1\times 1\), \(3\times 3\), and \(5\times 5\). Moreover, a max pooling is used in parallel, since it should improve the network performance as stated in the current literature. The parallel paths of the inception block give a feature extraction with various scales (the sizes of the filters), which are then aggregated before being retrieved by the next stage, so that it can abstract features from different scales simultaneously. The use of many convolution stages and inception blocks would result in an abnormal number of parameters to train if no dimensionality reduction method was used. So the main method used is a \(1\times 1\) convolution filter interposed before each of the computationally more expensive \(3\times 3\) or \(5\times 5\) filters of the parallel paths in the inception blocks. An example of the specific network used in this work, available from the MATLAB repositories in its entirety, can be found in [47]. The dimensionality reduction blocks are marked with the suffix \"_reduce\". To have a comparable dimension of the vectors leaving the pooling blocks, the \(1\times 1\) convolution filters are also used to project this output to the next concatenation block. They are marked with the \"_proj\" suffix. An inception network is a network composed of inception modules stacked upon each other, with occasional intermediate max-pooling layers to reduce the resolution of the grid. However, as stated in [46], it might be convenient to begin the sequence of inception modules after some initial classic old-style convolutional layers. In this work, the pre-trained network was modified by replacing some of the final layers, as will be explained below. The GoogLeNet version used in this paper was pre-trained on the ImageNet dataset [48]. This dataset is composed of 1000 different categories of images, such as objects and an  
Figure 1: GoogLeNet architecture; the inception module is highlighted. imals. The input of the net was a 224 \(\times\) 224 pixel image, with three Red Green Blue (RGB) channels. Although many works in the literature use 1D CNN with raw bearing vibration data [49; 50], the choice of a 2D CNN was made to have a wider availability of pre-trained at state-of-progress networks used in image recognition. Moreover, with a 2D representation, even transient signals can be successfully studied, as shown in [51]. The choice of GoogLeNet, instead of using other networks such as VGG (Visual Geometry Group) or ResNet, was made for the good accuracy achieved by GoogLeNet in relation to its memory usage and computational resources required. In the tests presented, the network was fed with diagnostic images of the machine, which are the scalograms and spectrograms as described in the previous section. These images are not part of the original classes the network was initially trained with, so in order to have an accurate classification process, the network had to be adapted.