\section{Introduction}
\label{S:1}
Rotating machinery, as key mechanical equipment in the modern industry, is chronically running in a complex environment with elevated temperature, fatigue, and heavy load.
Generated faults might cause severe accidents, resulting in enormous economic loss and casualties.
Intelligent diagnosis, as a key ingredient of prognostics health management (PHM), which is one of the most essential systems in a wide range of rotating machinery, such as helicopter, aero-engine, wind turbine, and high-speed train, is designed to detect faults effectively.
Traditional intelligent diagnosis methods mainly consist of feature extraction using signal processing methods \cite{zhao2018enhanced,wang2016matching} and fault classification \cite{sun2018sparse} using machine learning approaches, which have made considerable progress.
However, facing with heterogeneous massive data, feature extraction methods and mapping abilities from signals to conditions that are designed and chosen by experts, to a great extent depending on prior knowledge, are time-consuming and empirical.
Thus, how to perform diagnosis more precisely and efficiently is still a challenging problem.

DL, as a booming data mining technique, has swept many fields including computer vision (CV) \cite{krizhevsky2012imagenet,farabet2012learning}, natural language processing (NLP) \cite{hirschberg2015advances,sun2017review,young2018recent}, and other fields \cite{feng2019resilience,li2020development}.
In 2006, the concept of DL was first introduced via proposing deep belief network (DBN) \cite{hinton2006reducing}.
In 2013, MIT Technology Review ranked the DL technology as the top ten breakthrough technologies \cite{MIT2013}.
In 2015, a review \cite{lecun2015deep} published in nature stated that DL allows computational models composed of multiple processing layers to learn data representations with multiple levels of the abstraction.
Due to its strong representation learning ability, DL is well-suited to data analysis and classification.
Therefore, in the field of intelligent diagnosis, many researchers have applied DL-based techniques, such as multi-layer perception (MLP), auto-encoder (AE), convolutional neural network (CNN), DBN, and recurrent neural network (RNN) to boost the performance.
However, different researchers often recommended to use different inputs (such as time domain input, frequency domain input, time-frequency domain input, etc.) and set different hyper-parameters (such as the learning rate, the batch size, the network architecture, etc.).
Unfortunately, a few authors made their codes available for comparisons, resulting in unfair comparisons and ineffective improvement.
To address this problem, it is crucial to evaluate and compare different DL-based intelligent diagnosis algorithms to provide the benchmark study and open souce codes, thereby helping further studies to propose more persuasive and appropriate algorithms.

For comprehensive performance comparisons, it is necessary to collect different datasets in a library and evaluate the performance of algorithms for different datasets on a unified platform.
In addition, one common issue in intelligent diagnosis is data split, and researchers often use the random split strategy.
This strategy is dangerous since if the preparation process exists any overlap, the evaluation of classification algorithms will have test leakage \cite{riley2019three}.
As for industrial data, they are rarely random and are always sequential (they might contain trends in the time domain), and it is more appropriate to split data according to time sequences (we simply call it order split).
Conversely, if we randomly split the data, it might be possible for diagnosis algorithms to record the future patterns, which might cause another pitfall with test leakage.

To address these problems, in this paper, we collect nine publicly available datasets and discuss whether it is suitable for intelligent diagnosis.
After that, we evaluate DL-based intelligent diagnosis algorithms from different perspectives including the data preparation for all datasets and the whole evaluation framework with different input formats, normalization methods, data split ways, augmentation methods, and DL-based models.
Based on the benchmark study, we highlight some evaluation results which are very important for comparing or testing new models.
First, not all datasets are suitable for comparing the classification effectiveness of the proposed methods since basic models can achieve very high accuracy on these datasets, like CWRU and XJTU-SY.
Second, the frequency domain input can achieve the highest accuracy in all datasets, so researchers should first try to use the frequency domain as the input.
Third, it is not necessary for CNN models to get the best results in all cases, and we also should consider the overfitting problem.
Fourth, when the accuracy of datasets is not very high, data augmentation methods improve the performance of models, especially for the time domain input.
Thus, more effective data augmentation methods need to be investigated.
Finally, in some cases, it may be more suitable for splitting the datasets according to time sequences (order split) since the random split may provide a virtually high accuracy.
We also release a code library to evaluate DL-based intelligent diagnosis algorithms and provide the benchmark accuracy (a lower bound) to avoid useless improvement.
Meanwhile, we use specific-designed cases to discuss existing issues, including class imbalance, generalization ability, interpretability, few-shot learning, and model selection.
Through these works, we aim to allow comparisons fairer and quicker, emphasize the importance of open source codes, and provide deep discussions of existing issues.
To the best of our knowledge, this is the first work to comprehensively perform the benchmark study and release the code library to the public.
The code library is available at: \url{https://github.com/ZhaoZhibin/DL-based-Intelligent-Diagnosis-Benchmark}.

The main contributions of this paper can be summarized as three aspects:
\begin{enumerate}[1)]
	\item \textbf{\textit{Various datasets and data preparing}}. We gather nine publicly available datasets and give a detailed discussion about its adaptability.
	For data preparation, we first discuss different kinds of input formats and normalization methods, and then we perform different data augmentation approaches to clarify that they have not been fully investigated.
	We also discuss the way of data split and state that it may be more appropriate to split data according to time sequences.
	\item \textbf{\textit{Benchmark accuracy and existing issues}}. We evaluate various DL-based intelligent diagnosis algorithms for seven datasets and provide the benchmark accuracy to make future studies more comparable.
	Based on the benchmark study, we highlight some evaluation results which are very important for comparing or testing new models.
	We also discuss the existing issues, including class imbalance, generalization ability, interpretability, few-shot learning, and model selection.
	\item \textbf{\textit{Open source codes}}. To emphasize the reproducibility of DL-based intelligent diagnosis algorithms, we release the code library for the better comparisons.
	Meanwhile, it is a unified intelligent diagnosis library, which retains an extended interface for everyone to load their own datasets and models to carry out new studies.
\end{enumerate}

The outlines of this paper are listed as follows:
In Section \ref{S:2}, we give a brief review of the recent development of DL-based intelligent diagnosis algorithms.
Then, Sections \ref{S:3} to \ref{S:9} discuss the evaluation algorithms, datasets, data preprocessing, data augmentation, data split, evaluation methodologies, and evaluation results, respectively. After that, Section \ref{S:10} makes some further discussions and the results, followed by conclusions in Section \ref{S:11}.

\section{Brief Review}
\label{S:2}
Recently, DL has become a promising method in a large scope of fields, and a huge amount of papers related to DL have been published since 2012.
This paper mainly focuses on a benchmark study of intelligent diagnosis, rather than providing a comprehensive review on DL for other fields.
Some famous DL researchers have published more professional references, and readers could refer to \cite{lecun2015deep,goodfellow2016deep}.

Due to the efforts of many researchers, DL has become one of the most popular data-driven methods to perform intelligent diagnosis.
In general, DL-based methods can extract representative features adaptively without any manual intervention and can achieve a higher accuracy than traditional machine learning algorithms in most of the tasks when the dataset is large enough.
We conducted a literature search using Web of Science with a database called web of science core collection.
As shown in \figref{Fig1}, we can observe that the number of published papers related to DL-based intelligent algorithms increases year by year.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.55]{Figs/DL-Summary.pdf}}
	\\ [-5pt]
	\caption{The relationship between the number of published papers and publication years covering the last six years (as of April 2020). The basic descriptor is “TI= ((deep OR autoencoder OR convolutional network* OR neural network*) AND (fault OR condition monitoring OR health management OR intelligent diagnosis))”.}
	\label{Fig1}
\end{figure}

Another interesting observation is that many review papers on this topic have been published in the recent four years.
Therefore, in this paper, we first summarize the main contents of different review papers, allowing readers who just enter this field to find suitable review papers quickly.

In bearing fault diagnosis, Li et al. \cite{li2018systematic} provided a systematic review of fuzzy formalisms including combination with other machine learning algorithms.
Hoang et al. \cite{hoang2019survey} provided a comprehensive review of three popular DL algorithms (AE, DBN, and CNN) for bearing fault diagnosis.
Zhang et al. \cite{zhang2020deep} systematically reviewed the machine learning and DL-based algorithms for bearing fault diagnosis and also provided a comparison of the classification accuracy of CWRU with different DL-based methods.
Hamadache et al. \cite{hamadache2019comprehensive} reviewed different fault modes of rolling element bearings and described various health indexes for PHM.
Meanwhile, it also provided a survey of artificial intelligence (AI) methods for PHM including shallow learning and DL.

In rotating machinery intelligent diagnosis, Ali et al. \cite{ali2016acoustic} provided a review of AI-based methods using acoustic emission data for rotating machinery condition monitoring.
Liu et al. \cite{liu2018artificial} reviewed Al-based approaches including k-nearest neighbors (KNN), support vector machine (SVM), artificial neural networks (ANN), Naive Bayes, and DL for fault diagnosis of rotating machinery.
Wei et al. \cite{wei2019review} summarized early fault diagnosis of gears, bearings, and rotors through signal processing methods (adaptive decomposition methods, wavelet transform, and sparse decomposition) and AI-based methods (KNN, neural network, and SVM).

In machinery condition monitoring, Zhao et al. \cite{zhao2016research} and Duan et al. \cite{duan2018deep} reviewed diagnosis and prognosis of mechanical equipment based on DL algorithms such as DBN and CNN.
Zhang et al. \cite{zhang2017comprehensive} reviewed computational intelligent approaches including ANN, evolutionary algorithms, fuzzy logic, and SVM for machinery fault diagnosis.
Zhao et al. \cite{zhao2019deep} reviewed data-driven machine health monitoring through DL methods (AE, DBN, CNN, and RNN) and provided the data and codes (in Keras) about an experimental study.
Lei et al. \cite{lei2020applications} presented a systematical review to cover the development of intelligent diagnosis following the progress of machine learning and DL models and offer a future perspective called transfer learning theories.

