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.
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
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 10k iterations Samples
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
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.