Deep Convolutional Generative Adversarial Networks (DCGANs)
DCGANs use convolutional neural networks instead of simple neural networks for both the discriminator and the generator. They can generate higher-quality images and are commonly used for this purpose.
The generator is a set of convolutional layers with fractional stride convolutions, also known as transpose convolutions. Layers with transpose convolutions upsample the input image at every convolutional layer, which increases the spatial dimensions of the images after each layer.
The discriminator is a set of convolutional layers with stride convolutions, so it downsamples the input image at every convolutional layer, decreasing the spatial dimensions of the images after each layer.
Consider the following two images. Can you identify which one is fake and which one is real? Take a moment and look carefully at each of them.
You may be surprised to find out that neither...