CycleGAN is a method of unpaired image to image translation. Unfortunately, it’s possible to use CycleGAN without fully understanding or appreciating the mathematics involved. That is a real shame.
In this article, I’ll walk through the mathematics behind Cycle-Consistent Adversarial Networks. Please read the paper for a more comprehensive explanation.
The key thing with CycleGAN is that we don’t have before and after images.
Let’s take the example shown above of converting a zebra into a horse (and vice-versa).
In a paired dataset the horse and zebra need to “match” each other. We’re essentially taking a horse and painting it black and white. The background, lightning, etc. stays the same.
A paired dataset would look something like this:
Image by Jun-Yan Zhu on Github
In an unpaired dataset the horses and zebras don’t need to “match” each other. This is dataset is far easier to create.
#loss-function #cyclegan #generative-adversarial #deep-learning #machine-learning