Generative Adversarial Networks overview(4)
Libo1575899134@outlook.com
Libo
(原创文章,转发请注明作者)
本文章主要介绍Gan的应用篇,3,主要介绍图像应用,4, 主要介绍文本以及医药化学其他领域应用
原理篇请看上两篇
https://www.cnblogs.com/Libo-Master/p/11167804.html
https://www.cnblogs.com/Libo-Master/p/11169198.html
图像应用
https://www.cnblogs.com/Libo-Master/p/11187799.html
-----------------------------------------------------------------------------------
本文主要介绍在文本和医药化学上的应用,其实唯一的化学式分子式是可以通过一系列字符串表示的,SEQ-GAN是第一个在文本中work的GAN,由上交的组做的,比较暴力的对离散不能求导的问题,用RL的Policy Gradient来解决,先介绍框架,把文本生成变成了增强学习的过程,奖励在每次生成完完整的文本序列后,得到一个Reward,这个Reward作为此次增强学习的Reward,通过Reward不断迭代策略,之所以要这么做是因为直接把文本用在Gan中会出现刚才说的问题,每次生成出来的文本是一个离散的序列,不管是汉字还是英文是无法直接求导的,比如无法给梯度加减0.1得到另外一个字符,无法在离散空间做字符的变换,不得不转化到增强学习的框架来做,当时做的任务是唐诗宋词五言的生成,基于奥巴马演讲生成的东西,还做了音符也可以认为是个离散序列。


后来有人也做了相关的改进,把Reward不是用到了增强学习中,而是用到了判别器得到的score融合到了基于最大似然的训练的目标函数中,变到了一个稳定的去求解过程。
现在微信也有很多接口,效果也比较好,是因为他们的工作加了很多特征,手动feature,比如要求生成符合韵律的(平仄),都会编码的生成过程中的,还有些意向的映射比如山水都会编码进去。

然后在PTB(一个经典的小数据集文本)的生成的一些句子,基于词建模,一次生成了一些词而不是句子,所以并不会有拼写错误的情况。大意都是在一个topic下的什么事情。


下面是在一个大数据集上生成的结果,是基于improve-WGAN的基础上做的,并没有转化到一个增强学习的框架下,是直接在特征空间或者隐空间来处理这些文本,一般都是把原始的文本映射到一个连续的隐空间中,然后再通过一个连续的隐空间解码成一个离散文本,这是一般的文本生成的过程。然后在解码出来的离散空间来判别是真是假,需要用一些增强学习做(没有办法反向传播的问题),但是如果在连续空间直接判别是真是假,直接可以解决不能求导的问题,但是在连续空间做判别太简单了,很容易判别出假样本是假的,真样本是真的,这会导致整个gan没办法训练起来,因为是一个对抗过程,如果生成不了能够欺骗判别器的假样本,生成器就永远不能提高,训练不起来,判别器也无法提高自己,最终就失败了,所以用了W-GAN 就可以使得离散空间也可以训练判别器 ,不需要借助增强学习,每次只生成一个字母 字符级别的,可以建模语言信息了。

有了普通的文本生成,又做了一些条件的生成,生成一些跟给定文本相关的文本,相关就是在不同任务上体现,对话生成,既符合自然语言的话,又符合上下文逻辑的话,回应用户的对话,下面是一个问路的例子

下面是一个租房的例子。

下面是斯坦福博士的,把Adversarial traning 应用在了对话中,下面是解码的结果,他们同样把Gan的生成用到了增强学习中,增强学习具体有多种解法,不同的解法生成的文本长短和内容都会有较大的区别,有些时候生成反问句,有些时候会生成陈述句

后面有些人把对抗训练,用在了机器翻译的任务上,是今年微软亚洲研究院的工作,下面加粗的文本是翻译的结果,第二行是加了对抗训练的结果,可以看到加了对抗学习可以减少拼写错误,减少细微的语法错误,在细微流畅度上得到提升。

