一文看懂——序列数据的生成:GAN的方法

05a9cac17f3c7ee1b08170bed741359b.gif

caa662fd680c406f5660a36d0f91d61e.png

导读:序列数据指的是一种按照先后顺序排列的离散数据,这类数据虽然不如图像数据那么直观,但其实在实际生活中非常常见。比如我们平时浏览网站的行为其实就是序列数据,我们会不断地在各种不同的网页链接之间跳转,从而形成一个序列的网页链接列表;又比如我们平时使用的自然语言,就是由一系列按照顺序排列的文字所构成。

88dc305a5c794f1186f10084acd7908a.png作者:史丹青

来源:华章计算机(hzbook_jsj)

10d8f8cc37e3403fef86afebc1ded28b.png

GAN的模型直接用于训练是一个非常自然的想法,只需要能够收集大量真实的序列数据就可以通过生成器和判别器的对抗来完美实现对与离散数据的生成。这个想法看似十分美好,但是在实践过程中会发现两个致命的问题。首先,是离散数据的可导性。GAN的创造者IanGoodfellow之前曾表示由于GAN需要计算生成器输出的梯度,因此在有连续输出的地方才能很好的工作,而像文本这样离散的数据不具备可导性很难使用GAN进行生成。其次,是如何去判断一个还没有生成完毕的序列数据是“真”或“假”。在实际的生成过程中,序列数据是一个一个逐步产生的,除了最终状态之外的大部分情况都是一个未完成的序列,比如一句还没有说完的话,或是一系列没有完成的网页操作。在这个未完成的状态下,如何让判别器判断当前的序列是“真”是“假”就变成了一个棘手的问题。

SeqGAN

SeqGAN首先提出了GAN在序列生成上的方法。为了解决在之前提到的那些问题,SeqGAN把序列数据生成的过程看作是一个序列决策的过程,在生成数据的过程中一步一步决定下一个元素是什么。

SeqGAN使用了一种基于强化学习的方法,它的生成器正是强化学习中的代理&#x

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值