Principles of CycleGAN