深度学习(16) GAN(4)
Improving sequence generation by GAN
1、Conditional sequence generation
产生sequence task。
- input 声音讯号,生成语句
- input是中文,翻译
- input是一个句子,output另一个句子
the generator is a typical seq2seq model
chat-bot as example
maximize likelihood= minimize cross-entropy
1)使用reinforcement learning improve conditional generation (human feedback)
chat-bot不断学习去最大化期待的得分
Policy gradient
sequence to sequence model:encoder+decoder
p(c):每一个input出现的几率吧,即每个sentence出现的几率
后半部分:在给定c,output为x这个sentence得几率是多少。
R(c,x): 在给定c和x时候都分数
RθR_{\theta}Rθ:reward期望值
调整θ\thetaθ使reward期望值越大越好
θ\thetaθ没有出现在公式中,改变θ\thetaθ会改变sample的值
实作:分开做gradient计算
使用gradient ascent:
如果评价是正向的:
让它在c情况下,x出现的几率变大
如果评价是负向得:
让它在c情况下,x出现的几率变小
implementation
每次update完参数,要重新sample,因为每次更新完它得expected reward得参数就会改变。
comparison between 极大似然估计和reinforcement learning
在RL中,每一笔training data都是有weight的。
Conditional GAN
判别器会判别是人类的语言还是fake的——给与reward的过程
算法过程:
generator is to fool discriminator
chat-bot是sequence2sequence的model是RNN过程
discriminator 要同时吃input 和output
在中间有一个sampling process,chat-bot输出一个sentence的上一个过程是一个sampling process,这个过程无法微分。微分对sampling的结果是不确定的。
三种解法:
- Gumbel-softmax
- Continuous input for discriminator
- RL
Continuous input for discriminator
直接给word distribution。
problem:
real data 和generated data本质的vector是不一样的,并不是pne-hot编码的形式
套用RL
把R换成了D
problem:
将输出的句子,分解成每个字的概率做相乘
讲一个句子出现的概率下降,会降低那些应该有高概率出现的成员词的概率也下降
但由于training是不断sampling process,所以还会有其他的正向语句去增加成员词的概率
Reward for every generation step
每一个词出现都做reward。
为什么在image 生成时 要用GAN:在生成过程中,会对所有可能的结果做平均,很模糊。对于语句,maximize所有likelihood的结果会产生奇怪的句子。使用GAN后,他比较喜欢输出长的句子,有内容的句子。
2、Unsupervised conditional sequence generation
text style transfer
如果没有办法一起train可以使用continuous 或者RL训练generator和discriminator
使用continuous的方法:使用word embedding
Projection to common space
discriminator无法吃discrete的input,将输入discrete变成输入decoder的hidden layer
Unsupervised abstractive summarization
做摘要,自己写摘要,而不是摘抄
100 万以上的sample
使用unsupervised conditional generation
将文本和摘要看作两个domain,让机器自动在两个domain上互转。
用document做seq2seq生成摘要输入判别器,判断是否是人类写的摘要,real or not。不断更新这两个使输出的更像人类写的摘要。
但这还远远不够,可能summary很好,但与input的文本无关。所以要加入一个decoder,使这个summary转为document,且这个document和原来的很像
另外一个方法:
将文章变成简短的句子,将简短的句子变为文章。seq2seq2seq auto-encoder。
使用一个word sentences作为latent representation。希望这个latent layer是人可以读的,但这个中间得信息有时候可能很难读,所以加入discriminator去训练这个latent representation让它变得可读。
Unsupervised translation
将不同的语言看作不同的domain
supervised vs unsupervised
Evaluation
如何评估GAN生成的image的好坏
使用GAN做的话,无法计算分布,只可以采样。无法指定产生image的几率
希望generator model是一个复杂的模型
Kernel Density Estimation
将生成的结果做采样,做高斯混合模型,去逼近实际的混合分布
likelihood vs quality
likelihood无法反映quality的情况
Objective Evaluation
拿一个已经训练好的分类器去评估
对生成的图片做分类,如果分类很集中,说明图片质量很高
还要去从diverse衡量
将三个input输入,对三个结果做平均,如果结果为uniform distribution,说明每一个类别都要产生到。如果分布比较突出,只能说明生成过程只擅长生成一类的图片
Inception score
we don’t want memory GAN
使用k近邻去检查生成器是不是产生新的objects
Mode dropping:生成的图片多样性不够
DCGAN:检查生成的images有多少个不同的images
issue:产生的distribution不够大,使用unroll GAN
多时看很多图
- Mini-batch discriminator
深度学习(16) GAN(4)相关推荐
- 附pdf下载 | 入门深度学习和GAN的几本书
今天分享几本深度学习.GAN等好的电子书资源!收藏! 如今,GAN技术已经延伸至AI各个方向之中,例如图像处理.自然语言处理和语音等. 深度学习三巨头之一的 Yann LeCun 对 2014 年的生 ...
- 最新版动手学习深度学习和GAN电子书免费下载!
今天给大家推荐一个GAN方面的优质公众号---机器学习与生成对抗网络.该公众号里分享了几本深度学习.GAN等好的电子书资源! 强烈推荐李沐等人的<动手学习深度学习>最新版!完整中文版 PD ...
- 附pdf下载 | 动手学习深度学习和GAN电子书
今天分享几本深度学习.GAN等好的电子书资源!推荐收藏! 如今,生成对抗网络GAN技术已经延伸至AI各个方向之中,例如图像处理.自然语言处理和语音等. 深度学习三巨头之一的 Yann LeCun 对 ...
- [深度学习-实践]GAN入门例子-利用Tensorflow Keras与数据集CIFAR10生成新图片
系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之基于CIFAR10数据集的例子; 深度学习GAN(三)之基于手写体Mnist数据集的例子; 深度学习GAN(四)之PIX2PIX G ...
- 深度学习之GAN生成对抗网络
前言 近年来,基于数据而习得"特征"的深度学习技术受到狂热追捧,而其中GAN模型训练方法更加具有激进意味:它生成数据本身. GAN是"生成对抗网络"(Gener ...
- [深度学习-实践]GAN基于手写体Mnist数据集生成新图片
系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之基于CIFAR10数据集的例子 深度学习GAN(三)之基于手写体Mnist数据集的例子 深度学习GAN(四)之PIX2PIX GAN ...
- [深度学习-原理]GAN(生成对抗网络)的简单介绍
系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...
- CVPR2019| 最新CVPR2019论文:含目标检测、分割、深度学习、GAN等领域
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 推荐几篇CPRR2019最新论文,含目标检测.分割.深度表示.GAN等领域 [1]Strong-Weak Distr ...
- 基于深度学习的GAN应用风格迁移
GAN 是什么?:Generative Adversarial Network 我们可以这样定义:"对抗生成网络(GAN)是一种深度学习模型,模型通过框架中至少两个框架:生成模型和判别模型的 ...
- 深度学习《GAN模型学习》
前言:今天我们来一起学习下GAN神经网络,上一篇博文我先用pytorch运行了几个网上的代码例子,用于生成MNIST图片,现在我才反过来写GAN的学习,这次反了过来,效果也是很显而易见的,起码有个直观 ...
最新文章
- Azure 中国四年扩容 12 倍还不够,微软放话:全球每年新建 50-100 数据中心!
- 是固执成见还是步步为营,工程建筑行业如何追赶人工智能化潮流?
- (0092)iOS开发AVAudioRecorder录制音频
- jQuery 在Table中选择input之类的东西注意事项
- Outlook 2003中各个数据存储和配置文件的存放位置
- WSDL文件生成WEB service server端C#程序
- Blog.Core高级进阶:共赴五年之约
- 演练:调试 Windows 窗体
- 数值计算方法(五)——迭代法求方程根
- centos设置时间时区
- 球球大作战代点链接源码c语言,最新球球大作战代点源码无加密开源-球球大作战一天刷100个棒棒糖和刷龙蛋200个源码下载免费版-西西软件下载...
- Idea使用SVN下载运行项目
- mousetrap.js使用详解
- DES加密解密-CryptoJS与Java
- photoshop实用技巧
- Node.js 静态web服务
- python利用公式计算_Python利用openpyxl处理Excel文件(公式实例)
- 技术分享:国民远控向日葵如何通过BBR算法提升远控体验?
- 在Linux系统上运行.jnlp文件
- 为应用程序添加图标 ios_38个美丽的iOS应用程序图标设计,激发您的灵感
热门文章
- input正则邮箱_JS正则表达式验证email邮箱是否正确
- 广电网络计算机上网,广电wifi连接上不能上网怎么办
- PHP报错child 30396 said into stderr: zend_mm_heap corrupted
- ZeroClipBoard的诡异事件
- linux能远程开机么,Linux下如何实现远程开机
- Alpaca 凭什么成为 BSC 第三大协议?
- Java Foreach拉姆达表达式
- 34、BDS B1I星历处理实现
- html和js制作个人所得税表格,用JS编写个人所得税计算器
- Maix Bit(K210) 裸机开发教程(六)摄像头使用