torchgan / model-zoo

Examples of Generative Adversarial Networks built using torchgan
MIT License
12 stars 4 forks source link

MHGAN #3

Open kayuksel opened 5 years ago

kayuksel commented 5 years ago

A recent improvement over the traditional GANs came out from Uber’s engineering team and is called Metropolis-Hastings GAN (MHGAN). The idea behind Uber’s approach is (as they state it) somewhat similar to another approach created by Google and University of California, Berkeley called Discriminator Rejection Sampling (DRS). Basically, when we train GAN we use the Discriminator (D) for the sole purpose of better training the Generator (G). Often, after training the GAN we do not use the D any more. MHGAN and DRS, however, try to use D in order to choose samples generated by G that are close to the real data distribution (a difference between is that MHGAN uses Markov Chain Monte Carlo (MCMC) for sampling).

MHGAN takes K samples generated from the G (created from independent noise inputs to the G). Then, it sequentially runs through the K outputs and following an acceptance rule (created from D) to decide whether to accept the current sample or keep the last accepted one. The last kept output is the one considered the real output of G. To sum up, Metropolis-Hastings GAN refers to the functionality of improving trained GANs by drawing k samples from the generator in MCMC fashion and using the discriminator (or critic) probabilities for calculating an acceptance ratio to obtain the best possible sample. Hence, given a perfect discriminator, and k approaching infinity, one can obtain samples from the true data distribution and even if the generator doesn't converge optimally, one can use the discriminator to draw enhanced samples.

https://github.com/uber-research/metropolis-hastings-gans TensorFlow implement: https://github.com/nardeas/MHGAN

Aniket1998 commented 5 years ago

This would be an interesting addition to the model zoo. Thanks for bringing it to notice https://github.com/torchgan/model-zoo

avik-pal commented 5 years ago

This would be a really interesting addition. Shifting this issue to the model zoo repository.