A stable algorithm for GAN training
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
DRAGAN.ipynb added explanations in readme Jun 8, 2017
LICENSE added explanations in readme Jun 8, 2017
README.md Update README.md Dec 12, 2017


DRAGAN (Deep Regret Analytic Generative Adversarial Networks)

Link to our paper - https://arxiv.org/abs/1705.07215

Pytorch implementation (thanks!) - https://github.com/jfsantos/dragan-pytorch

Procedure (to use our algorithm):

  1. Pick your favorite architecture, objective function for the game.
  2. Tune the hyperparameter 'c' which decides the size of local regions. Our intuition is that small values extract better performance from a given architecture due to relaxed restrictions while slightly larger values give more stability. Be careful to set it appropriately by taking into account your domain range and making sure that perturbations don't lie on the data manifold.
  3. Tune lambda if necessary, this has the usual meaning of regularization intensity. Set 'k' to be 1.
  4. If your results are still bad, go back to Step 1 and try a different architecture+objective.

Interesting discussion with Ian Goodfellow and Martin Arjovsky on why GANs are unstable and where improvements come from


An interesting new paper by Fedus et.al came out following this (Many paths to equilibria)


Some of the repositories that would be helpful and which helped us (big thanks!):