In addition, Nasiri et al. \cite{nasiri2017fracture} surveyed the state-of-the-art AI-based approaches for fracture mechanics and provided the accuracy comparisons achieved by different machine learning algorithms for mechanical fault detection.
Tian et al. \cite{tian2018review} surveyed different modes of traction induction motor fault and their diagnosis algorithms including model-based methods and AI-based methods.
Khan et al. \cite{khan2018review} provided a comprehensive review of AI for system health management and emphasized the trend of DL-based methods with limitations and benefits.
Stetco et al. \cite{stetco2018machine} reviewed machine learning approaches applied to wind turbine condition monitoring and made a discussion of the possibility for future research.
Ellefsen et al. \cite{ellefsen2019comprehensive} reviewed four well-established DL algorithms including AE, CNN, DBN, and long short-term memory network (LSTM) for PHM applications and discussed challenges for the future studies, especially in the field of PHM in autonomous ships.
AI-based algorithms (traditional machine learning algorithms and DL-based approaches) and applications (smart sensors, intelligent manufacturing, PHM, and cyber-physical systems) were reviewed in \cite{ademujimi2017review, chang2018review, wang2018deep, sharp2018survey} for smart manufacturing and manufacturing diagnosis.

Due to the fact that there are already many review papers covering DL-based rotating machinery intelligent diagnosis published before 2020, we further review most of related papers published in 2020 and summarize their main contributions to fill the void.

In AE models, for model improvement, AE models were combined with some other data preprocessing methods, such as singular value decomposition \cite{ISI:000506605800013} and nonlinear frequency spectrum \cite{ISI:000500942200115}.
The ensemble learning strategy was also used to boost the performance of AE models in \cite{ISI:000500942200149, ISI:000500942200073}.
Meanwhile, the semi-supervised learning methods were also embedded into AE models by \cite{ISI:000513324100001, ISI:000518910900003}.
For imbalanced learning, generation adversarial network (GAN) was used to combine with AE models to generate new labeled samples in \cite{ISI:000519000400001, ISI:000501653900023, ISI:000510903200058}.
In \cite{ISI:000508908600056}, a model called deep Laplacian AE (DLapAE) was proposed by introducing the Laplacian regularization to improve the generalization performance.
For transfer learning, the pretrained and fine-tuned approach was applied to AE models to realize the knowledge transfer in \cite{ISI:000508908600107,ISI:000517663200035}.
Domain adaptation was also used to transfer the knowledge learned by AE models to the target domain in \cite{ISI:000513850100020, ISI:000518412200123}.

In CNN models, for model improvement, different input types, such as time-frequency images \cite{ISI:000521728800006}, vibration spectrum images \cite{ISI:000513183100012}, infrared thermal images \cite{ISI:000518910900004}, and two-dimensional images \cite{ISI:000518910900005}, were used as the inputs of CNN models.
Multiple wavelet regularizations \cite{ISI:000508908600067}, data augmentation methods \cite{ISI:000519899300012}, and information fusion technology \cite{ISI:000509205900001} were also applied to improve the performance of CNN models.
Hand-crafted features were combined with CNN features to boost the performance in \cite{ISI:000519983300041}.
For imbalanced learning, GAN was also used to combine with CNN models to generate new labeled samples in \cite{ISI:000510066300004, ISI:000508908600098}.
Focal loss, which can deal with severe imbalanced problems, was used by \cite{li2020adaptive} to allow CNN models to learn discriminative features.
For transfer learning, the pretrained and fine-tuned approach was used to leverage the prior knowledge from the source task in \cite{ISI:000506605800019, ISI:000508908600019,ISI:000508428900032}.
Domain adaptation methods were also applied to allow CNN models to learn transferable features in \cite{ISI:000519983300020, jiao2019unsupervised}.
In addition, layer-wise relevance propagation was also used to understand how CNN models learn to distinguish different patterns \cite{ISI:000520089000040}.

Beyond that, complex wavelet packet energy moment entropy \cite{ISI:000513295000018} and the grey wolf optimizer algorithm \cite{ISI:000503013100005} were combined with an enhanced deep gated recurrent unit to improve the security of rotating machinery.
Joint distribution adaptation was embedded into LSTM to realize learning transferable features in \cite{ISI:000500942200145}.
DBN models were also modified in \cite{ISI:000514158700006,ISI:000499374500001,ISI:000506068300015} to improve the diagnosis performance of rotating machinery.
Deep reinforcement learning was also used in intelligent fault diagnosis for rotating machinery in \cite{ding2019intelligent, dai2020fault}.
Meanwhile, a deep graph convolutional network (DGCN) was first applied to rolling bearing fault diagnosis based on acoustic signals \cite{ISI:000519983300033}.

Although a large body of DL-based methods and many related reviews have been published in the field of intelligent diagnosis, few studies thoroughly evaluate various DL-based intelligent diagnosis algorithms for most of the publicly available datasets, provide the benchmark accuracy, and release the code library for complete evaluation procedures.
For example, a simple code written in Keras was published in \cite{zhao2019deep}, which is not comprehensive enough for different datasets and models.
The accuracy comparisons were provided in \cite{zhang2020deep,nasiri2017fracture} according to existing papers, but they were not comprehensive enough due to different configurations.
Therefore, this paper is intended to make up for this gap and emphasize the importance of open source codes and the benchmark study.

\section{Evaluation Algorithms}
\label{S:3}
It is impossible to cover all the published models since there is currently no open source community in this field.
Therefore, we switch to test the performance of four models (including MLP, AE, CNN, and RNN) via embedding some advanced techniques.
It should be noted that DBN is also another commonly used DL model in intelligent diagnosis, but we do not add it to this code library due to that the fact the training way of DBN is much different from those four models.

