李宏毅对抗生成网络 (GAN)教程(2) Conditional Generation by GAN
文章目录
- Conditional GAN 介绍
- 具体算法
- 设计Discriminator
- Stack GAN
- 图片到图片
- Patch GAN
- 应用在speech enhancement
- Video Generation
输入一个文字,然后产生对应那个文字的图片。
可以被单纯当成supervised learning
但是如果用传统的supervised learning,不同角度的图片会被直接取平均(产生正面的火车是好的结果,产生侧面的火车是好的结果,但是同时产生正面的火车跟侧面火车合起来,这是错误的结果)
Conditional GAN 介绍
在原来的GAN里面,向generator输入一个从某种分布中抽取出来的z,根据z产生一张image x。但Conditional Generation里面不仅输入z ,同时输入另外一个 conditional的text c,根据这段文字还有z输出结果。
接下来要训练一个discriminator。 之前输入image输出scalar的方式不再适用,因为之前只识别图像是不是高质量的,不管和输入的文字有什么关系。
所以discriminator要同时看generator的输入和输出。输入一个condition(c),再输入一个object,然后产生一个scalar,对应到两个判断:
1、x是不是真实的;2、x和condition是不是一对。
有两种negative的情况,不匹配/图像不真实
具体算法
首先随机初始化,然后进行下面迭代:
训练判别器:(固定生成器)
- 首先从database中抽取m个样本,由于是condition GAN,所以每个样本都是文字 vector c 和image的pair。(得到真实图片对)
- 然后再从一个分布中抽取m个vector z;然后m个vector,每一个都加上一个condition vector,表示为(c,z)
- 然后将(c,z)输入生成器,生成m张image x~。(得到生成图片对)
- 然后进入database中随机选取m个真实图片x^(用于训练非对应的情况)(得到没有标签的真实图片,然后和之前真实图片标签进行配对;变成真实图片假标签对)
- 然后计算损失:对于sample的正确的一对就给高分,文字和随机生成图片给低分,文字和不匹配的真实图片也给低分。我们去最大这个损失,然后计算梯度,梯度上升。
然后训练生成器:(固定判别器) - 随机产生m个噪声,随机从database中抽取m个文字。通过生成器得到G(C,Z),然后经过判别器得到D(G(C,Z)),更改G中的参数,使得它的得分最高,骗过判别器。
图片中learningG的应该是梯度上升过程,+号
x ~ i \tilde{x}^i x~i是生成图片, x ^ i \hat{x}^i x^i是好的real图片,但是是随机筛选出来的,和c不匹配
文字+原始的positive example:高分
文字+生成的图片:低分
文字+随机抽取的不匹配real图片:低分
设计Discriminator
- Object x(图片)通过一个network变成embedding
- Condition c(文字)通过一个network变成embedding
- 两种embedding组合起来丢进network,输出score,代表了两件事,一件是图片有多好,另一件是 X 跟 C 有多合适
另一种:output两个分数(好像更合理)可以知道为什么低分,是不match还是quality不高
Stack GAN
先产生小张的图,根据小张的图再产生大张的图。直接生成256*256的图会坏掉,所以:
- 首先文字输入,与noise结合,生成6464小图片,输入6464真实图片训练discriminator判断分数
- 第二个generator输入一个6464图和文字叙述,生成256256图片,再用256*256的真实图片训练另一个discriminator打分
图片到图片
要有很多组data,如彩色&黑白,卡通&真实的
Supervised:用L1/L2 loss等,可产生比较模糊的图片(还是会有平均结果的问题)
引入GAN:
Patch GAN
Image-to-imager中discriminator的设计:
如果要产生的 image 非常大张,如果整张图片作为输入的话,结果很容易坏掉。因为image很大,discriminator参数也要很多,很容易overfitting或花很长时间
Patch GAN每次只检查一小块图片,size要自己调整
(只看一个pixl就叫pixl GAN,没用)
应用在speech enhancement
训练Generator:找很多声音,然后把这些声音也都加上一些杂音,之后和原声音对比
加上GAN:
generator的input和output同时输入discriminator
Video Generation
预测影片接下来发生的事情
网络上找到的有人用 GAN 的技术产生小精灵游戏画面的结果。右边是没有用 GAN 的结果。没有用 GAN 发生的问题:小精灵走到转角就分裂了,为什么会分裂呢?因为在training data 里面同一个转角,有时候小心你会往左走,有时候会往右走,往左走是对的,往右走也是对的。但是对一个没有GAN的generator来说,它会把往左走往右走全部平均起来,结果就坏掉。往左走是对的,往右走也是对的,同时往左走跟往右走结果就会坏掉。中间是用GAN做的,不太会有分裂的情形。但结果也不是特别完美,会发现有些小精灵走着走着就不见了。还有个有趣的现象是数字会随机跳动。
李宏毅对抗生成网络 (GAN)教程(2) Conditional Generation by GAN相关推荐
- 李宏毅对抗生成网络 (GAN)教程(1)Introduction
视频链接:https://www.bilibili.com/video/BV1tE411Z78A 在李宏毅GAN教程(1) 的基础上增添修改内容 文章目录 Basic idea of GAN 生成器G ...
- 悉尼大学陶大程:遗传对抗生成网络有效解决GAN两大痛点
来源:新智元 本文共7372字,建议阅读10分钟. 本文为你整理了9月20日的AI WORLD 2018 世界人工智能峰会上陶大程教授的演讲内容. [ 导读 ]悉尼大学教授.澳大利亚科学院院士.优必选 ...
- GAN——对抗生成网络
GAN的基本思想 作为现在最火的深度学习模型之一,GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的.它使用两个神经网络,将一个神经网络与另一个神经网络进行对抗. ...
- 对抗生成网络(GAN)学习笔记
生成模型与判别模型 判别模型:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型.判别方法关心的是对于给定的输入X,应该预测什么样的输出Y. 生成模型:由数据学习联合 ...
- 深度学习对抗生成网络--GAN
导读:GAN的风暴席卷了整个深度学习圈子,任何任务似乎套上GAN的壳子,立马就变得高大上了起来.那么,GAN究竟是什么呢? 相关资料下载 加助教小姐姐的威信即可免费获取: 1. GAN的基本思想 GA ...
- 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)
图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow) 文章目录 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网 ...
- 图像生成对抗生成网络gan_生成对抗网络(GAN)的直观介绍
图像生成对抗生成网络gan by Thalles Silva 由Thalles Silva 暖身 (Warm up) Let's say there's a very cool party going ...
- 深度学习代码实战演示_Tensorflow_卷积神经网络CNN_循环神经网络RNN_长短时记忆网络LSTM_对抗生成网络GAN
前言 经过大半年断断续续的学习和实践,终于将深度学习的基础知识看完了,虽然还有很多比较深入的内容没有涉及到,但也是感觉收获满满.因为是断断续续的学习做笔记写代码跑实验,所以笔记也零零散散的散落在每个角 ...
- 对抗生成网络GAN(优化目标篇)
对抗生成网络GAN(优化目标篇) 快要面试,故对GAN进行稍许复习 目的 对抗式生成网络GAN提出的目的是估计样本的密度函数pr(x;θ)p_r(x;\theta)pr(x;θ),且并不显式的估计密 ...
最新文章
- 36岁前百度员工哀叹:结婚三年老婆要离婚,要求分走大半财产,并且带走孩子。阴差阳错之下,发现孩子不是自己亲生的!...
- 学生信息管理系统小结
- Lync Server 2010的部署系列(四) outlook无法加入联机会议
- sql server 隔离级别
- websocket的加密和解密
- OpenLayers相关资料
- 1947-2020 NBA总冠军次数排行榜
- html和ascll有什么关联,什么是HTML ASCII(HTML ASCII)?
- 讨论:癌症能被人类攻克吗
- 去social一下什么意思_bbs论坛是什么意思(论坛的含义)
- 如何在线免费给PDF文档加密
- 刻意练习这本书。。。。。。。
- XML数据解析-SAX和DOM
- Teamwork(The first day of the team)
- 关于兼容导入excel2003和excel2007版本注意事项
- Microsoft IIS波浪号目录枚举/IIS短文件名枚举漏洞
- android webview滚动到底部,Android WebView实现网页滚动截图
- 建筑与建筑群综合布线系统工程施工及验收规范
- Word插入圆圈数字
- 一个送给另一半的情侣专属微信小程序