## 2 Background
### Adversarial Neural Networks for Hyperspectral Data  
In the context of deep learning for hyperspectral data processing, acquiring a substantial volume of labeled data to train supervised learning models presents a significant challenge due to the complexity and diversity of hyperspectral data, which escalates the cost of labeled data acquisition. As [PERSON] et al. [33] pointed out in their research, this challenge has prompted researchers to explore unsupervised learning methods, particularly heterogeneous domain adaptation techniques for hyperspectral image classification. Similarly, [PERSON] et al. [34] emphasized the difficulty of acquiring labeled data in hyperspectral image processing. To address these challenges, adversarial neural networks have emerged as a viable solution. These networks can be trained without labeled data, learning the distribution and features of data in an unsupervised or semi-supervised manner. Primitive GANs operate adversarially, where the generator network produces realistic hyperspectral data samples, while the discriminator network distinguishes between generated and real data, encouraging the generator to produce increasingly realistic samples. The cycle-consistent generative adversarial network (CycleGAN) [13], a specialized architecture within adversarial neural networks, facilitates domain transformation without requiring paired training data. Recent research has demonstrated CycleGAN's significant potential in hyperspectral data processing. [PERSON] et al. [35] proposed a CycleGAN-based hyperspectral image super-resolution reconstruction method, while [PERSON] et al. [36] explored using CycleGAN for hyperspectral image denoising and feature enhancement, providing new insights for unsupervised hyperspectral data processing. For data conversion, let \(\text{s}\in\text{R}^{\text{W}\times H\times B}\) and \(\text{t}\in\text{R}^{\text{W}\times H\times B}\) be features belonging to the source and target scenes, respectively. Here, \(\text{W}\times\text{H}\) is the spatial dimension, and B is the spectral dimension. Then, the aim of CycleGAN is to learn the mapping from \(\text{G}_{\text{S}\rightarrow\text{T}}\) and \(\text{G}_{\text{T}\rightarrow\text{S}}\). Overall, CycleGAN consists of two generators, \(G_{\text{S}\rightarrow\text{T}}\) and \(G_{\text{T}\rightarrow\text{S}}\), and two discriminators, \(D_{S}\) and \(D_{T}\). CycleGAN uses three different loss functions to perform the transformation task, and they are as follows:  
Adversarial loss: it aims to transform samples in the source domain into samples in the target domain and will learn the mapping S\(\rightarrow\)T, i.e., \(G_{\text{S}\rightarrow\text{T}}(s)\):  
\[ \begin{split}\mathcal{L}_{adv}(G_{\text{S}\rightarrow\text{T}},D _{\text{T}})&=\mathbb{E}_{t\sim\text{T}(t)}[logD_{\text{T}}(t)] \\ &+\mathbb{E}_{\text{S}\sim\text{P}_{\text{S}}(s)}[log(1-D_{\text{ T}}(G_{\text{S}\rightarrow\text{T}}(s)))]\end{split}  \tag{1}\]  
Cycle-consistency loss: it aims to retain its original feature vectors using periodic losses to ensure that the network is able to learn both the forward and inverse mappings:  
\[ \begin{split}\mathcal{L}_{cyc}(G_{\text{S}\rightarrow\text{T}},G _{\text{T}\rightarrow\text{S}})\\ &=\mathbb{E}_{\text{S}\sim\text{P}_{\text{S}}(s)}[\|\;G_{\text{T }\rightarrow\text{S}}(G_{\text{S}\rightarrow\text{T}}(s))-s\;\|_{1}]\;|\\ &\qquad+\mathbb{E}_{t\sim\text{P}_{\text{T}}(t)}[\|\;G_{\text{S} \rightarrow\text{T}}(G_{\text{T}\rightarrow\text{S}}(t))-t\;\|_{1}]\end{split} \;\;, \tag{2}\]where \(|\ |.\ |\ |_{1}\) is the L\({}_{1}\)-norm and \(\mathbb{E}\left[.\right]\) is the expectation operator. Identity-mapping loss: It is used to preserve the identity of the target class in the network. It is generally employed to train the network for initial learning, i.e.,  
\[ \begin{array}{c}\mathcal{L}_{id}(G_{S\to T},G_{T\to S})=\mathbb{E}_{s\sim P _{S}(s)}[\parallel G_{T\to S}(s)-s\parallel_{1}]\\ +\mathbb{E}_{t\sim T(t)}[\parallel G_{S\to T}(t)-t\parallel_{1}]\end{array}