\subsection{MLP}
MLP \cite{rumelhart1985learning}, which was a fully connected network with multiple hidden layers, was proposed in 1987 as the prototype of ANN.
With such a simple structure, MLP can complete some easy classification tasks such as MNIST.
However, as the task becomes more complex, it would be hard to train MLP because of the huge amount of parameters.
MLP with five fully connected layers and five batch normalization layers is used in this paper for one dimension (1D) input data.
The structure and parameters of this model are shown in \figref{MLP}.
Besides, in \figref{MLP}, FC means the fully connected layer, BN means the Batch Normalization layer, and CE loss means the softmax cross-entropy loss.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.7]{Figs/MLP-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{The structure of MLP.}
	\label{MLP}
\end{figure}

\subsection{AE}
AE was first proposed in 2006, as a method for dimensionality reduction.
It can reduce the dimensionality of the input data while retaining most of the information.
AE consists of an encoder and a decoder, which tries to reconstruct the input from the output of an encoder, and the reconstruction error is used as a loss function.
In detail, an encoder takes $ x $ as an input and transforms it into a hidden representaion $ h $ which can be formualted as:
\begin{align}
\label{eq:ae1}
h = \phi(W \cdot x+b )
\end{align}
$\phi(\cdot )$ denotes the nonlinear activation function (in this paper, we use ReLU), and $ W $ and $ b $ represent the weight and bias required to learn, respectively.
After that, a decoder generates the output $ x' $ from the hidden representaion $ h $, which can be formulated as:
\begin{align}
\label{eq:ae2}
x' = \phi(W' \cdot h+b')
\end{align}
where $ W' $ and $ b' $ represent the weight and bias required to learn, respectively.
For traditional AE, the mean squared error (MSE) loss is often used as a loss function, shown as follows:
\begin{align}
\label{eq:ae3}
L_{\text{MSE}} =
\dfrac{1}{N} \sum\limits_{i = 1}^N || x_i - x'_i ||^2_2
\end{align}
where $ x_i $ and $ x'_i $ are the $ i $-th sample and its approximation, respectively, and $ N $ is the number of data samples.
In practice, we often stack multiple layers in both encoder and decoder to produce better learning results.

Subsequently, various derivatives of AE were proposed by different researchers, such as denoising auto-encoder (DAE) \cite{vincent2008extracting} and sparse auto-encoder (SAE) \cite{ranzato2007efficient}.
In this paper, we design a deep AE and its derivatives for 1D input data (using the fully connected layer) and two dimension (2D) input data (using the convolutional layer), respectively.
Considering different features of neural networks, the structures and hyper-parameters of them shown in \figref{AE} change adaptively.
Specifically, the network structures of DAE and SAE are the same with AE, and their differences lie in the loss function and inputs.
DAE takes an input corrupted with noise and is trained to reconstruct the clean version of the input; SAE uses a MSE loss regularized with a sparsity constraint (the Kullback-Leibler divergence is often used) to train the AE model.
During the training of AE and its derivatives, the encoder and decoder are trained jointly to get the low-dimension features of data.
After that, the encoder and classifier are trained jointly using the softmax cross-entropy loss for the classification task.
The details of AE and its derivatives are shown in \figref{AE}.
In \figref{AE}, the MSE loss means the mean square error loss defined in \eqref{eq:ae3}, Conv means the convolutional layer, $ \text{Conv}^\text{T} $ means the transposed convolutional (e.g. inverse convolution) layer, and the KLP loss means the Kullback-Leibler divergence loss.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 1]{Figs/AE-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{The structure of AE and its derivatives}
	\label{AE}
\end{figure}

\subsection{CNN}
CNN \cite{lecun1995convolutional} was first proposed in 1997 and the proposed network was also called LeNet.
CNN is a specialized kind of neural network for processing data that has a known grid-like topology.
Sparse interactions, parameter sharing, and equivalent representations are realized with convolution and pooling operations on CNN.
In 2012, AlexNet \cite{krizhevsky2012imagenet} won the title in the ImageNet competition by far surpassing the second place, and CNN has attracted wide attention.
Besides, in 2016, ResNet \cite{he2016deep} was proposed and its classification accuracy exceeded the human baseline.
In this paper, we design 5 layers 1D CNN and 2D CNN for 1D input data and 2D input data, respectively, and also adapt three well known CNN models (LeNet, ResNet18, and AlexNet) for two types of the input data.
The details of CNN and its derivatives are shown in \figref{CNN}.
In \figref{CNN}, MaxPool means the Max Pooling layer, AdaptiveMaxPool means the Adaptive Max Pooling layer, and Dropout means the Dropout layer.

As shown in \figref{CNN}, CNN mainly contains three kinds of layers, including the convolutional layer, the maxpooling layer, and the classifier layer.
Convolutional and maxpooling layers are utilized to perform feature learning, and the classifier layer classifies learned features into different classes.
For an input $ x $, the convolutional layer can be defined as a multiplication with a filter kernel $ w $, and the final feature map after the nonlinear activation can be formulated as:
\begin{align}
\label{eq:cnn1}
h_k^l = \phi(w_k^l*x+b_k^l )
\end{align}
where $ * $ denotes the convolution operator.
$ h_k^l$, $ w_k^l $, and $ b_k^l $ represent the obtained feature map, the weight and bias of $ k $-th convolutional kernel of $ l $-th layer, respectively.

The maxpooling layer is set behind the convolution layer to extract the most significant local information in each feature map and to reduce the dimension of obtained features.
The maxpooling layer can be defined as:
\begin{align}
\label{eq:cnn2}
z_k^l = \text{down}(h_k^l;\;s )
\end{align}
where $\text{down}(\cdot )$ denotes the down-sampling function of the maxpooling layer, $ z_k^l $ is the output feature map of the maxpooling layer, and $ s $ is the pooling size.

After a number of stacked convolutional and pooling layers, the extracted high-level features of input data are input into the classifier layer.
In this paper, a fully connected layer is used to map features into different classes.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 1]{Figs/CNN-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{The structure of CNN and its derivatives}
	\label{CNN}
\end{figure}

\subsection{RNN}
RNN can describe the temporal dynamic behavior and is very suitable for dealing with time series.
However, RNN often exists the gradient vanishing and exploding problems during the training procedure.
To overcome these problems, LSTM was proposed in 1997 \cite{hochreiter1997long} for processing continual input streams and has made great success in various fields.
Bi-directional LSTM (BiLSTM) can capture bidirectional dependencies over long distances and learn to remember and forget information selectively.
We utilize BiLSTM as the representation of RNN to deal with two types of input data (1D and 2D) for the classification task.
The details of 1D BiLSTM and 2D BiLSTM are shown in \figref{LSTM}.
Besides, in \figref{LSTM}, Transpose means transposing the channel and feature dimensions of the input data, and BiLSTM Block means the BiLSTM layer.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 1]{Figs/LSTM-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{The structure of 1D BiLSTM and 2D BiLSTM}
	\label{LSTM}
\end{figure}

The structure of a LSTM cell is shown in \figref{LSTMcell}, including the forget gate layer $ \sigma_1 $, the input gate layer $ \sigma_2 $, the output gate layer $ \sigma_3 $, and the tanh layer.
Firstly, the hidden state of a last cell $ h_{t-1} $ and the current input $ x_{t} $ are fed into the forget gate layer to decide whether we should forget the last cell state $ C_{t-1} $.
Secondly, $ h_{t-1} $ and $ x_{t} $ are fed into the input gate layer and the tanh layer to decide values we want to update.
Thirdly, $ h_{t-1} $ and $ x_{t} $ are fed into the output layer to decide what we should export for the last cell.
Based on the structure shown in \figref{LSTMcell}, the output cell state $ C_{t} $ can be calculated as follows:
\begin{align}
\label{eq:lstm2}
C_{t}  = \sigma_1(h_{t-1}, x_{t}) \otimes C_{t-1} \oplus \sigma_2(h_{t-1}, x_{t}) \otimes \text{tanh}(h_{t-1}, x_{t})
\end{align}
where $ \otimes $ and $ \oplus $ denote the element-wise multiplication and addition, respectively.
Meanwhile, $ \sigma_i(h_{t-1}, x_{t}) $ is defined as follows:
\begin{align}
\label{eq:lstm3}
\sigma_i(h_{t-1}, x_{t}) = \sigma(W_i\cdot[h_{t-1}, x_{t}] + b_i), \quad i=1,2,3
\end{align}
where $ W_i $ and $ b_i $ represent the weight and bias, respectively. $ \sigma(\cdot) $ denotes the sigmoid function.
Similarly, the tanh layer replaces the sigmoid function with the tanh function.
In addition, the output hidden state $ h_{t} $ can be calculate as follows:
\begin{align}
\label{eq:lstm5}
h_{t} = \sigma_3(h_{t-1}, x_{t})\otimes \text{tanh}(C_{t})
\end{align}

Many repeating cells are linked together to form a LSTM block, designed for capturing both long-term and short-term dependencies.
The BiLSTM layer is the combining of forward and backward LSTM blocks, in which information is bidirectionally transmitted.
For each input, information of the whole time series can be used simultaneously.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.6]{Figs/LSTM_cell.pdf}}
	\\ [-5pt]
	\caption{The structure of a LSTM cell}
	\label{LSTMcell}
\end{figure}

\section{Datasets}
\label{S:4}
In the field of intelligent diagnosis, publicly available datasets have not been investigated in depth.
Actually, for comprehensive performance comparisons, it is important to gather different kinds of representative datasets.
We collected nine commonly used datasets which all have specific labels and explanations in addition to the PHM 2012 bearing dataset and Intelligent Maintenance Systems (IMS) bearing dataset, so PHM 2012 and IMS are not suitable for fault classification that requires labels.
To sum up, this paper uses seven datasets to verify the performance of models introduced in Section \ref{S:3}.
The description of all these datasets is listed as follows.

\subsection{CWRU Bearing Dataset}
Case Western Reserve University (CWRU) datasets were provided by the Case Western Reserve University Bearing Data Center \cite{CWRU}.
Vibration signals were collected at 12 kHz or 48 kHz for normal bearings and damaged bearings with single-point defects under four different motor loads.
Within each working condition, single-point faults were introduced with fault diameters of 0.007, 0.014, and 0.021 inches on the rolling element, the inner ring, and the outer ring, respectively.
In this paper, we used the data collected from the drive end, and the sampling frequency was equivalent to 12 kHz.
In Table \ref{Tab_1}, one healthy bearing and three fault modes, including the inner ring fault, the rolling element fault, and the outer ring fault, were classified into ten categories (one health state and 9 fault states) according to different fault sizes.

\begin{table}[!t]
	\caption{Detailed description of CWRU datasets}
	\centering
	\label{Tab_1}
	\begin{tabular}{| c | c |}
		\hline
		Fault Mode & Description\\
		\hline
		Health State & the normal bearing at 1791 rpm and 0 HP\\
		\hline
		Inner ring 1 & 0.007 inch inner ring fault at 1797 rpm and 0 HP\\
		\hline
		Inner ring 2 & 0.014 inch inner ring fault at 1797 rpm and 0 HP\\
		\hline
		Inner ring 3 & 0.021 inch inner ring fault at 1797 rpm and 0 HP\\
		\hline
		Rolling Element 1 & 0.007 inch rolling element fault at 1797 rpm and 0 HP\\
		\hline
		Rolling Element 2 & 0.014 inch rolling element fault at 1797 rpm and 0 HP\\
		\hline
		Rolling Element 3 & 0.021 inch rolling element fault at 1797 rpm and 0 HP\\
		\hline
		Outer ring 1 & 0.007 inch outer ring fault at 1797rpm and 0 HP\\
		\hline
		Outer ring 2 & 0.014 inch outer ring fault at 1797rpm and 0 HP\\
		\hline
		Outer ring 3 & 0.021 inch outer ring fault at 1797rpm and 0 HP\\
		\hline
	\end{tabular}
\end{table}

\subsection{MFPT Bearing Dataset}
Machinery Failure Prevention Technology (MFPT) datasets were provided by Society for Machinery Failure Prevention Technology \cite{MFPT}.
MFPT datasets consisted of three bearing datasets:
1) a baseline dataset sampled at 97656 Hz for six seconds in each file;
2) seven outer ring fault datasets sampled at 48828 Hz for three seconds in each file;
3) seven inner ring fault datasets sampled at 48828 Hz for three seconds in each file;
4) some other datasets which were not used in this paper (more detailed information can be referred to the website of MFPT datasets \cite{MFPT}).
In Table \ref{Tab_2}, one health state bearing and two fault bearings including the inner ring fault and the rolling element fault were classified into 15 categories (one health state and 14 fault states) according to different loads.

