Here's the great part about CycleGAN—you just need two arrays of images but they don't need to be matched up. In supervised learning, you may be used to having some input X and a corresponding output Y. The agent will learn the relationship between X and Y. For this task, we just need an input A and and input B where you want to transfer the style from B onto A. With the CycleGAN models, we will be able to go from A to B and from B to A in terms of style.
For example, we have an example of a horse and a zebra as follows:
Our implementation of CycleGAN will learn to go from horse to zebra or from zebra to horse. Both models are trained during this process in the adversarial setup.