概述
最近我们小组的一个任务是要学习两个分布数据之间的映射关系,我们的数据形式是,其中分别是维的数据,我们想到了用GAN来学习这两个分布之间的映射关系,后来发现效果不太好,迭代一次该模型就对真样本数据和假样本数据傻傻分不清,真假概率都为0.5,后来查找到GAN原来不适合处理离散的数据样本,所以来写个笔记记录一下:
为什么GAN不适合处理文本数据
1. 文本数据相比较图片数据来说是离散的,因为对于文本来说,通常需要将一个词映射为一个高维的向量,最终预测的输出是一个one-hot向量,假设softmax的输出是(0.2, 0.3, 0.1,0.2,0.15,0.05)那么变为onehot是(0,1,0,0,0,0),如果softmax输出是(0.2, 0.25, 0.2, 0.1,0.15,0.1 ),one-hot仍然是(0, 1, 0, 0, 0, 0),所以对于生成器来说,G输出了不同的结果但是D给出了同样的判别结果,并不能将梯度更新信息很好的传递到G中去,所以D最终输出的判别没有意义。
2. 另外就是GAN的损失函数是JS散度,JS散度不适合衡量不想交分布之间的距离。
(WGAN虽然使用wassertein距离代替了JS散度,但是在生成文本上能力还是有限,GAN在生成文本上的应用有seq-GAN,和强化学习结合的产物)
参考https://blog.csdn.net/qq_25737169/article/details/78857724
最后
以上就是欢呼面包为你收集整理的为什么GAN不能处理离散的数据?的全部内容,希望文章能够帮你解决为什么GAN不能处理离散的数据?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复