Progressive Growing of GANs for Improved Quality, Stability, and Variation
A training method for GANs that starts with low-resolution images and progressively adds layers to increase resolution, improving stability and quality.
Paper: Progressive Growing of GANs for Improved Quality, Stability, and Variation
Authors: Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen · 2017
Read the paperThe Problem
Prior to this paper, training Generative Adversarial Networks (GANs) for high-resolution image synthesis was notoriously difficult. Generating high-resolution images (e.g., 1024x1024) requires the generator and discriminator to learn intricate, high-frequency details while simultaneously maintaining large-scale structural coherence. Because high-resolution generated images initially look like pure noise, the discriminator can trivially tell they are fake, providing gradient signals that are too strong or uninformative. This often caused mode collapse or training instability, preventing GANs from reliably scaling beyond low resolutions like 256x256.
The Idea
Instead of training the full network on high-resolution images from the start, the researchers proposed growing both the generator and discriminator progressively. The training begins by generating tiny, low-resolution images (e.g., 4x4 pixels), which is a much simpler task that stabilizes quickly. Once the network learns the coarse structural features, new layers are incrementally added to both networks to double the resolution (to 8x8, then 16x16, and so on) until the final target resolution is reached.
How It Works
The ProGAN architecture relies on several key mechanisms to enable stable growth:
Progressive Layer Addition: The generator () and discriminator () start as shallow networks operating at 4x4 resolution. Once training stabilizes, a new block of convolutional layers is added to to output an 8x8 image, and a corresponding block is added to to process the 8x8 input. This process is repeated. At each step, the networks are already primed with the weights from the previous stage, significantly easing the learning task.
Smooth Fade-In: To prevent the sudden introduction of new, randomly initialized layers from disrupting the already-trained lower layers, new layers are faded in smoothly. The output of the new layer is blended with the upsampled output of the previous layer using a scalar weight that linearly increases from 0 to 1 over several training epochs.
Minibatch Standard Deviation: To increase variation in the generated images and combat mode collapse, the discriminator computes the standard deviation of features across the minibatch and appends it as an extra feature map towards the end of the network. This penalizes the generator if it produces identical outputs.
Equalized Learning Rate: Instead of relying on careful weight initialization, ProGAN initializes all weights using the standard normal distribution and dynamically scales them at runtime based on the layer's fan-in. This ensures that the dynamic range and learning speed are roughly equal across all layers.
Why It Mattered
Progressive growing was a breakthrough in generative modeling. It provided a reliable recipe for training GANs to generate megapixel-scale (1024x1024) images of unprecedented photorealism. It drastically reduced training time, as most of the iterations are performed at lower resolutions where the network is much smaller and faster to evaluate.
What Came After
This paper set the new standard for high-fidelity image synthesis and directly led to the famous StyleGAN architecture by the same authors at NVIDIA. StyleGAN inherited the progressive growing training schedule but fundamentally redesigned the generator's latent space mapping. Progressive growing proved that complex generative tasks could be broken down into a curriculum of simpler, lower-resolution tasks, a philosophy that influenced many subsequent architectures.