The generative adversarial network, or GAN for short, is a deep learning architecture for training a generative model for image synthesis. The GAN architecture is relatively straightforward, although one aspect that remains challenging for beginners is the topic of GAN loss functions. The main reason is that the architecture involves the simultaneous training of two […]
Archive | Generative Adversarial Networks
How to Implement the Frechet Inception Distance (FID) for Evaluating GANs
The Frechet Inception Distance score, or FID for short, is a metric that calculates the distance between feature vectors calculated for real and generated images. The score summarizes how similar the two groups are in terms of statistics on computer vision features of the raw images calculated using the inception v3 model used for image […]
How to Implement the Inception Score (IS) for Evaluating GANs
Generative Adversarial Networks, or GANs for short, is a deep learning neural network architecture for training a generator model for generating synthetic images. A problem with generative models is that there is no objective way to evaluate the quality of the generated images. As such, it is common to periodically generate and save images during […]
How to Evaluate Generative Adversarial Networks
Generative adversarial networks, or GANs for short, are an effective deep learning approach for developing generative models. Unlike other deep learning neural network models that are trained with a loss function until convergence, a GAN generator model is trained using a second model called a discriminator that learns to classify images as real or generated. […]
A Gentle Introduction to BigGAN the Big Generative Adversarial Network
Generative Adversarial Networks, or GANs, are perhaps the most effective generative model for image synthesis. Nevertheless, they are typically restricted to generating small images and the training process remains fragile, dependent upon specific augmentations and hyperparameters in order to achieve good results. The BigGAN is an approach to pull together a suite of recent best […]
9 Books on Generative Adversarial Networks (GANs)
Generative Adversarial Networks, or GANs for short, were first described in the 2014 paper by Ian Goodfellow, et al. titled “Generative Adversarial Networks.” Since then, GANs have seen a lot of attention given that they are perhaps one of the most effective techniques for generating large, high-quality synthetic images. As such, a number of books […]
A Gentle Introduction to StyleGAN the Style Generative Adversarial Network
Generative Adversarial Networks, or GANs for short, are effective at generating large high-quality images. Most improvement has been made to discriminator models in an effort to train more effective generator models, although less effort has been put into improving the generator models. The Style Generative Adversarial Network, or StyleGAN for short, is an extension to […]
How to Train a Progressive Growing GAN in Keras for Synthesizing Faces
Generative adversarial networks, or GANs, are effective at generating high-quality synthetic images. A limitation of GANs is that the are only capable of generating relatively small images, such as 64×64 pixels. The Progressive Growing GAN is an extension to the GAN training procedure that involves training a GAN to generate very small images, such as […]
How to Implement Progressive Growing GAN Models in Keras
The progressive growing generative adversarial network is an approach for training a deep convolutional neural network model for generating synthetic images. It is an extension of the more traditional GAN architecture that involves incrementally growing the size of the generated image during training, starting with a very small image, such as a 4×4 pixels. This […]
A Gentle Introduction to the Progressive Growing GAN
Progressive Growing GAN is an extension to the GAN training process that allows for the stable training of generator models that can output large high-quality images. It involves starting with a very small image and incrementally adding blocks of layers that increase the output size of the generator model and the input size of the […]