下图显示了网络结构,黄色为生成器,红色为判别器,每次先生成假样本,传给判别器。得出80%为真还是20%为真,这个reward,对于更新算法的强度有不同的影响。

可以看到现在在NLP领域,对抗训练主要做细微事情的调整,传统的RNN或者LSTM在生成过程中已经只能达到一定程度了,但加了对抗训练的话可以精益求精。
下面是生成符合某一类特性的文本,比如餐馆的评价或者商品的评价,生成满意的评价或者不满意的。下面是CMU的工作。

他们是怎么实现的呢?
加入了C,一个额外的变量去控制特征,利用判别器去判别,有没有符合判别器希望生成的特征,最终生成出既满足语言又满足特征。

现在controllable-gan 扩展到对话生成上,因为对话中会有很多隐含的情绪,沟通状态,情绪如何,比如下命令和问问题的意图不同的。

未完
-------------------------------------------
Generative Adversarial Networks overview(4)的更多相关文章
- Generative Adversarial Networks overview(2)
Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...
- Generative Adversarial Networks overview(1)
Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...
- Generative Adversarial Networks overview(3)
Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章主要介绍Gan的应用篇,3,主要介绍图像应用,4, 主要介绍文本以及医药化学其他领域应用 原理篇请看 ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- 生成对抗网络(Generative Adversarial Networks, GAN)
生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一. GAN 主要包括了两个部分,即 ...
- 论文解读(GAN)《Generative Adversarial Networks》
Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...
- (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- 《Self-Attention Generative Adversarial Networks》里的注意力计算
前天看了 criss-cross 里的注意力模型 仔细理解了 在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...
随机推荐
- 图论 --- 骑士周游问题,DFS
A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28630 Accepted: ...
- 命令(Command)模式
命令模式又称为行动(Action)模式或者交易(Transaction)模式. 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可 ...
- 局域网访问PHP项目网站 用IP地址进入
先在apache中的 httpd.conf中将 Allow from 127.0.0.1 修改为Allow from all 如果你的是Allow from all的话就不需要改 然后再将 Docum ...
- 关于visual studio 2015 智能提示英文,而非中文的解决方案
关于visual studio 2015 智能提示英文,而非中文的解决方案: 找到这个目录 C:\Program Files (x86)\Reference Assemblies\Microsof ...
- 发送邮件使用html模板的实现的大致思路
客户最近有一个需求,大致的意思是提供一个 word文档,让其作为一个模板,在发送邮件的时候能够实现按照这个模板的样式和内容,替换其中 的一些字段,作为邮件的内容发给收件人.这个需求最大的问题就是在于这 ...
- c# Windows服务管理
.NET Framework中提供的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 所以,在开始 ...
- vmare-Tools重启后也不生效的问题
这也是一个关于 Tools的问题,如题,既不能互相拷贝文件,也不能调节分辨率,好像是因为 Tools 的版本问题 需要进行的操作: 1:sudo apt-get install open-vm-too ...
- javascript原型深入解析1-prototype 和原型链、js面向对象
1.用prototype 封装类 创建的每个函数都有一个prototype(原型属性),他是个指针,指向的对象,这个对象的用途就是包含了这个类型所有实例共享的属性和方法. 回味这句,想想java或者C ...
- C#使用SMTP协议发送验证码到QQ邮箱
C#使用SMTP协议发送验证码到QQ邮箱 在程序设计中,发送验证码是常见的一个功能,用户在注册账号时或忘记密码后,通常需要发送验证码到手机短信或邮箱来验证身份,此篇博客介绍在C#中如何使用SMTP协议 ...
- html5直接调用手机相机照相/录像
现在的h5功能越来越强大.之前做项目时上传功能input type=file时,在IOS下居然可以直接照相...但是在安卓上是不能.后面研究 了下,其实安卓下也可以的. 就是在input上加上capt ...