## 3 Design of the EAS
### MCycle GAN  
MCycle GAN is designed to enhance the discriminator's ability by training multiple cycles of the traditional Cycle GAN and ultimately selecting the generator from the cycle with the best performance. When removing noise from a noisy voice, a Cycle GAN-based model is used because it preserves the form of the original data, helping to maintain the structure of the original voice. Additionally, Cycle GAN can utilize unpaired training data between domains, which allows the collection of Clean Sound and Noisy Sound data separately for AI training.  
In this paper, the domain Clean Sound is defined as \(X\), and Noisy Sound is defined as \(Y\). Data belonging to \(X\) are referred to as \(x\), and data belonging to \(Y\) are referred to as \(y\). The generator that converts \(x\) to \(y\) is called \(G_{xy}\), and its inverse is \(G_{yx}\). \(D_{domain}\) refers to the  
Figure 2: The neural network models A, B, C, and D configured for the FEAM.  
discriminator (D), which determines whether the input data are real or fake data generated by the generator for that specific domain. MCycle GAN integrates two loss functions for backpropagation: Adversarial Loss and Cycle Consistency Loss. Adversarial Loss is one of the loss functions used in GANs, where the generator tries to better fool the discriminator, and the discriminator improves its ability to distinguish.  
In this paper, when using a Cross Entropy Error (CEE)-based loss function for Adversarial Loss, there is a significant risk of encountering the Gradient Vanishing problem. Therefore, the LSGAN, an SSE (Sum of Squares of Error)-based loss function, is employed [16].  
Adversarial Loss:  
\[L_{gan}\big{(}G_{xy},\ D_{y},\ X,\ Y\big{)}=E_{y\sim P_{data}(Y)}\Big{[}\big{(} D_{y}(y)-1\big{)}^{2}\Big{]}+E_{x\sim P_{data}(x)}\Big{[}D_{y}\Big{(}G_{xy}(x)^{2} \Big{)}\Big{]}\]  
Cycle Consistency Loss is a loss function that aims to make the generator's output \(G_{yx}\big{(}G_{xy}(X)\big{)}\approx X,\ G_{xy}\big{(}G_{yx}(Y)\big{)}\approx Y\). This ensures that the transformed data can be easily restored to its original form during training [14].  
Cycle Consistency Loss:  
MCycle GAN uses an MCycle Loss, which integrates the two loss functions mentioned above. Since MCycle GAN consists of multiple cycles, there are multiple \(L_{gan}\) and \(L_{cyc}\). At this point, the generators for a particular cycle \(G_{xy}\) and \(G_{yx}\), are defined as \(G_{xy_{i}}\) and \(G_{yx_{i}}\), respectively, and the loss functions \(L_{gan}\) and \(L_{cyc}\) are defined as \(L_{gan_{i}}\) and \(L_{cyc}\), respectively. The formula for MCycle Loss is as follows:  
MCycle Loss:  
\[\begin{array}{l}L_{mycc}\big{(}L_{gan_{1}}\big{(}G_{yx_{1}},\ D_{X},\ Y,\ X \big{)},\ L_{gan_{1}}\big{(}G_{xy_{1}},\ D_{Y},\ X,\ Y\big{)},L_{cyc_{1}}\big{(} G_{yx_{1}},\ G_{xy_{1}}\big{)},\ldots,\\ L_{gan_{N}}\big{(}G_{yx_{N}},\ D_{X},\ Y,\ X\big{)},\ L_{gan_{N}}\big{(}G_{ xy_{N}},\ D_{Y},\ X,\ Y\big{)},\ L_{cyc_{N}}\big{(}G_{yx_{N}},\ G_{xy_{N}}\big{)}\big{)}\\ =\sum\limits_{i=1}^{N}\big{(}L_{gan_{i}}\big{(}G_{yx_{i}},\ D_{X},\ Y,\ X \big{)}+L_{gan_{i}}\big{(}G_{xy_{i}},\ D_{Y},\ X,\ Y\big{)}+L_{cyc_{i}}\big{(} G_{yx_{i}},\ G_{xy_{i}}\big{)}\big{)}\end{array}\]  
\(L_{mycc}\) is a loss function that combines \(L_{gan}\) and \(L_{cyc}\) across all cycles of MCycle GAN in accordance with the multi-cycle structure. This allows simultaneous learning across multiple cycles while enhancing the training of the discriminator. Additionally, it offers the benefit of reusing a single discriminator for multiple generator models. Since multiple cycles are trained, by examining the output results of the generators, the generator that produces the highest-quality output can be selected and used.