\begin{table}[!t]
	\caption{Detailed description of MFPT datasets}
	\centering
	\label{Tab_2}
	\begin{tabular}{| c | c |}
		\hline
		Fault Mode & Description\\
		\hline
		Health State & Fault-free bearing working at 270 lbs\\
		\hline
		Outer ring 1 & Outer ring fault bearing working at 25 lbs\\
		\hline
		Outer ring 2 & Outer ring fault bearing working at 50 lbs\\
		\hline
		Outer ring 3 & Outer ring fault bearing working at 100 lbs\\
		\hline
		Outer ring 4 & Outer ring fault bearing working at 150 lbs\\
		\hline
		Outer ring 5 & Outer ring fault bearing working at 200 lbs\\
		\hline
		Outer ring 6 & Outer ring fault bearing working at 250 lbs\\
		\hline
		Outer ring 7 & Outer ring fault bearing working at 300 lbs\\
		\hline
		Outer ring 1 & Inner ring fault bearing working at 0 lbs\\
		\hline
		Inner ring 2 & Inner ring fault bearing working at 50 lbs\\
		\hline
		Inner ring 3 & Inner ring fault bearing working at 100 lbs\\
		\hline
		Inner ring 4 & Inner ring fault bearing working at 150 lbs\\
		\hline
		Inner ring 5 & Inner ring fault bearing working at 200 lbs\\
		\hline
		Inner ring 6 &Inner ring fault bearing working at 250 lbs\\
		\hline
		Inner ring 7 & Inner ring fault bearing working at 300 lbs\\
		\hline
	\end{tabular}
\end{table}

\subsection{PU Bearing Dataset}
Paderborn University (PU) datasets were provided by the Paderborn University Bearing Data Center \cite{PU,lessmeier2016condition}, and PU datasets consisted of 32 sets of current signals and vibration signals.
As shown in Table \ref{Tab_3}, bearings were divided into:
1) six undamaged bearings;
2) twelve artificially damaged bearings;
3) fourteen bearings with real damages caused by accelerated lifetime tests.
Each dataset was collected under four working conditions as shown in Table \ref{Tab_PU}.

\begin{table}[!t]
	\caption{Detailed description of PU datasets (S: single damage; R: repetitive damage; M: multiple damage)}
	\centering
	\label{Tab_3}
	\begin{tabular}{|m{0.07\textwidth}<{\centering}|m{0.18\textwidth}<{\centering}|m{0.14\textwidth}<{\centering}|m{0.07\textwidth}<{\centering}|m{0.18\textwidth}<{\centering}|m{0.14\textwidth}<{\centering}|}
		\hline
		Bearing Code & Fault Mode & Description & Bearing Code & Fault Mode & Description\\
		\hline
		K001 & Health state & Run-in 50 h before test &KI07 & Artificial inner ring fault (Level 2)&Made by electric engraver\\
		\hline
		K002 & Health state &Run-in 19 h before test &KI08 & Artificial inner ring fault (Level 2) &Made by electric engraver\\
		\hline
		K003 & Health state & Run-in 1 h before test &KA04 & Outer ring damage (single point + S + Level 1) &Caused by fatigue and pitting\\
		\hline
		K004 & Health state & Run-in 5 h before test &KA15 & Outer ring damage (single point + S + Level 1) &Caused by plastic deform and  indentation\\
		\hline
		K005 & Health state & Run-in 10 h before test &KA16 & Outer ring damage (single point + R + Level 2) &Caused by fatigue and pitting\\
		\hline
		K006 & Health state & Run-in 16 h before test &KA22 & Outer ring damage (single point + S + Level 1)&Caused by fatigue and pitting\\
		\hline
		KA01 & Artificial outer ring fault (Level 1)  & Made by EDM &KA30 & Outer ring damage (distributed + R + Level 1) &Caused by plastic deform and indentation\\
		\hline
		KA03 & Artificial outer ring fault (Level 2) & Made by electric engraver&KB23 & Outer ring and inner ring damage (single point + M + Level 2) &Caused by fatigue and pitting\\
		\hline
		KA05 & Artificial outer ring fault (Level 1) & Made by electric engraver&KB24 & Outer ring and inner ring damage (distributed + M + Level 3) &Caused by fatigue and pitting\\
		\hline
		KA06 & Artificial outer ring fault (Level 2) &Made by electric engraver &KB27 & Outer ring and inner ring damage (distributed + M + Level 1) &Caused by plastic deform and  indentation\\
		\hline
		KA07 & Artificial outer ring fault (Level 1) & Made by drilling&KI04 & Inner ring damage (single point + M + Level 1) &Caused by fatigue and pitting\\
		\hline
		KA08 & Artificial outer ring fault (Level 2) & Made by drilling&KI14 & Inner ring damage (single point + M + Level 1) &Caused by fatigue and pitting\\
		\hline
		KA09 & Artificial outer ring fault (Level 2) & Made by drilling&KI16 & Inner ring damage (single point + S + Level 3) &Caused by fatigue and pitting\\
		\hline
		KI01 & Artificial inner ring fault (Level 1)  &Made by EDM &KI17 & Inner ring damage (single point + R + Level 1) &Caused by fatigue and pitting\\
		\hline
		KI03 & Artificial inner ring fault (Level 1)  & Made by electric engraver &KI18 & Inner ring damage (single point + S + Level 2) &Caused by fatigue and pitting\\
		\hline
		KI05 & Artificial inner ring fault (Level 1)  & Made by electric engraver &KI21 & Inner ring damage (single point + S + Level 1) &Caused by fatigue and pitting\\
		\hline
	\end{tabular}
\end{table}

\begin{table}[!t]
	\caption{Four working conditions of PU datasets}
	\centering
	\label{Tab_PU}
	\begin{tabular}{| c | c | c | c | c |}
		\hline
		No. & Rotating speed (rpm) & Load torque (Nm) & Radial force (N) & Name of setting\\
		\hline
		0 & 1500 & 0.7 & 1000 & N15\_M07\_F10\\
		\hline
		1 & 900 & 0.7 & 1000 & N09\_M07\_F10\\
		\hline
		2 & 1500 & 0.1 & 1000 & N15\_M01\_F10\\
		\hline
		3 & 1500 & 0.7 & 400 & N15\_M07\_F04\\
		\hline
	\end{tabular}
\end{table}

In this paper, since using all the data would cause huge computational time, we only used the data collected from real damaged bearings (including KA04, KA15, KA16, KA22, KA30, KB23, KB24, KB27, KI14, KI16, KI17, KI18, and KI22) under the working condition N15\_M07\_F10 to carry out the performance verification.
Since KI04 was the same as KI14 completely shown in Table \ref{Tab_3}, we deleted KI04 and the total number of classes was thirteen.
Besides, only vibration signals were used for testing the models.

\subsection{UoC Gear Fault Dataset}
University of Connecticut (UoC) gear fault datasets were provided by the University of Connecticut \cite{UoC}, and UoC datasets were collected at 20 kHz.
In this dataset, nine different gear conditions were introduced to the pinions on the input shaft, including healthy condition, missing tooth, root crack, spalling, and chipping tip with 5 different levels of severity.
All the collected datasets were used and classified into nine categories (one health state and eight fault states) to test the performance.

\subsection{XJTU-SY Bearing Dataset}
XJTU-SY bearing datasets were provided by the Institute of Design Science and Basic Component at Xi’an Jiaotong University and the Changxing Sumyoung Technology Co. \cite{XJTU,wang2018hybrid}.
XJTU-SY datasets consisted of fifteen bearings run-to-failure data under three different working conditions.
The dataset was collected at 2.56 kHz.
A total of 32768 data points were recorded, and the sampling period was equal to one minute.
The details of bearing lifetime and fault elements were shown in Table \ref{Tab_4}.
In this paper, we used all the data described in Table \ref{Tab_5} and the total number of classes was fifteen.
It should be noticed that we used collected data at the end of run-to-failure experiments.

\begin{table}[!t]
	\caption{Detailed description of XJTU-SY datasets}
	\centering
	\label{Tab_4}
\begin{tabular}{|c|c|c|c|}
	\hline
	Condition                                                                                & File                              & Lifetime                       & Fault element                          \\ \hline
	\multirow{5}{*}{\begin{tabular}[c]{@{}c@{}}Speed: 35 Hz\\ Load: 12 kN\end{tabular}}                       & Bearing 1\_1                      & 2h 3min                        & Outer ring                             \\ \cline{2-4}
	& Bearing 1\_2                      & 2h 41min                       & Outer ring                             \\ \cline{2-4}
	& Bearing 1\_3                      & 2h 38min                       & Outer ring                             \\ \cline{2-4}
	& Bearing 1\_4                      & 2h 2min                        & Cage                                   \\ \cline{2-4}
	& Bearing 1\_5                      & 52 min                         & Inner ring and Outer ring              \\ \hline
	\multirow{5}{*}{\begin{tabular}[c]{@{}c@{}}Speed: 37.5 Hz\\ Load: 11 kN\end{tabular}}                     & Bearing 2\_1                      & 8h 11min                       & Inner ring                             \\ \cline{2-4}
	& Bearing 2\_2                      & 2h 41min                       & Outer ring                             \\ \cline{2-4}
	& Bearing 2\_3                      & 8h 53min                       & Cage                                   \\ \cline{2-4}
	& Bearing 2\_4                      & 42min                          & Outer ring                            \\ \cline{2-4}
	& Bearing 2\_5                      & 5h 39min                       & Outer ring                             \\ \hline
	\multicolumn{1}{|c|}{\multirow{5}{*}{\begin{tabular}[c]{@{}c@{}}Speed: 40 Hz\\ Load: 10 kN\end{tabular}}} & \multicolumn{1}{c|}{Bearing 3\_1} & \multicolumn{1}{c|}{42h 18min} & Outer ring                             \\ \cline{2-4}
	\multicolumn{1}{|c|}{}                                                                                & \multicolumn{1}{c|}{Bearing 3\_2} & \multicolumn{1}{c|}{41h 36min} & Inner ring, Rolling element, Cage, and Outer ring \\ \cline{2-4}
	\multicolumn{1}{|c|}{}                                                                                & \multicolumn{1}{c|}{Bearing 3\_3} & \multicolumn{1}{c|}{6h 11min}  & Inner ring                             \\ \cline{2-4}
	\multicolumn{1}{|c|}{}                                                                                & \multicolumn{1}{c|}{Bearing 3\_4} & \multicolumn{1}{c|}{25h 15min} & Inner ring                            \\ \cline{2-4}
	\multicolumn{1}{|c|}{}                                                                                & \multicolumn{1}{c|}{Bearing 3\_5} & \multicolumn{1}{c|}{1h 54min}  & Outer ring                             \\ \hline
