GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium

Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, Sepp Hochreiter
6/26/2017
cs.LGstat.ML

Official code: bioinf-jku/TTUR (900 stars, Apache-2.0, last commit 2025-12-14).

Abstract

Generative Adversarial Networks (GANs) excel at creating realistic images with complex models for which maximum likelihood is infeasible. However, the convergence of GAN training has still not been proved. We propose a two time-scale update rule (TTUR) for training GANs with stochastic gradient descent on arbitrary GAN loss functions. TTUR has an individual learning rate for both the discriminator and the generator. Using the theory of stochastic approximation, we prove that the TTUR converges under mild assumptions to a stationary local Nash equilibrium. The convergence carries over to the popular Adam optimization, for which we prove that it follows the dynamics of a heavy ball with friction and thus prefers flat minima in the objective landscape. For the evaluation of the performance of GANs at image generation, we introduce the "Fréchet Inception Distance" (FID) which captures the similarity of generated images to real ones better than the Inception Score. In experiments, TTUR improves learning for DCGANs and Improved Wasserstein GANs (WGAN-GP) outperforming conventional GAN training on CelebA, CIFAR-10, SVHN, LSUN Bedrooms, and the One Billion Word Benchmark.

View on arXivView PDF

Code Implementations(1)

bioinf-jku/TTUROfficial100%
Apache-2.0

Two time-scale update rule for training GANs

900172Shell, PythonJun 26, 201710 months agoApache-2.0

Similar Papers

Cite this paper

@article{heusel2017gans,
  title  = {GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium},
  author = {Martin Heusel and Hubert Ramsauer and Thomas Unterthiner and Bernhard Nessler and Sepp Hochreiter},
  year   = {2017},
  eprint = {1706.08500},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1706.08500}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1706.08500.svg)](https://codeofpaper.com/paper/1706.08500)

Discussion