Assignment #3 - Cats Generator Playground

Rohan Choudhury

I. DCGan

DCGAN Loss curves

To find the correct padding, we use the formula O = (W - K + 2P) / S + 1. We know O = W / 2, and K = 4, S = 2. Solving for P yields P = 2, so the padding is 2.

Basic vs Delux
DiffAug vs. No DiffAug

We include the loss curves for DCGan with the basic and deluxe augmentations, as well as with and without differentiable augmentations (using deluxe augmentation). If a GAN trains, the discriminator and generator losses should both go up and down, and not monotonically decrease for either model.

DCGAN Samples

Sample at iteration 200
Sample at iteration 6200

Early in training, the gan generations are blurry and unclear, but vaguely resemeble the shapes of cats. Later in training, the outputs are clearly cats, but still have some visual artifacts.

II. CycleGAN

Cyclegan 1k Iteration Samples

CycleGAN X -> Y
CycleGAN Y -> X
CycleGAN X -> Y with Consistency loss.
CycleGAN Y -> X with Consistency loss.

Cyclegan 10k iterations Samples

Cat Cyclegan X -> Y
Cat CycleGAN Y -> X
Apple CycleGAN X -> Y
Apple CycleGAN Y -> X

Above we demonstrate samples from a CycleGAN trained with cycle consistency for 10k iterations on both the cat grumpify and apple -> orange datasets. We can see that both generations are much better than the 1k iterations versions. Furthermore, cycle consistency is hugely helpful. Without it, as shown in the 1k iterations section, the results are quite poor quality. Including cycle consistency makes the samples much more realistic, while the samples without consistency are not close to cats or apples / oranges.

Patch Discriminator Comparison

Cat Cyclegan X -> Y with DC discriminator
Cat CycleGAN Y -> X with DC discriminator.
Cat CycleGAN X -> Y with patch discriminator.
Cat CycleGAN Y -> X with patch discriminator.
Apple Cyclegan X -> Y with DC discriminator
Apple CycleGAN Y -> X with DC discriminator.
Apple CycleGAN X -> Y with patch discriminator.
Apple CycleGAN Y -> X with patch discriminator.

We ablate the effect of the patch discriminator on the apple and cat datasets. In the cat case, using a DC discriminator is much worse. The effect on the apple dataset is less clear; it seems that DC performs comparably, which is unexpected.