# Conditional Generative Adversarial Networks for Domain Transfer: A Survey
## 1 Introduction  
Since the booming development of deep learning, neural networks of various architectures have emerged in an endless stream. Domain transformation is one of the most important problems for which deep learning is qualified. Generally speaking, domain transfer is the process of moving data from one domain to another by learning the similarities between the two domains and building a bridge between them to apply the old knowledge to the new domain so that the new knowledge can be learned faster and better. It can further address the image/scene gap during training and practical application. It can change one aspect of the data while preserving others. In recent years, the domain transfer method has been applied to solving many practical problems, such as geoscientific inverse problems [1], maize residue segmentation [2], person re-identification [3], data augment in face recognition [4] and age estimation [5]. Because of the complexity of high-dimensional data, it is not easy to separate the features that need to change from those remaining unchanged. However, the emergence of Conditional Generative Adversarial Networks (CGAN) greatly improves the effect of the domain transfer. With the assistance of CGAN, domain transfer can be easily applied in different application scenarios. Therefore, this article will review the problems of domain transfer based on CGAN. In fact, CGAN could also be used for other application fields, such as data augmentation, image inpainting and so on. While their principles are similar, it is very necessary to conduct a review on CGAN. For the sake of illustration, we will first review Generative Adversarial Networks (GAN) without conditions and then expand the introduction to CGAN. In 2014, [PERSON] et al. proposed GAN for the first time [6], providing a new method for generating realistic images. Generally speaking, GAN consists of two independentnetworks: generative network and discriminative network. The generative network is used to generate an image from a random vector, while the discriminative network determines whether an image is a real image from a data set or a fake image generated by the generative network. The framework of GAN seems to be quite different from deep learning algorithms for classification [7] or regression [8], but they have some common features [9; 10]. The main body of GAN is barely the generative network, while the discriminative network can be viewed as a complex loss function calculator, which needs to go through a process of training rather than only a few simple arithmetic calculations, such as Mean Square Error (MSE) [11]. On the other hand, to improve the training effect of GAN, the discriminative network is not trained to the convergent state in the process of calculating the loss function. In other words, the training of the generative network and the discriminative network are alternately carried out. However, GAN has a serious disadvantage; that is, it cannot control the output of the generative network [12]. For example, the MINIST dataset is composed of handwritten digits from zero to nine [6]. After completing the training, a random vector is fed into GAN, and the output may be any one of zero to nine, which cannot be predicted in advance. This greatly affects the practicability of GAN. To solve this problem, CGAN was proposed in [13]. CGAN introduces a conditional variable, which is used to control the behavior of the generative network, making the output constrained to the user-specified distribution and ensuring its stability. However, conditional variables do not completely fix the generated content of the generative network. The input of the generative network still contains random vectors, and the generated results are still diverse. The stability and diversity of CGAN's generated results make it rather promising.