When training a GAN for text generation, i have seen many people feeding the gumbel-softmax from the generator output and feed into the discriminator. This is to bypass the problem of having to sample from the softmax which is a non-differentiable process and hence prevents training.

My question is though, why not just feed the regular softmax (no argmax!) from the generator directly into the discriminator? What is the benefit of using the gumbel-softmax?


  • $\begingroup$ Can you provide some pointers of usage of Gumbel-softmax in GANs? I'm only aware of arxiv.org/abs/1611.04051 $\endgroup$
    – noe
    Aug 6, 2018 at 21:21

1 Answer 1


Passing directly the output of the softmax is also common (among the few textual GANs out there), e.g. see the improved Wasserstein GANs (WGAN-GP).

With hard Gumbel-softmax (+ straight-through estimator), you pass one-hot encoded vectors, which is the same as what you have with real data. If you pass the output of the softmax, the discriminator should be able to more easily tell apart real data (one hot) from fake data (non-one hot).

That being said, in my opinion neither of the two approaches seems very promising nowadays. There seems to be far more REINFORCE-based textual GANs.

  • $\begingroup$ Thanks for the answer. Regarding your point in the middle paragraph, shouldn't the model learn to produce a good softmax that resembles the real data through training, without the need for Gumbel? $\endgroup$
    – Physbox
    Aug 9, 2018 at 16:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.