GANs define a deep generative framework, involving two neural networks and an adversarial training mechanism [1]}. The two networks are the generator (\(G\) ) and the discriminator (\(D\) ). Both \(G\)  and \(D\)  are trained with opposite objectives, hence the adversarial nature of the framework. On the one hand, \(D\)  has to increasingly get better at classifying real or fake features. On the other hand, \(G\)  has to make up samples realistic enough to make \(D\)  fail in its prediction. This process is formulated as a minimax game between \(G\)  and \(D\) , and we can use different loss functions at the output of \(D\)  to express it. For instance a least squares loss makes it an LSGAN [2]}. It is often interesting to add a conditioning factor to be used for a specific task, where we have some additional information \(\tilde{\textbf {x}}\)  injected into \(G\)  and \(D\)  to perform the mapping and classification (see [3]} and references therein). The formulation of \(G\)  and \(D\)  losses for a conditional LSGAN with these components is expressed as
\(\begin{split}\underset{G}{\min }~V(G) & = \operatorname{\mathbb {E}}_{\textbf {z}\sim p_{\textbf {z}}(\textbf {z}),\tilde{\textbf {x}}\sim p_{\text{data}}(\tilde{\textbf {x}})}[(D(G(\textbf {z},\tilde{\textbf {x}}),\tilde{\textbf {x}}) - c)^{2}] ,\\\underset{D}{\max }~V(D) & = \frac{1}{3}\operatorname{\mathbb {E}}_{\textbf {x},\tilde{\textbf {x}}\sim p_{\text{data}}(\textbf {x}, \tilde{\textbf {x}})}[(D(\textbf {x},\tilde{\textbf {x}}) - b)^{2}] \\& + \frac{1}{3}\operatorname{\mathbb {E}}_{\textbf {z}\sim p_{\textbf {z}}(\textbf {z}),\tilde{\textbf {x}}\sim p_{\text{data}}(\tilde{\textbf {x}})}[(D(G(\textbf {z},\tilde{\textbf {x}}),\tilde{\textbf {x}}) - a)^{2}]\\& + \frac{1}{3}\operatorname{\mathbb {E}}_{\textbf {x},\textbf {x}^{r}\sim p_{\text{data}}(\textbf {x})}[(D(\textbf {x},\tilde{\textbf {x}}^r) - a)^{2}] ,\end{split}\) 
