Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Download PDF

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Metadata

Compute Setup

The paper does not list a concrete GPU model, device count, memory size, or wall-clock training time. It acknowledges hardware donations from NVIDIA, and the released implementations were in PyTorch and Torch, but the source text does not state "trained on X GPUs." Under the project rule, the setup is inferred from the 2017 research era and the paper's batch/resolution choices as single or few NVIDIA GPUs in the Titan X/Pascal period.

Those details are still compute-informative. All networks are trained from scratch with Adam, batch size 1, learning rate 0.0002, lambda 10 for cycle consistency, 100 epochs at the fixed learning rate, then 100 epochs linearly decaying to zero. The main experiments train on 256 x 256 images, with 6 residual blocks for 128 x 128 images and 9 residual blocks for 256 x 256 or higher. The discriminator is a 70 x 70 PatchGAN, and training uses a buffer of 50 previously generated images to stabilize discriminator updates. Several datasets are small enough for GPU experimentation: 1,096 maps/aerial images at 256 x 256, 939 horse and 1,177 zebra ImageNet images, 996 apples and 1,020 oranges, and 1,273 summer plus 854 winter Yosemite photos.

Bottleneck

The bottleneck is not raw label volume but the absence of paired supervision. In CycleGAN's setting, there is no aligned target for a given source image. An adversarial loss alone can make outputs look like the target domain while ignoring the source content, changing semantic identity, or collapsing many inputs to a small set of plausible outputs. This is an under-constrained optimization problem made harder by GAN instability.

The compute cost is also doubled relative to a one-way translation model. CycleGAN trains two generators and two discriminators, one for X -> Y and one for Y -> X. At 256 x 256 resolution with residual generators, this is expensive enough that batch size 1 is used. The method therefore has to keep memory low while preserving enough signal for stable adversarial training. Patch-level discrimination, instance normalization, a history buffer, and least-squares losses all address this practical GPU-era bottleneck.

Method Adaptation

The method adapts image translation to the available data and GPU memory by replacing paired pixel supervision with cycle consistency. The generator G maps X to Y, while F maps Y back to X. Adversarial losses make generated images match the target-domain distribution. The cycle loss forces F(G(x)) to reconstruct x and G(F(y)) to reconstruct y, giving each unpaired source image a self-supervised reconstruction path.

The architecture choices fit 2017 image-GAN hardware. The Johnson-style residual generator uses downsampling, residual blocks, and upsampling rather than a huge full-resolution stack. Instance normalization reduces style/contrast sensitivity and was common in neural style transfer. The 70 x 70 PatchGAN discriminator classifies overlapping patches rather than whole images, reducing parameter count and allowing fully convolutional operation on different image sizes. Least-squares GAN loss stabilizes training and improves image quality relative to the original negative-log-likelihood GAN loss. The 50-image replay buffer reduces oscillation by updating discriminators with a short history of generated images, not only the latest generator outputs.

For painting-to-photo and related color-sensitive tasks, the identity loss is another compute-aware adaptation. It adds an L1 penalty when real target-domain images are fed through the generator, discouraging unnecessary tint changes without requiring paired targets. This is cheaper than collecting aligned examples and more direct than increasing model size.

Evidence

The evidence combines quantitative paired-dataset tests with unpaired applications. On Cityscapes labels -> photo, CycleGAN reaches FCN scores of 0.58 per-pixel accuracy, 0.22 per-class accuracy, and 0.16 class IOU. This is below the paired pix2pix upper bound of 0.85, 0.40, and 0.32, but above the unpaired baselines reported in the table, including CoGAN, BiGAN/ALI, SimGAN, and feature-loss GAN variants. On the ablation table, cycle loss alone scores only 0.10/0.05/0.02, GAN alone 0.53/0.11/0.07, and full CycleGAN 0.58/0.22/0.16, supporting the claim that both adversarial and cycle terms are needed.

The AMT perceptual study on maps <-> aerial photos is also compute-relevant because it evaluates 256 x 256 generated images under the same architecture. The authors report that CycleGAN fools participants on around a quarter of trials in both directions, while the baselines almost never do. A footnote reports additional 512 x 512 training for CycleGAN and pix2pix with comparable performance: maps -> aerial photos at 37.5% +/- 3.6% for CycleGAN versus 33.9% +/- 3.1% for pix2pix, and aerial photos -> maps at 16.5% +/- 4.1% versus 8.5% +/- 2.6%.

The qualitative applications show the payoff of unpaired data: horse <-> zebra, apple <-> orange, summer <-> winter Yosemite, Monet/photo, Van Gogh/Ukiyo-e/Cezanne styles, and iPhone-to-DSLR style transfer. The listed dataset sizes and resolutions show that the method was designed for domain-level image collections rather than aligned pairs.

Historical Effect

CycleGAN changed the compute/data tradeoff for generative media. Instead of spending effort on paired data collection or simulation pipelines, practitioners could spend GPU training time on two adversarial cycles over unpaired domains. This made translation demos possible with ordinary image collections scraped from Flickr, ImageNet, Google Maps, or art datasets.

Historically, the paper also standardized a durable recipe for image-domain translation: residual generators, PatchGAN discriminators, cycle consistency, identity preservation, and small-batch instance-normalized training. It did not solve all generative modeling, but it made unpaired translation a mainstream GPU workload and influenced later work on style transfer, domain adaptation, and image editing.

Limits

The paper is explicit that results are far from uniformly positive. It works best for appearance, color, and texture changes; it struggles with large geometric transformations. The dog -> cat example degenerates into minimal changes, and the horse -> zebra model fails on horseback-riding images because the ImageNet wild-horse and zebra training distributions do not include that case. This is a data-support limit, not just a model-capacity limit.

CycleGAN also remains below paired pix2pix where aligned pairs exist. Cycle consistency can preserve input structure, but it cannot guarantee semantic correctness; multiple mappings may satisfy the loss, and label permutations or subtle content changes can remain valid under the objectives. Hardware is not fully reported, so exact training cost and reproducibility across devices cannot be reconstructed from the paper. The batch-1 setup is practical for memory but noisy, and the two-generator/two-discriminator design roughly doubles the model components compared with one-way paired translation.

Links

  • Compute regime: history/compute_regimes/generative_media_compute/README.md
  • Source PDF and extracted text are listed in metadata above.
  • Queue status: read_complete.
  • Method index: generative_models, cnn
  • Ledger updates: compute bottlenecks