## 3 The Proposed Method
### Model Training Procedure  
The training process of the data augmentation model is shown in Algorithm 1. ```
0: Training epochs \(E\), batch size \(B\), noise dimension \(Z\), number of classes C, Generator \(G\), Discriminator \(D\), Learning rates \(\eta_{G}\) and \(\eta_{D}\), Gradient penalty coefficient \(\lambda_{gp}\), data loader \(D_{load}\)
0: Trained Generator \(G\) and Discriminator \(D\)
1: Initialize Generator \(G\) and Discriminator \(D\) networks with random weights
2: Initialize Adam optimizers for \(G\) and \(D\) with learning rates \(\eta_{G}\) and \(\eta_{D}\)
3:for each epoch \(\epsilon=1,2,\ldots,E\)do
4:for each batch \(B\in D_{load}\)do
5: Sample real data: \(x_{real},y_{real}\sim P_{data}\)
6: Sample noise and labels: \(Z\sim\mathcal{N}(0,I),y_{fake}\sim\text{Uniform}(1,C)\)
7: Generate fake data: \(x_{fake}=G(z,y_{fake})\)
8: (a) Train Discriminator:
9: Discriminator outputs \(D_{real},\hat{y}_{real}\gets D(x_{real})\),\(D_{fake},\hat{y}_{fake}\gets D(x_{fake})\)
10: Adversarial and auxiliary loss:
11:\(L_{D}^{adv}=-\mathbb{E}[D_{real}]+\mathbb{E}[D_{fake}]\)
12:\(L_{D}^{adv}=\text{NLL}(y_{real},\hat{y}_{real})+\text{NLL}(y_{fake},\hat{y}_{ fake})\)
13: Apply gradient penalty: \(L_{gp}=\lambda_{gp}\cdot\left(\|\
abla_{x}D(x_{interp})\|_{2}-1\right)^{2}\)
14: Total loss of discriminator: \(L_{D}=L_{D}^{adv}+L_{D}^{aux}+L_{gp}\)
15: Update Discriminator parameters: \(\theta_{D}\leftarrow\theta_{D}-\eta_{D}\
abla_{\theta_{D}}L_{D}\)
16: (b) Train Generator (every \(g_{num}\) steps):
17: Generate fake data: \(x_{fake}=G(z,y_{fake})\)
18: Generator output: \(D_{fake},\hat{y}_{fake}\gets D(x_{fake})\)
19: Total loss of generator: \(L_{G}=-\mathbb{E}[D_{fake}]+\text{NLL}(y_{fake},\hat{y}_{fake})\)
20: Update Generator parameters: \(\theta_{G}\leftarrow\theta_{G}-\eta_{G}\
abla_{\theta_{G}}L_{G}\)
21:endfor
22:endfor
23:Save the trained models: Generator \(G\), Discriminator \(D\)
```  
**Algorithm 1** Training Process of the MDFT-GAN  
To ensure the effectiveness and robustness of both the data augmentation model and the fault classification model, this paper implements two independent training mechanisms. The loss function of the discriminator consists of two components: classification loss and category classification loss. For real samples \(S_{\text{real}}\), the real sample loss \(S_{(D,\text{real})}\) is defined as:  
\[L_{D,\text{real}}=-\mathbb{E}_{S_{\text{real}}\sim P_{data}}[\log D(S_{\text{ real}})]+\mathbb{E}_{y_{\text{real}}}[\log P(y=y_{\text{real}}\mid S_{\text{real}})] \tag{15}\]where \(y_{\text{real}}\) represents the true label. For generated samples \(S_{g}\), the generated loss \(L_{(D,\text{fake})}\) is defined as:  
\[L_{D,\text{fake}}=\mathbb{E}_{z\sim P_{z}}\big{[}\log D(S_{g})\big{]}-\mathbb{E }_{y_{\text{gen}}}\big{[}\log P(y=y_{\text{gen}}\mid S_{g})\big{]} \tag{16}\]  
where \(y_{\text{gen}}\) denotes the generated label. To improve training stability, a Gradient Penalty (GP) term is introduced:  
\[L_{\text{GP}}=\lambda_{\text{GP}}\cdot\mathbb{E}_{S\sim P_{S}}[(\|\
abla_{ \hat{S}}D(\hat{S})\|_{2}-1)^{2}] \tag{17}\]  
where \(\lambda_{\text{GP}}\) is a regularization parameter. Consequently, the total loss of the discriminator is expressed as:  
\[L_{D}=L_{D,\text{real}}+L_{D,\text{fake}}+L_{\text{GP}} \tag{18}\]  
The objective of the generator is to deceive the discriminator while ensuring that the generated samples are assigned the correct class labels. The generator's loss function is defined as:  
\[L_{\text{G}}=-\mathbb{E}_{z\sim P_{z}}\big{[}\log D(S_{g})\big{]}+\mathbb{E}_ {y_{\text{gen}}}\big{[}\log P(y=y_{\text{gen}}\mid S_{g})\big{]} \tag{19}\]  
The fault classification model achieves accurate recognition of different fault modes through supervised learning and is optimized using a cross-entropy-based loss function. To further enhance model performance, real and generated data are combined for training.