## 3 The Proposed Network Model
### Network Training  
The training process of the model is mainly a composition of processes including the initialization of the program parameters, the accessing of the training datasets, generator reconstruction and optimization, discriminator identification and optimization, and the storing of the training records and model parameters. The whole training process can be described by the following steps:  
1. Initialize program parameters, and access the training datasets.
2. Input the low-resolution images in the generator network, and reconstruct the high-resolution images through the dual-path module.
3. Calculate and save the PSNR, the SSIM, and the running time.
4. Compare the output results with the corresponding ground-truth HR to calculate the loss function in the discriminator network.
5. If the discriminator result is FALSE, then update the weight parameter by backpropagation, and return to step (2).
6. If the discriminator result is FALSE, then judge whether the loss function is convergent. If it is not convergent, optimize the discriminator. If it is, return to step (2).
7. Obtain the optimized generator and discriminator network model.  
In this article, we selected 600 images from the UCAS-AOD remote sensing image database as the dataset. The UCAS-AOD dataset was released by the University of Science and Technology of China in 2014, and it contains background samples of cars, aircraft, buildings, mountains, and rivers, including 400 pictures that we chose as our training dataset. Firstly, we down-sampled each picture three times, and then expanded the training dataset through vertical flip, horizontal flip, and rotate operations. Next, we cut the images into 256 \(\times\) 256 size fragments paired together with the ground-truth images, and we stored all the fragments in an overall training dataset after sorting them in order [19; 20; 21]. Next, we set the momentum parameter to 0.9 and the weight attenuation to \(10^{-4}\)[22; 23]. We also set the initial learning rate to 0.1, and then reduced it 10-fold for every 25 cycles [24; 25; 26]. Each group of 64 training data was packed as a batch and sent into the network, where its output was passed through the designed generator and then fused at the reconstruction layer. At this point, we chose the slope of the activation function as 0.2 [27; 28; 29]. The network then performed a comparison using the output results against the original graph in the discriminator, continuously optimized the parameters in the generator and discriminator, and saved each generation of training network to be utilized in the next refining iteration. In our experiment, the number of iterations was set to 100, and the total training cost was about 165 h. Upon completion, we were able to select the trained model for testing according to the convergence effect of the loss function. Eventually, we selected the 90 th generation network model for our subsequent testing experiments.  
The ultimate goal of the network is to achieve a Nash equilibrium between the G subnetwork and the D subnetwork. In the training process, it is likely for one side to have a good training effect, while the other side cannot converge. To visualize the change process of the loss during the experiment, their curves are shown in Figure 10.  
Our experiment evaluated the training results by observing the convergence curve of the loss during the training process. It can be seen from the loss curve figures that the GAN loss was initially in an unstable state; however, with the increase in the number of iterations, the model continued to fit the input data, while the perceptual loss and pixel loss gradually converged. As the subnetwork improved its ability to converge, it gradually reached a dynamic equilibrium state, and the fusion loss of the whole network also tended to converge in a similar way.