\end{tabular}
\end{table}

\subsection{SEU Gearbox Dataset}
Southeast University (SEU) gearbox datasets were provided by Southeast University \cite{SEU,shao2018highly}.
SEU datasets contained two sub-datasets, including a bearing dataset and a gear dataset, which were both acquired on drivetrain dynamic simulator (DDS).
There were two kinds of working conditions with rotating speed - load configuration (RS-LC) set to be 20 Hz - 0 V and 30 HZ - 2 V shown in Table \ref{Tab_5}.
The total number of classes was equal to twenty according to Table \ref{Tab_5} under different working conditions.
Within each file, there were eight rows of vibration signals, and we used the second row of vibration signals.

\begin{table}[!t]
	\caption{Detailed description of SEU datasets}
	\centering
	\label{Tab_5}
	\begin{tabular}{| c | c | c | c |}
		\hline
		Fault Mode & RS-LC  & Fault Mode & RS-LC\\
		\hline
		Health Gear & 20 Hz - 0 V & Health Bearing & 20 Hz - 0 V\\
		\hline
		Health Gear & 30 Hz - 2 V & Health Bearing & 30 Hz - 2 V\\
		\hline
		Chipped Tooth & 20 Hz - 0 V & Inner ring & 20 Hz - 0 V\\
		\hline
		Chipped Tooth & 30 Hz - 2 V & Inner ring & 30 Hz - 2 V\\
		\hline
		Missing Tooth & 20 Hz - 0 V & Outer ring & 20 Hz - 0 V\\
		\hline
		Missing Tooth & 30 Hz - 2 V & Outer ring & 30 Hz - 2 V\\
		\hline
		Root Fault & 20 Hz - 0 V & Inner + Outer ring & 20 Hz - 0 V\\
		\hline
		Root Fault & 30 Hz - 2 V & Inner + Outer ring & 30 Hz - 2 V\\
		\hline
		Surface Fault & 20 Hz - 0 V & Rolling Element & 20 Hz - 0 V\\
		\hline
		Surface Fault & 30 Hz - 2 V & Rolling Element & 30 Hz - 2 V\\
		\hline
	\end{tabular}
\end{table}

\subsection{JNU Bearing Dataset}
Jiangnan University (JNU) bearing datasets were provided by Jiangnan University \cite{JNU,li2013sequential}.
JNU datasets consisted of three bearing vibration datasets with different rotating speeds, and the data were collected at 50 kHz.
As shown in Table \ref{Tab_6}, JNU datasets contained one health state and three fault modes which include inner ring fault, outer ring fault, and rolling element fault.
Therefore, the total number of classes was equal to twelve according to different working conditions.

\begin{table}[!t]
	\caption{Detailed description of JNU datasets}
	\centering
	\label{Tab_6}
	\begin{tabular}{| c | c | c | c | c | c |}
		\hline
		Fault Mode & Rotating Speed & Fault Mode & Rotating Speed & Fault Mode & Rotating Speed\\
		\hline
		Health State & 600 rpm & Health State & 800 rpm & Health State & 1000 rpm\\
		\hline
		Inner ring & 600 rpm& Inner ring & 800 rpm & Inner ring & 1000 rpm\\
		\hline
		Outer ring & 600 rpm & Outer ring & 800 rpm &Outer ring & 1000 rpm\\
		\hline
		Rolling Element & 600 rpm & Rolling Element & 800 rpm & Rolling Element & 1000 rpm\\
		\hline
	\end{tabular}
\end{table}

\subsection{PHM 2012 Bearing Dataset}
PHM 2012 bearing datasets were used for PHM IEEE 2012 Data Challenge \cite{PHM,nectoux2012pronostia}.
In PHM 2012 datasets, seventeen run-to-failure datasets were provided including six training sets and eleven testing sets.
Three different loads were considered.
Vibration and temperature signals were gathered during all those experiments.
Since no label on the types of failures was given, it was not used in this paper.

\subsection{IMS Bearing Dataset}
IMS bearing datasets were generated by the NSF I/UCR Center for Intelligent Maintenance Systems \cite{lee2007bearing}.
IMS datasets were made up of three bearing datasets, and each of them contained vibration signals of four bearings installed on the different locations.
At the end of the run-to-failure experiment, a defect occurred on one of the bearings.
The failure occurred in the different locations of bearings.
It is inappropriate to classify these failures simply using three classes, so IMS datasets were not evaluated in this paper.

\section{Data Prepreocessing}
\label{S:5}
The type of input data and the way of normalization have a great impact on the performance of DL models.
Types of input data determine the difficulty of feature extraction, and normalization methods determine the difficulty of calculation.
So, in this paper, the effects of five input types and three normalization methods on the performance of DL models are discussed.

\subsection{Input Types}
Many researchers use signal processing methods to map the time series to different domains to boost the performance.
However, which input type is more suitable for intelligent diagnosis is still an open question.
In this paper, the effects of different input types on model performance are discussed.

\subsubsection{Time Domain Input}
For the time domain input, vibration signals are directly used as the input without data preprocessing.
In this paper, the length of each sample is 1024 and the total number of samples can be obtained from \eqrefA{eq1}.
After generating samples, we take 80\% of total samples as the training set and 20\% of total samples as the testing set.
\begin{align}
\label{eq1}
N = \text{floor}(\frac{L}{1024})
\end{align}
where  $ L $ is the length of each signal, $ N $  is the total samples, and $ \text{floor} $ means rounding towards minus infinity.

\subsubsection{Frequency Domain Input}
For the frequency domain input, FFT is used to transform each sample $ x_i $ from the time domain into the frequency domain shown in \eqrefA{eq2}.
After this operation, the length of data will be halved and the new sample can be expressed as:
\begin{align}
\label{eq2}
x_i^{\text{FFT}} = \text{FFT}(x_i)
\end{align}
where the operator $ \text{FFT}(\cdot) $ represents transforming $ x_i $ into the frequency domain and taking the first half of the result.

\subsubsection{Time-Frequency Domain Input}
For the time-frequency domain input, short-time Fourier transform (STFT) is applied to each sample $ x_i $ to obtain the time-frequency representation shown in \eqrefA{eq3}.
The Hanning window is used and the window length is 64.
After this operation, the time-frequency representation (a 33x33 image) will be generated as:
\begin{align}
\label{eq3}
x_i^{\text{STFT}} = \text{STFT}(x_i), \quad i=1,2,...,N
\end{align}
where the operator $ \text{SFFT}(\cdot) $ represents transforming $ x_i $ into the time-frequency domain.

\subsubsection{Wavelet Domain Input}
For the wavelet domain input, continuous wavelet transform (CWT) is applied to each sample $ x_i $ to obtain the wavelet domain representation shown in \eqrefA{eq4}.
Because CWT is time-consuming, the length of each sample $ x_i $ is set to 100.
After this operation, the wavelet coefficients (an 100x100 image) will be obtained as:
\begin{align}
\label{eq4}
x_i ^{\text{CWT}} = \text{CWT}(x_i), \quad i=1,2,...,N
\end{align}
where the operator $ \text{CWT}(\cdot) $ represents transforming $ x_i $ into the wavelet domain.

\subsubsection{Slicing Image Input}
For slicing image input, each sample $ x_i $ is reshaped into a 32x32 image.
After this operation, the new sample can be denoted as:
\begin{align}
\label{eq5}
x_i ^{\text{Reshape}}= \text{Reshape}(x_i), \quad i=1,2,...,N
\end{align}
where the operator $ \text{Reshape}(\cdot) $ represents reshaping $ x_i $ into a 32x32 image.

However, above data preprocessing methods have some problems for training AE models and CNN models in the following two aspects:
1) if AE models input a large 2D signal, it will lead the decoder to have difficulty in the reconstruction procedure and the reconstruction error is very large;
2) if CNN models input a small 2D signal, it will make CNN unable to extract appropriate features.

Therefore, we have made a compromise on the data size obtained by the above data preprocessing methods.
The sizes of the time domain and the frequency domain input are unchanged as shown in \eqrefA{eq1} and \eqrefA{eq2}.
For the AE class, sizes of all 2D inputs are adjusted to 32x32, while for CNN models, sizes of signals after CWT, STFT, and slicing image are adjusted to 300x300, 330x330, and 320x320, respectively.
It should be noted that input sizes of CNN models can be different since we use the AdaptiveMaxPooling layer to adapt different input sizes.

\subsection{Normalization}
Input normalization is the basic step in data preparation, which can facilitate the subsequent data processing and accelerate the convergence of DL models.
Therefore, we discuss the effects of three normalization methods on the performance of DL models.

\textbf{Maximum-Minimum Normalization}: This normalization method can be implemented by
\begin{align}
\label{eq6}
x^{normalize-1}_i = \frac{x_i - x_i^{min}}{x_i^{max} - x_i^{min}}, \quad i=1,2,...,N
\end{align}
where $ x_i $ is the input sample, $ x_i^{min} $ is the minimum value in $ x_i $, and $ x_i^{max} $ is the maximum value in $ x_i $.

