CycleGAN modifies the ๐ผ๏ธ Generative Adversarial Network game to facilitate domain transfer, pairing samples from one distribution to samples from another. To do this, we learn two generative models
The key idea is that if we go from
which we add onto the standard GAN losses for
StarGAN
If we want to go between multiple domains, it would be inefficient to train so many generators and discriminators based on the CycleGAN structure. StarGAN addresses this limitation by training a single generator that can translate between any two domains.
To do this, our generator
Our overall loss then consists of three parts: adversarial, domain classification (split into real and fake examples), and reconstruction. 1.
The discriminator is trained to minimize a combination of negative