## 2 Proposed Bearing Fault Diagnosis Method
### CNN-VGG16 Model for Bearing Fault Classification  
The CNN architecture affects prediction accuracy and calculation volumes. If an efficient CNN network is selected, it can achieve high prediction accuracy while optimizing the calculation volume. Therefore, a practical model should be used for the systems with limited hardware. Typically, the design and selection of a CNN network architecture should focus on the structure of the network and its size (resolution of input data and the width and depth of the CNN). The complexity level of the CNN architecture is chosen based on the characteristics of the input data and the number of output neurons (the number of layers to be classified). Currently, there are many research results for new CNN network architectures that are highly effective in image classification. The choice of network architecture ensures high prediction accuracy with the most optimal resources. For accurate bearing fault diagnosis, we examined various scenarios based on the architecture using VGG16 [13].  
A CNN model with a limited number of layers is economical considering storage and computing resources. However, for solutions to complex problems such as diagnosing various types of faults under changing rotational speed conditions, a deeper CNN needs to be applied. Previous studies applied generic structuring CNNs, which consist of convolutional layers, pooling layers, and fully connected layers [14]. LeNet-5, which is constructed by five simple CNN layers, was used for bearing fault diagnosis [15,16]. Similarly, a simple self-designed CNN with two CNN layers was also proposed [8].  
Although simple structuring CNN architectures are easy to design and do not require many computation resources, novel complex CNN architectures using efficient techniques can provide high fault diagnosis accuracy in complicated scenarios. VGG16 is a potential model that focuses on depth while previous bearing fault diagnosis methods using the AlexNet CNN model focused on tiny window sizes and strides, in particular, convolutional layers [9,17]. The VGG16 model has been proven beneficial to classification accuracy.  
Figure 3 shows the detailed architecture of our VGG16 model fed by spectrogram images. The input size of the proposed VGG16 is fixed at \(224\times 224\) with 3 channels (RGB images). The input image is transmitted through the vast majority of convolution layers where the filters are applied with their receiver field which is very small: \(3\times 3\). In other configurations, it also uses a built-in smaller size: \(1\times 1\). The design of those tiny filters acts as a linear transformation of the input image channels (followed by a nonlinear transformation). The fixed size of the convolution strike is 1 pixel. The spatial padding of the input convolutional layer is preserved after convolution. Five max-pooling layers play the role of spatial pooling, which are added following convolutional layers to reduce their dimensionality.  
Figure 2: Spectrograms of bearing vibration signals at four different shaft speeds: (**a**) inner race bearing fault, (**b**) outer race bearing fault, and (**c**) roller fault.  
Max-pooling is performed over a \(2\times 2\) pixel window with a stride of 2. The following convolution layers are three fully connected (FC) layers. The first and second FC layers have 4096 neurons, and the number of neurons of the third FC layer depends on the number of different bearing faults needed to be classified (8 or 22 classes, depending on individual experiments). The final layer is the soft-max layer, which outputs a vector to show the prediction probability distribution for bearing faults. All hidden layers use rectification (ReLU) nonlinearity as an activation function [13].