\textbf{[-1-1] Normalization}: This normalization method can be implemented by
\begin{align}
\label{eq7}
x^{normalize-2}_i = -1 + 2 * \frac{x_i - x_i^{min}}{x_i^{max} - x_i^{min}}, \quad i=1,2,...,N
\end{align}

\textbf{Z-score Normalization}: This normalization method can be implemented by
\begin{align}
\label{eq8}
x^{normalize-3}_i = \frac{x_i - x_i^{mean}}{x_i^{std}}, \quad i=1,2,...,N
\end{align}
where $ x_i^{mean} $ is the mean value of $ x_i $, and $ x_i^{std} $ is the standard deviation of $ x_i $.

\section{Data Augmentation}
\label{S:6}
Data augmentation is important to make the training datasets more diverse and to alleviate the learning difficulties caused by small sample problems.
However, data augmentation for intelligent diagnosis has not been investigated in depth.
The key challenge for data augmentation is to create the label-corrected samples from existing samples, and this procedure mainly depends on the domain knowledge.
However, it is difficult to determine whether the generated samples are label-corrected.
So, this paper provides some data augmentation techniques to increase the concerns of other scholars.
In addition, these data augmentation strategies are only a simple test and their applications still need to be studied in depth.
\subsection{One Dimension Input Augmentation}
\textbf{RandomAddGaussian}: this strategy randomly adds Gaussian noise into the input signal formulated as follows:
\begin{align}
\label{eq9}
x := x + n
\end{align}
where $ x $ is the 1D input signal, and $ n $ is generated by Gaussian distribution $\mathcal N (0, 0.01) $.

\textbf{RandomScale}: this strategy randomly multiplies the input signal with a random factor which is formulated as follows:
\begin{align}
\label{eq10}
x := \beta * x
\end{align}
where $ x $ is the 1D input signal,  and $ \beta $ is a scaler following the distribution $ \mathcal N (1, 0.01) $.

\textbf{RandomStretch}: this strategy resamples the signal into a random proportion and ensures the equal length by nulling and truncating.

\textbf{RandomCrop}: this strategy randomly covers partial signals which is formulated as follows:
\begin{align}
\label{eq11}
x := mask  * x
\end{align}
where $ x $ is the 1D input signal, and $ mask $ is the binary sequence whose subsequence of random position is zero.
In this paper, the length of the subsequence is equal to 10.

\subsection{Two Dimension Input Augmentation}
\textbf{RandomScale}: this strategy randomly multiplies the input signal with a random factor which is formulated as follows:
\begin{align}
\label{eq12}
x := \beta * x
\end{align}
where $ x $ is the 2D input signal,  and $ \beta $ is a scaler following the distribution $ \mathcal N (1, 0.01) $.

\textbf{RandomCrop}: this strategy randomly covers partial signals, which is formulated as follows:
\begin{align}
\label{eq13}
x := mask  * x
\end{align}
where $ x $ is the 2D input signal, and $ mask $ is the binary sequence whose subsequence of random position is zero.
In this paper, the length of the subsequence is equal to 20.

\section{Data Split}
\label{S:7}
One common practice of data split in intelligent diagnosis is the random split strategy, and the diagram of this strategy is shown in \figref{Fig-data-split0}.
From this diagram, we stress the preprocessing step without overlap due to the fact that if the sample preparation process exists any overlap, the evaluation of classification algorithms may have test leakage (if users split the training set and the testing set from the beginning of the preprocessing step, then they can use any processing to simultaneously deal with the training and testing sets, as shown in \figref{Fig-data-split1}).

The formal way is that the training set is further split into the training set and the validation set for the model selection.
\figref{Fig-data-split0} shows the condition of 4-fold cross-validation, and we often use the average accuracy of 4-fold cross-validation to represent the generalization accuracy, if there is no testing set.
In this paper, for testing convenience and time saving, we only use 1-fold validation and use the last epoch accuracy to represent the testing accuracy (we also list the maximum accuracy in the whole epochs for comparisons).
It is worth noting that some papers use the maximum accuracy of the validation set, and this strategy is also dangerous because the validation set is used to select the parameters accidentally.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.3]{Figs/data-split1-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{Random data splitting strategy with preprocessing without overlap.}
	\label{Fig-data-split0}
\end{figure}

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.3]{Figs/data-split2-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{Another condition with the training and testing sets split as the first step.}
	\label{Fig-data-split1}
\end{figure}

For industrial data, they are rarely random and are always sequential (they might contain trends or other temporal correlation).
Therefore, it is more appropriate to split data according to time sequences (order split).
The diagram of data split strategy according to time sequences is shown in \figref{Fig-data-split2}.
From this diagram, it can be observed that we split the training and testing sets with the time phase instead of splitting the data randomly.
In addition, \figref{Fig-data-split2} also shows the condition of 4-fold cross-validation with time.
In the following study, we will compare the results of this strategy with the random split strategy.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.3]{Figs/data-split0-eps-converted-to.pdf}}
	\\ [-5pt]
	\caption{Data split according to time sequences.}
	\label{Fig-data-split2}
\end{figure}

\section{Evaluation Methodology}
\label{S:8}

\subsection{Evaluation Metrics}
It is a rather challenging task to evaluate the performance of intelligent diagnosis algorithms with suitable evaluation metrics.
It has three standard evaluation metrics, which have been widely used, including the overall accuracy, the average accuracy, and the confusion matrix.
In this paper, we only use the overall accuracy to evaluate the performance of algorithms.
The overall accuracy is defined as the number of correctly classified samples divided by the total number of samples.
The average accuracy is defined as the average classification accuracy of each category.

Since the performance of DL-based intelligent diagnosis algorithms fluctuates during the training process, to obtain reliable results and show the best overall accuracy that the model can achieve, we repeat each experiment five times.
Four indicators are used to assess the performance of models, including the mean and maximum values of the overall accuracy obtained by the last epoch (the accuracy in the last epoch can represent the real accuracy without any test leakage), and the mean and maximum values of the maximal overall accuracy.
For simplicity, they can be denoted as Last-Mean, Last-Max, Best-Mean, and Best-Max.

\subsection{Experimental Setting}
In the preparation stage, we use two strategies, including random split and order split to divide the dataset into training and testing sets.
For random split, a sliding window is used to truncate the vibration signal without any overlap and each data sample contains 1024 points.
After the preparation, we randomly take 80\% of samples as the training set and 20\% of samples as the testing set.
For order split, we take the former 80\% of time series as the training set and the last 20\% as the testing set.
Then, in two time series, a sliding window is used to truncate the vibration signal without any overlap, and each sample contains 1024 points.

In order to verify how input types, data normalization methods, and data split methods affect the performance of models, we set up three configurations of experiments (shown in Table \ref{Tab_E1}, Table \ref{Tab_E2}, and Table \ref{Tab_E3}.).
During model training, we use Adam as the optimizer. The learning rate and the batch size of each experiment are set to 0.001 and 64, respectively.
Each model is trained for 100 epochs, and during the training procedure, model training and model testing are alternated.
In addition, all the experiments are executed under Windows 10 and Pytorch 1.1 through running on a computer with an Intel Core i7-9700K, GeForce RTX 2080Ti, and 16G RAM.

\begin{table}[!t]
	\caption{Experiment setup 1}
	\centering
	\label{Tab_E1}
	\begin{tabular}{c}
		\includegraphics[scale = 0.9]{Figs/Experiment1-eps-converted-to.pdf}
	\end{tabular}
\end{table}

\begin{table}[!t]
	\caption{Experiment setup 2}
	\centering
	\label{Tab_E2}
	\begin{tabular}{c}
		\includegraphics[scale = 0.9]{Figs/Experiment2-eps-converted-to.pdf}
	\end{tabular}
\end{table}

\begin{table}[!t]
	\caption{Experiment setup 3}
	\centering
	\label{Tab_E3}
	\begin{tabular}{c}
		\includegraphics[scale = 0.9]{Figs/Experiment3-eps-converted-to.pdf}
	\end{tabular}
\end{table}

\section{Evaluation Results}
\label{S:9}
In this section, we will first discuss the experimental results of different datasets in depth.
After that, the results of datasets, input types, models, input normalization, data augmentation, and data splitting will be summarized separately.
Complete results are shown in \textbf{Appendix A.} and each accuracy which is larger than 95\% are bold.

\subsection{Detailed Analysis of Different Datasets}
\subsubsection*{A. CWRU Dataset}
The results of CWRU dataset are shown in \textbf{Appendix A} from Table 1 to Table 3.
From those results, we can observe that the accuracy of CNN models is generally higher than that of AE models.
In addition, using FFT and STFT to process the signal allows models to achieve better accuracy among five kinds of input.
CNN models with Z-score normalization can get better accuracy while using -1-1 normalization allows AE models to achieve higher accuracy.
Using data augmentation does not improve the accuracy of AE models, but it can improve the accuracy of CNN models.
The order split would slightly reduce the accuracy.

\subsubsection*{B. JNU Dataset}
The results of JNU dataset are shown in \textbf{Appendix A} from Table 4 to Table 6.
As can be seen from those tables, using FFT to process the raw signal allows models to achieve better accuracy among five types of input.
CNN models with Z-score normalization can get better accuracy while using -1-1 normalization enables AE models to achieve higher accuracy.
Using data augmentation can improve the accuracy of CNN models and AE models.
The order split would highly reduce the accuracy.

