我是靠谱客的博主 欢呼面包,最近开发中收集的这篇文章主要介绍为什么GAN不能处理离散的数据?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近我们小组的一个任务是要学习两个分布数据之间的映射关系,我们的数据形式是d_1={a_1,a_2,...,a_n},d_2={b_1,b_2,...b_m},其中a_i,b_j分别是d维的数据,我们想到了用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不能处理离散的数据?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部