GANs用于文本生成
上学期期末老师给了我本杂志让我好好看看里面的Gans网络是如何应用在文本生成上的,文章里面也没有介绍原理性的东西,只是说了加入这个Gans模型后效果有多好,给出了模型架构图和训练时所用的语料例子,也没有给出模型的细节以及训练时的优化目标。看的我一脸懵。这篇文章也不涉及任何原理性东西,只是用我自己的理解说明一下Gans网络存在的问题以及如何改进。
之后看了大量资料才对这个模型有一个很好的认识,Gans模型16年被提出来的,之后就在图像生成方面取得了很不错的成果,Gans刚提出来的时候只适用于连续型的数据生成,对于离散型的数据效果不佳,但是总有大佬喜欢搞事,想将Gans用在文本生成这样的离散数据任务上,将Gans网络应用于文本生成像在逐步实现图灵测试,要是真实现了就是一个激动人心的大事,怪不得那些大佬喜欢搞事。
好了,来看看Gans网络如何应用于文本生成。
GANs在面对离散型数据的时候,判别网络无法直接将梯度反向传播给生成网络,因为判别器得到的是sampling之后的结果,即使softmax的输出优化了一点点,但是sampling之后生成器的结果和上一次一模一样,判别器会意识不到上一次自己的判别是正确的,从而乱指导生成器的更新。比如第一次生成器输出[0.1, 0.1, 0.1, 0.1, 0.6], 经过sampling之后结果是[0, 0, 0, 0, 1]输入给判别器,假如正确结果是[0, 1, 0, 0, 0],判别器收到结果进行判定然后判定结果经过反向传播后给生成器,生成器又再次给出自己的答案是[0.1, 0.2, 0.1, 0.1, 0.5],sampling之后结果依旧是[0, 0, 0, 0, 1],当判别器看到又是这个结果,恐怕会怀疑自己的人生,然后重新选一条路教生成器如何更好地欺骗自己。
WGAN是对于GAN直接改进用于文本生成的大名鼎鼎的模型。在原始Gan用于文本生成时,训练过程看不到生成器从好到不好的过程,而WGAN利用Wasserstein散度,使得这个过程可视化。Wasserstein距离度量两个概率分布之间的距离,它相比于KL散度和JS散度的优势在于:即使两个分布的支撑集没有重叠或者重叠非常少,仍然能反映两个分布的远近。而JS散度在此情况下是常量,KL散度可能无意义。这就使得Gan模型在离散型数据上有了明显的进化过程。然而即使是这样,Gan模型在文本生成上只能产生一些看起来有那么一点正常的语句,与现在的starte-of-art相去甚远。
GANs用于文本生成的更多相关文章
- Texygen文本生成,交大计算机系14级的朱耀明
文本生成哪家强?上交大提出基准测试新平台 Texygen 2018-02-12 13:11测评 新智元报道 来源:arxiv 编译:Marvin [新智元导读]上海交通大学.伦敦大学学院朱耀明, 卢思 ...
- 斯坦福NLP课程 | 第15讲 - NLP文本生成任务
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www. ...
- Python将文本生成二维码
#coding:utf-8 ''' Python生成二维码 v1.0 主要将文本生成二维码图片 测试一:将文本生成白底黑字的二维码图片 测试二:将文本生成带logo的二维码图片 ''' __autho ...
- 使用 paddle来进行文本生成
paddle 简单介绍 paddle 是百度在2016年9月份开源的深度学习框架. 就我最近体验的感受来说的它具有几大优点: 1. 本身内嵌了许多和实际业务非常贴近的模型比如个性化推荐,情感分析,词向 ...
- Vulcan 基于Meteor的APollO框架 , grapesjs 用于可视化生成Html 页面
Vulcan 基于Meteor的APollO框架 :http://vulcanjs.org/ grapesjs 用于可视化生成Html http://grapesjs.com/
- Mybatis-generator插件,用于自动生成Mapper和POJO
后台环境为springboot+mybatis. 步骤一:添加mybatis环境 <dependency> <groupId>mysql</groupId> < ...
- 用于文本分类的RNN-Attention网络
用于文本分类的RNN-Attention网络 https://blog.csdn.net/thriving_fcl/article/details/73381217 Attention机制在NLP上最 ...
- 实现nlp文本生成中的beam search解码器
自然语言处理任务,比如caption generation(图片描述文本生成).机器翻译中,都需要进行词或者字符序列的生成.常见于seq2seq模型或者RNNLM模型中. 这篇博文主要介绍文本生成解码 ...
- 将迁移学习用于文本分类 《 Universal Language Model Fine-tuning for Text Classification》
将迁移学习用于文本分类 < Universal Language Model Fine-tuning for Text Classification> 2018-07-27 20:07:4 ...
随机推荐
- 利用StateListDrawable给button动态设置背景
项目中,遇到相同样式的Button,只是stroke颜色不一样.为了实现一个,就得写两个shape文件,一个selector文件:多个还得重复写. 解决方法: 结合StateListDrawable给 ...
- Python记录10:模块
''' 1. 什么是模块 模块就一系列功能的集合体 模块有三种来源: 1. 内置的模块 2. 第三方的模块:pip install +模块名称 ...
- c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0);
本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit ...
- SD卡与FAT32系统学习
2011-06-06 23:04 前2天,我了解了一下SD卡驱动的原理及FAT32文件系统的结构.接着准备主要已移植为主.通过LCD显示SD卡中的图片.但我需要分步进行. 0,使sd卡能读写数据.1, ...
- Porsche Piwis Tester II V12.100 Version Released
Piwis Tester II v12.100 Version released today! In this new version we can find the latest type Pors ...
- 关于java职业路径
java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架构,微服务,以及相关的项目管理
- myeclipse项目在Tomcat服务器部署问题
错误信息:Deployment of project mybook will replace this resource. Please specify the action you wish to ...
- 2019/4/11 wen 常用类2
- Linux 高级文件管理
1.标准输出(ls -l /dev/stdin 0 ),标准输入(ls -l /dev/stdout 1 ),错误输出(ls -l /dev/stderr 2 ). 2.ls /etc/passwd ...
- Linux firewalld 防火墙
Linux firewalld 防火墙 简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...