\subsubsection*{C. MFPT Dataset}
The results of MFPT dataset are shown in \textbf{Appendix A} from Table 7 to Table 9.
We can observe that models with time or wavelet domain as the input would have the worse performance.
However, using FFT to process the signal allows models to achieve better accuracy, and the accuracy of AE models is even higher than CNN models in this dataset.
CNN models with Z-score normalization can get better accuracy while using -1-1 normalization enables the AE models to achieve higher accuracy.
Using data augmentation can improve the accuracy of CNN models and AE models.
The order split would heavily reduce the accuracy.

\subsubsection*{D. PU Dataset}
The results of PU dataset are shown in \textbf{Appendix A} from Table 10 to Table 12.
It is shown that the accuracy of CNN models is generally higher than that of AE models.
Besides, the accuracy is worse when using the wavelet domain as the input, while using FFT and STFT to process the signal allows models to achieve better accuracy.
Using Z-score normalization enables AE models and CNN models to achieve higher accuracy.
Data augmentation does not help AE models improve the accuracy, while it can increase the accuracy of CNN models.
Similarly, the order split would heavily reduce the accuracy.

\subsubsection*{E. SEU Dataset}
The results of SEU dataset are shown in \textbf{Appendix A} from Table 13 to Table 15.
We can observe that when using the time domain or wavelet domain as the input, models would achieve worse accuracy.
However, using FFT to process the signal allows models to achieve better accuracy and the accuracy of AE models is even higher than that of CNN models.
Using Z-score normalization allows AE models and CNN models to achieve higher accuracy.
Data augmentation can improve the accuracy of both CNN and AE models.
In this case, the order split would slightly reduce the accuracy.

\subsubsection*{F. UoC Dataset}
The results of UoC dataset are shown in \textbf{Appendix A} from Table 16 to Table 18.
We can observe that most models do not perform well in this case, and among them, the performance of AlexNet is relatively worse.
Besides, using FFT to process the signal allows models to achieve bette accuracy, and the accuracy of AE models is higher than that of CNN models.
AE models and CNN models with Z-score normalization would achieve higher accuracy.
Data augmentation can help different models improve the final accuracy.
The order split would heavily reduce the accuracy.

\subsubsection*{G. XJTU-SY Dataset}
The results of XJTU-SY dataset are shown in \textbf{Appendix A} from Table 19 to Table 21.
We can observe that most models perform well in this dataset.
Besides, we can find that using FFT and STFT to process the signal allows models to achieve the better accuracy, and the accuracy of CNN models is higher than that of AE models, generally.
AE models and CNN models with Z-score normalization would achieve higher accuracy.
Data augmentation can help different models improve the final accuracy.
The order split would quietly reduce the accuracy.

\subsection{Results of Datasets}
It can be seen from the results that with the exception of the UoC dataset, the accuracy of both AE and CNN models on those datasets exceeds 95\%.
In addition, the accuracy of CWRU, SEU and XJTU-SY datasets can reach to 100\%.
The accuracy of UoC is much lower than others in all conditions.
Besides, the diagnostic difficulty of seven datasets can be ranked according to the number of  diagnostic accuracy exceeding 95\% in each dataset.
As shown in Fig. 9, we can split the datasets into four levels of difficulty.

\begin{figure}[!t]
	\centering
	\subfigure{\includegraphics[scale = 0.3]{Figs/Datasets.pdf}}
	\\ [-5pt]
	\caption{The level of dataset difficulty.}
	\label{Datasets}
\end{figure}

\subsection{Results of Input Types}
In all datasets, the frequency domain input can always achieve the highest accuracy followed by the time-frequency domain input since in the frequency domain, the noise is spread over the full frequency band and the fault information is much easier to be distinguished than that in the time domain.
According to the computational load of CWT, we use the short length of samples to perform CWT and then upsample the wavelet coefficients.
These steps may degrade the classification accuracy of CWT.

\subsection{Results of Models}
From the results, we can observe that models, especially ResNet18, can achieve the best accuracy
in most of datasets including CWRU, JNU, PU, SEU, and XJTU-SY.
However, for MFPT and UoC, models belonging to AE can perform better than other models.
This phenomenon may be caused by the size of datasets and the overfitting problem.
Therefore, not every dataset can get better results using a more complex model.

\subsection{Results of Data Normalization}
It is hard to conclude which data normalization method is the best one, and from the results, we can observe that the accuracy of different data normalization methods also depends on the used models and datasets.
In general, Z-score normalization can make models achieve better accuracy.

\subsection{Results of Data Augmentation}
We can conclude that when the accuracy of datasets is already high enough, data augmentation methods may slightly degrade the performance because models have already fitted original datasets well.
More augmentation methods may change the distribution of the original data and make the learning process harder.
However, when the accuracy of datasets is not very high, data augmentation methods improve the performance of models, especially for the time domain input.
Therefore, researchers can design other various data augmentation methods for their specific inputs.

\subsection{Results of Data Splitting}
When the datasets are easy to handle (CWRU and XJTU-SY), the results between random split and order split are quite similar.
However, the accuracy of some datasets (PU and UoC) decreases sharply when using order split.
What we should pay more attention to is that whether randomly splitting these datasets has the risk of test leakage.
It may be more suitable for splitting the datasets according to time sequences to verify the performance.

According to the above discussion, we summarize the following conclusion coming from the evaluation results.
First, not all datasets are suitable for comparing the classification effectiveness of the proposed methods since basic models can achieve very high accuracy on these datasets, like CWRU and XJTU-SY.
Second, the frequency domain input can achieve the highest accuracy in all datasets, so researchers should first try to use the frequency domain as the input.
Third, it is not necessary for CNN models to get the best results in all cases, and we also should consider the overfitting problem.
Fourth, when the accuracy of datasets is not very high, data augmentation methods improve the performance of models, especially for the time domain input.
Thus, more effective data augmentation methods need to be investigated.
Finally, in some cases, it may be more suitable for splitting the datasets according to time sequences (order split) since random split may provide virtually high accuracy.
We also release a code library to evaluate DL-based intelligent diagnosis algorithms and provide the benchmark accuracy (a lower bound) to avoid useless improvement.
Meanwhile, we use specific-designed cases to discuss existing issues, including class imbalance, generalization ability, interpretability, few-shot learning, and model selection.
Through these works, we aim to allow comparisons fairer and quicker, emphasize the importance of open source codes, and provide deep discussions of existing issues.
To the best of our knowledge, this is the first work to comprehensively perform the benchmark study and release the code library to the public.

\section{Discussion}
\label{S:10}
Although intelligent diagnosis algorithms can achieve high classification accuracy in many datasets, there are still many issues that need to be discussed.
In this paper, we further discuss the following five issues including class imbalance, generalization ability, interpretability, few-shot learning, and model selection using experimental cases.

\subsection{Class Imbalance}
Most of measured signals are in the normal state, and only a few of them are in the fault state, which means that fault modes often have different probabilities of happening.
Therefore, the class imbalance issue will occur when using intelligent algorithms in real applications.
Recently, although some researchers have published some related papers using traditional imbalanced learning methods \cite{zhang2018imbalanced} or GAN \cite{mao2019imbalanced} to solve this problem, these studies are far from enough.
In this paper, PU Bearing Datasets are used to simulate the class imbalance issue.
In this experiment, we adopt ResNet18 as the experimental model and only use two kinds of input types (the time domain input and the frequency domain input).
Besides, data augmentation methods are used and the normalization method is the Z-score normalization, while the dataset is randomly split.
Three groups of datasets with different imbalance ratios are constructed, which are shown in Table \ref{Tab_CI}.
\begin{table}[!t]
	\caption{Number of samples in three groups of imbalanced datasets}
	\centering
	\label{Tab_CI}
	\begin{tabular}{|c|c|c|c|c|}
		\hline
		\multirow{2}{*}{Fault mode} & \multicolumn{3}{c|}{Training samples} & Testing samples \\ \cline{2-5}
		& Group1      & Group2     & Group3     & Group1/2/3      \\ \hline
		KA04                        & 125         & 125        & 125        & 125             \\ \hline
		KA15                        & 125         & 75         & 50         & 125             \\ \hline
		KA16                        & 125         & 75         & 50         & 125             \\ \hline
		KA22                        & 125         & 75         & 50         & 125             \\ \hline
		KA30                        & 125         & 37         & 25         & 125             \\ \hline
		KB23                        & 125         & 37         & 25         & 125             \\ \hline
		KB24                        & 125         & 37         & 25         & 125             \\ \hline
		KB27                        & 125         & 25         & 6          & 125             \\ \hline
		KI14                        & 125         & 25         & 6          & 125             \\ \hline
		KI16                        & 125         & 25         & 6          & 125             \\ \hline
		KI17                        & 125         & 12         & 2          & 125             \\ \hline
		KI18                        & 125         & 12         & 2          & 125             \\ \hline
		KI21                        & 125         & 12         & 2          & 125             \\ \hline
	\end{tabular}
\end{table}

As shown in Table \ref{Tab_CI}, three datasets (Group1, Group2, and Group3) are constituted with different imbalanced ratios.
Group1 is a balanced dataset, and there is no imbalance for each state.
In real applications, it is almost impossible to let the number of data samples be the same.
We reduce the training samples of some fault modes in Group1 to construct Group2, and then the imbalanced classification is simulated.
In Group3, the imbalanced ratio between fault modes increases further.
Group2 can be considered as a moderately imbalanced dataset, while Group3 can be considered as a highly imbalanced dataset.

