## 4 Experiment and Results
### Data Preprocessing  
We used the Machinery Fault Simulator (MFS) dataset to conduct our experiments. The MFS testbed was built to collect a sufficient amount of failure data (i) to characterize different failure types of rotating machines, which are used as major equipment in most industrial sites, and (ii) to classify their normal and faulty states. The data generated, which are similar to the fault types of real rotating equipment, enabled experimentation on various tests such as machine learning- and deep learning-based fault prediction and fault classification. Figure 3 shows the rotating equipment MFS testbed used for experimental data collection. The experiment was performed using an MFS testbed built to generate failure data for rotating equipment, collecting vibration data for the steady state and three bearing failure types (normal, cage failure, lack of lubrication, and oxidation). Waveforms of the bearing data used in the test are shown in Figure 4. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & **OS** & **CUDA** & **cuDNN** & **Python** & **PyTorch** \\ \hline Development environment & Unbuntu 18.04 & v11.2 & v8 & v3.8.10 & v1.12 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Development environment. Figure 4: Four waveforms of bearing vibration data. Figure 3: Machinery fault simulator. The data system used for bearing defect vibration data acquisition was designed for high-speed data acquisition. It consists of an iPEE acceleration sensor, a Signal Conditioner (SC), a Data Acquisition Module (DAQ), and an Edge Computing Module. The analog signal generated by the sensor is preprocessed in the Signal Conditioner, and the Data Acquisition Module samples the signal up to 20,000 Hz and stores it in the IoT or cloud. During this process, the collected data undergo normalization, signal filtering, and noise reduction. Figure 5 shows the data acquisition system. Figures 6 and 7 show an image of the iPEE acceleration sensor used and mounted on the MFS testbed. The monitoring locations and time  
The vibration data used in the experiment were sampled at 1000 Hz for each data type and collected for 5 min. At this time, the rotating motor was running at 1500 RPM. The data types were categorized into five types of bearing defects: normal bearing, high-speed damaged bearing, cage defect, lack of lubricant, and oxidized condition. For the MFS dataset, data were collected from each of the three axes of the sensor (X, Y, Z) at a sampling rate of 1000 Hz. Among the five types of bearing faults mentioned above, we used [1,800,000, 3] data samples collected from three types of faulty bearings (Fault1, Fault2, Fault3) and three types of normal bearings (Normal1, Normal2, Normal3) for 5 min each and a total of 30 min, excluding the two types where the variability of the data was too large to reduce the generalization performance of the model. The data in each file were split using a sliding window method with a window size of 512 and slide spacing of 256 (50% overlap), resulting in a sequence of N \(\times\) 512. All data samples were then normalized using Min-Max Scaling in the range of 0 to 1. The maximum and minimum values of the data samples were calculated from the previous data (noise was removed using the DAQ system and replaced with the average of the neighboring data) and labeled as 0 for normal data and 1 for abnormal data for each sequence. The preprocessed data were stored in Numpy format, the normal sequence data and labels were used as training data, and the normal and abnormal sequence data and labels were used as test data. JSON files were created and processed for each sensor's channel information and normal and abnormal class information. Hyperparameter values were chosen experimentally to optimize model performance. The input data followed a structured format with a batch size of 32, a window size of 512, a patch size of 4, and three input features. A sliding window approach with a step size of 256 was used to capture temporal dependencies.