## 2 Theory  
### Network Architecture  
The generative adversarial network (GAN) is designed to learn the nonlinear mapping between the source and target domain in the game-theoretic framework. A GAN is basically composed of two parts: a generator and a discriminator. The generator outputs the synthetic data from the desired distribution, and the discriminator distinguishes whether the data are from the actual domain or produced by the generator. CycleGAN is a variant of the original GAN and consists of two GANs [22]. As shown in Figure 1a, GAN1 is designed as an inverse mapping to convert low-resolution data into high-resolution data. Accordingly, GAN2 is designed as a forward mapping to convert high-resolution data into corresponding low-resolution data. These two GANs are reverses of each other and form the bidirectional mappings. Benefiting from this bidirectional structure, the inverse mapping (GAN1) can obtain more stable and accurate solutions. The U-shaped network as a generator, as shown in Figure 1a, consists of three parts: the encoding block, residual block, and decoding block. The feature is first down-sampled in the encoding block and then recombined with the up-sampled counterpart at each spatial resolution in the decoding block by skipping the connection. The residual block is inserted in the bottleneck of the generator to enhance the generator's learning ability. Through three encoding blocks and one residual block, the number of feature maps is 32, 64, 128, and 256, respectively. The discriminator consists of five stacked encoding blocks, and the number of feature layers is 64, 128, 256, 512, and 1, respectively. The encoding block shown in Figure 1b includes a \(3\times 1\) convolutional layer with a step size of two, a LeakyReLU layer, and an Instancenormalization layer. The encoding block reduces the dimensions of seismic data and extracts their waveform characteristics. The residual block (Figure 1b) is composed of three \(1\times 1\) convolutional layers with a step size of one, three Instancenormalization layers, and three ReLU layers. Note that the input features of the residual block are directly added to the depth features to reduce the loss of data features, so that the network can find the best balance between accuracy and efficiency. The decoding block (Figure 1b) is composed of an upsampling layer, a \(3\times 1\) convolutional layer, an ReLU layer, a Dropout layer with a dropout rate of 0.2, and an Instancenormalization layer. It leverages the extracted waveform features to reconstruct seismic data. The discriminator consists of a series of encoding blocks, with a number of feature layers of 64, 128, 256, 512, and 1. The formulated loss functions encompass two components: adversarial loss and cycle-consistent loss. Approximating the reverse transformation from low-resolution to high-resolution involves leveraging GAN1, with its adversarial loss expressed as  
\[\mathcal{L}_{\text{GAN}_{1}}(F_{1},D_{1})= \mathbb{E}_{\mathbf{x}_{2}\sim P_{data}(\mathbf{x}_{2})}[\log D_{ 1}(\mathbf{X}_{2})]\] \[+ \mathbb{E}_{\mathbf{x}_{1}\sim P_{data}(\mathbf{x}_{1})}[\log(1-D_ {1}(F_{1}(\mathbf{X}_{1})))], \tag{1}\]  
in which \(F_{1}\) and \(D_{1}\) represent the generator and discriminator of GAN1, \(\mathbb{E}\) represents the expectation operator, and \(\mathbf{X}_{1}\) and \(\mathbf{X}_{2}\) represent the low-resolution seismic data and their enhanced-resolution counterparts, as shown in Figure 1a. \(P_{data}(\mathbf{X}_{1})\) and \(P_{data}(\mathbf{X}_{2})\) describe the distributions of data associated with \(\mathbf{X}_{1}\) and \(\mathbf{X}_{2}\). Correspondingly, the forward mapping can be approximated by GAN2  
\[\mathcal{L}_{\text{GAN}_{2}}(F_{2},D_{2})= \mathbb{E}_{\mathbf{X}_{1}\sim P_{data}(\mathbf{X}_{1})}[\log D_{ 2}(\mathbf{X}_{1})]\] \[+ \mathbb{E}_{\mathbf{x}_{2}\sim P_{data}(\mathbf{x}_{2})}[\log(1-D_ {2}(F_{2}(\mathbf{X}_{2})))], \tag{2}\]  
Figure 1: (**a**) The framework of the CycleGAN, which includes two parts of GAN (GAN1 and GAN2).