Experimental results are shown in \figref{FIG1}, and it can be observed that the overall accuracy in Group3 is much lower than that of Group1, which indicates that the class imbalance will greatly degrade the performance of models.
To address the problem of class imbalance, data-level methods and classifier-level methods can be used \cite{buda2018systematic}.
Oversampling and undersampling methods are the most commonly used data-level methods, and some methods for generating samples based on GAN have also been studied recently.
For the classifier-level methods, thresholding-based methods are applied in the test phase to adjust the decision threshold of the classifier.
Besides, cost-sensitive learning methods assign different weights to different classes to avoid the suppression of categories with a small number of samples.
In the field of intelligent diagnosis, other methods based on physical meanings and fault attention need to be explored.

\begin{figure}[!t]\centering
	\centering
	\subfigure{\includegraphics[scale = 0.7]{Figs/Discussion1-eps-converted-to.pdf}}
	\\ [-10pt]
	\caption{Experimental results of three groups of datasets. (a) time domain input, and (b) frequency domain input.}
	\label{FIG1}
\end{figure}

\subsection{Generalization ability}
Many existing intelligent algorithms perform very well on one working condition, but the diagnostic performance tends to drop significantly on another working condition, and here, we call it the generalization problem.
Recently, many researchers have used algorithms based on transfer learning strategies to solve this problem, and a comparative study with open source codes was performed in \cite{zhao2019unsupervised}.
To illustrate the weak generalization ability of the intelligent diagnosis algorithms, experiments are also carried out on the PU bearing dataset.
Experiments use the data under three working conditions (N15\_M07\_F10, N09\_M07\_F10, N15\_M01\_F10).
In these experiments, data under one working condition is used to train models, and data under another working condition is used to test the performance.
A total of six groups are performed, and the detailed information is shown in Table \ref{Tab_GP}.

\begin{table}[!t]
	\caption{Training data and testing data for each experiment}
	\centering
	\label{Tab_GP}
	\begin{tabular}{| c | c | c |}
		\hline
		Group & Data for training & Data for testing\\
		\hline
		Group1 & N15\_M07\_F10 & N09\_M07\_F10 \\
		\hline
		Group2 &  N15\_M07\_F10 & N15\_M01\_F10\\
		\hline
		Group3 & N09\_M07\_F10  & N15\_M07\_F10\\
		\hline
		Group4 &  N09\_M07\_F10 & N15\_M01\_F10\\
		\hline
		Group5 &  N15\_M01\_F10 & N15\_M07\_F10\\
		\hline
		Group6 &  N15\_M01\_F10 & N09\_M07\_F10 \\
		\hline
	\end{tabular}
\end{table}

The experimental results are shown in \figref{FIG2}.
It can be concluded that in most cases, intelligent diagnosis algorithms trained on one working condition cannot perform well on another working condition, which means the generalization ability of algorithms is insufficient.
In general, we expect that our algorithms could adapt to the changes in working conditions or measurement situations since these changes occur frequently in real applications.
Therefore, studies are still required on how to transfer the trained algorithms to different working conditions effectively.

Two excellent review papers \cite{zheng2019cross,yan2019knowledge} and other applications \cite{han2019deep,han2019learning} published recently pointed out several potential research directions which could be considered and studied further to improve the generalization ability.

\begin{figure}[!t]\centering
	\centering
	\subfigure{\includegraphics[scale = 0.7]{Figs/Discussion2-eps-converted-to.pdf}}
	\\ [-10pt]
	\caption{Experimental results of working conditions transfer. (a) time domain input, and (b) frequency domain input.}
	\label{FIG2}
\end{figure}

\subsection{Interpretability}
Although intelligent diagnosis algorithms can achieve high diagnostic accuracy in their tasks, the interpretability of these models is often insufficient and these black-box models would generate high-risk results \cite{rudin2019stop}, which greatly limits their applications.
Actually, some papers in intelligent diagnosis have noted this problem and attempted to propose some interpretable models \cite{li2019understanding,li2019waveletkernelnet}.

To point out that intelligent diagnostic algorithms lack interpretability, we perform three sets of experiments on the PU bearing dataset, and the datasets are shown in Table \ref{Tab_IP}.
In each set of experiments, we use two different data, which have the same fault pattern and are acquired under the same condition.

\begin{table}[!t]
	\caption{The bearing code and the number of samples used in each experiment}
	\centering
	\label{Tab_IP}
	\begin{tabular}{|c|c|c|c|}
		\hline
		Group                   & Bearing code & Training samples & Testing samples \\ \hline
		\multirow{2}{*}{Group1} & KA03         & 200              & 50              \\ \cline{2-4}
		& KA06         & 200              & 50              \\ \hline
		\multirow{2}{*}{Group2} & KA08         & 200              & 50              \\ \cline{2-4}
		& KA09         & 200              & 50              \\ \hline
		\multirow{2}{*}{Group3} & KI07         & 200              & 50              \\ \cline{2-4}
		& KI08         & 200              & 50              \\ \hline
	\end{tabular}
\end{table}

The results, in which intelligent algorithms can get high accuracy in each set of experiments, are shown in \figref{FIG3}.
Nevertheless, for each binary classification task, since the fault mode and the working condition at the time of acquisition are the same between two classes, theoretically, methods should not be able to achieve such high accuracy.
These expected results are exactly contrary to those of the experiment, which shows that models only learn the discrimination of different collection points and do not learn how to extract the essential characteristics of fault signals.
Therefore, it is very important to figure out whether models can learn essential fault characteristics or just classify the different conditions of collected signals.

\begin{figure}[!t]\centering
	\centering
	\subfigure{\includegraphics[scale = 0.7]{Figs/Discussion3-eps-converted-to.pdf}}
	\\ [-10pt]
	\caption{Experimental results of three groups. (a) time domain input, and (b) frequency domain input.}
	\label{FIG3}
\end{figure}

According to the development of interpretability, we might be able to study the interpretability of DL-based models from the following aspects: (1) visualize the results of neurons to analyze the attention points of models \cite{zeiler2014visualizing};  (2) add physical constraints to the loss function \cite{tang2018regularized} to meet specific needs of fault feature extraction; (3) add prior knowledge to network structures and convolutions \cite{ravanelli2018interpretable} or unroll the existing optimization algorithms \cite{gregor2010learning} to extract corresponding fault features.

\subsection{Few-Shot Learning}
In intelligent diagnosis, the amount of data is far from big data because of the preciousness of fault data and the high cost of fault simulation experiments, especially for the key components.
To manifest the influence of the sample number on the classification accuracy, we use the PU bearing dataset to design a few-shot training pattern with six groups of different sample numbers in each class.

Results of the time domain input and the frequency domain input are shown in \figref{FIG4}.
It is shown that with the decrease of the sample number, the accuracy decreases sharply.
As shown in \figref{FIG4}, for the time domain input, the Best-Max accuracy decreases from 91.46\% to 20.39\% as the sample number decreases from 100 to 1.
Meanwhile, the Best-Max accuracy decreases from 97.73\% to 29.67\% as the sample number decreases from 100 to 1 with the frequency domain input.

Although the accuracy can be increased after using FFT, it is still too low to be accepted when the number of samples is extremely small.
It is necessary to develop methods based on few-shot learning to cope with application scenarios with limited samples.

\begin{figure}[!t]\centering
	\centering
	\subfigure{\includegraphics[scale = 0.7]{Figs/Discussion4-eps-converted-to.pdf}}
	\\ [-10pt]
	\caption{Experimental results of different few-shot training patterns. (a) time domain input, and (b) frequency domain input.}
	\label{FIG4}
\end{figure}

Many DL-based few-shot learning models have been proposed in recent years \cite{wang2019generalizing}, most of these methods adopt a meta-learning paradigm by training networks with a large number of tasks, which means that the big data in other related fields is necessary for these methods.
In the field of fault diagnosis, there is no relevant data with such a big size available, so methods embedding with physical mechanisms are required to address this problem effectively.

\subsection{Model selection}
For intelligent diagnosis, designing a neural network is not the final goal, and our task is to apply the model to real industrial applications while designing a neural network is only a small part of our task.
However, to achieve a good effect, we have to spend considerable time and energy on designing the corresponding networks.
Because building a neural network is an iterative process consisting of repeated trial and error, and the performance of models should be fed back to us to adjust models.
The single trial and error cost multiplied by the number of trial and error can easily reach a huge cost.
Besides, reducing this cost is also the partial purpose of this benchmark study which provides some guidelines to choose a baseline model.

Actually, there is another way called neural architecture search (NAS) \cite{elsken2019neural} to avoid the huge cost of trial and error.
NAS can allow designing a neural network automatically through searching for a specific network based on a specific dataset.
Limited search space of the network is first constructed according to the physical prior.
After that, a neural network matching a specific dataset is sampled from the search space through reinforcement learning, the evolutionary algorithm or the gradient strategy.
Besides, the whole construction process does not require manual participation, which greatly reduces the cost of building a neural network and allows us to focus on specific engineering applications.

\section{Conclusion}
\label{S:11}
In this paper, we collect nine publicly available datasets to evaluate the performance of MLP, AE, CNN, and RNN models.
This work mainly focuses on evaluating DL-based intelligent diagnosis algorithms from different perspectives and providing the benchmark accuracy (a lower bound) to avoid useless improvement.
In addition, we release a code library for other researchers to test the performance of their own DL-based intelligent diagnosis models of these datasets.
We hope that the evaluation results and the code library could promote a better understanding of DL-based models and provide a unified framework for generating more effective models.
For further studies, we will focus on five listed issues (class imbalance, generalization ability, interpretability, few-shot learning, and model selection) to propose more customized works.

\section*{Acknowledgment}
This work was supported by Natural Science Foundation of China (No. 51835009, No. 51705398).

\bibliographystyle{References/model1-num-names}