NLP中的GAN
为什么GAN不能直接用于NLP中?
生成图像是用随机的向量做实值的映射变换,是连续的过程。因此可以将判别器的误差反向传播到生成器。
在自然语言处理中,encoder解码生成文本的过程中,模型生成词的过程其实是在词表中选词的过程,它是根据当前网络输出的词语的整个概率分布,选取概率最大的词。这个选词的过程argmax是一个离散的过程,是不可导的。因此,无法通过D的梯度反向传播到G,故无法更新G的参数。
文本GAN的解决方法:
1. 直接将生成器softmax之后的概率传给鉴别器,不进行argmax采样,可以反向传播
2. 策略梯度 policy network
3. Gumble-softmax