【李宏毅2020 ML/DL】P76 Generative Adversarial Network | Unsupervised Conditional Generation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
这是我的李宏毅老师 GAN 系列第3
篇笔记,GAN 系列:
- 1:Basic Idea
- 2:Conditional GAN
本节内容综述
- 可以理解为一种“风格迁移”的技术。但是我们收集不到不同风格间有 link 的数据。
- 对于 Unsupervised Conditional Generation ,李老师将其分为两类:Direct Transformation 与 Projection to Common Space 。
- 首先来讨论第一个类别 Direct Transformation 。提到了 Cycle GAN ,还由此提及了 StarGAN 。
- 接下来讨论第二个类别 Projection to Common Space。提到了不少的GAN,主要解决的问题是将不同风格的编码-解码器连接起来,都适用于其中间产生的 code 。
文章目录
- 本节内容综述
- 小细节
- Unsupervised Conditional Generation
- Direct Transformation
- Cycle GAN
- Issue of Cycle Consistency
- StarGAN
- Projection to Common Space
- Couple GAN / UNIT
- Domain Discriminator
- Cycle Consistency / ComboGAN
- DTN / XGAN
- 举例
小细节
Unsupervised Conditional Generation
如上,我们希望机器可以“独立地”完成图片/语音风格的转换。
如上,李老师将其分为两类:Direct Transformation 与 Projection to Common Space 。
Direct Transformation
如何让机器知道,是否是这个风格的图片呢?如同上天,让 D 见过这个风格的图片,之后,再争取让 G 生成的图片骗过 D ,让 D 觉得也是这个风格的图片。
但是问题是,G可能产生与 input 完全不相关的东西。怎么办呢?
- 无视这个问题,其实也可以;
- 还有一些其他方法比如下图(对G的输入输出进行编码,力求编码相似)。
Cycle GAN
此外,G可能产生与 input 完全不相关的东西
还有别的思路如 Cycle GAN 。
如上,我们希望生成的图片可以转回其本身。
此外,如上图,我们可以把两种风格一起训练,相互转换。
Issue of Cycle Consistency
如上,中间产物的红框部分是没有黑点的,但是其利用中间产物生成回去还会有黑点。
因此,可以推测Cycle GAN是可以“藏”信息的,那这样Cycle GAN就没有意义了,因为我们使用Cycle GAN的初衷就是 Gx→yG_{x \to y}Gx→y 的输入输出差别不要太大。但是现在发现其能将信息“藏”起来,这样可能 Cycle GAN 意义就不大了。
如上,这是不同的人在同一时间提出了相同的方法,只不过发在了不同的会议而已。
StarGAN
如上,做了一个 Generator ,希望能在多个领域互相转换。
上面 (a) 中还要判断图片来自哪个 Domain 组合。
如上 (b) 与 © 步骤:
- 输入
目标领域
与图片
,得到假的图片
; - 再将
假的图片
与目标领域
输入回同一个 Generator ,要求其能生成原来的真图片
。
这类似 CycleGAN 。
如上,这里的 Domain 其实是一个向量组合:[是否年轻,头发黑色,...]
类似如此的特征描述。
Projection to Common Space
如上,在这种转换中,我们希望有不同领域的编码器与解码器。
但是,如上这种模式中,上下两组 GAN 是没有关联的。输入一个 X 领域的数据,编码,通过 Y 领域解码器解码后,得到的可能是截然不同的图片。
如何解决呢?
Couple GAN / UNIT
如上,可以对所有的 编码器 EN ,在最后几层都共用参数。
Domain Discriminator
如上,我们还可以设置一个 Domain Discriminator,让不同的编码器都能骗过这个 Discriminator 。这样,就会强迫不同的编码器生成的 code 服从同一分布,或者说,使用相同的信息表示方法,相当于做了特征排序
。
Cycle Consistency / ComboGAN
如上,也可使用 Cycle Consistency 的方法。
DTN / XGAN
如上,使用 Semantic Consistency 的方法。
举例
使用 GitHub 的链接:
- github.com/Hi-king/kawaii_creator
此外,也可以进行语音的转换。这样对数据样本也降低了不少要求。
【李宏毅2020 ML/DL】P76 Generative Adversarial Network | Unsupervised Conditional Generation相关推荐
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 【李宏毅2020 ML/DL】P80 Generative Adversarial Network | Feature Extraction
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第7篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...
- 【李宏毅2020 ML/DL】P83 Generative Adversarial Network | Evaluation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第10篇笔记,GAN 系列: 1:Basic Idea 2:Condition ...
最新文章
- R,Git和Github(下)
- 谈谈@@IDENTITY 和 SCOPE_IDENTITY()的区别
- CF Gym102028G Shortest Paths on Random Forests
- struts-config message-resources配置问题总结
- 体验QQ2011Beta3带来的变化和惊喜
- password php,password.php
- 降维系列之 SNE与t-SNE
- js中获取中文相应gbk编码
- plc原理及应用_【工控资料】西门子、三菱、欧姆龙PLC电气设计与编程自学宝典(双色版)...
- 利用Python的sympy包求解一元三次方程
- 笔记本固态硬盘大容量升级系统迁移(三天时间亲自实践,避坑专用)
- python re提取中文
- SQL语句,关于随机分组后在随机排序
- 关于α测试与β测试的区别
- 行列式的子式、主子式、顺序主子式、余子式、代数余子式
- 美国约翰斯·霍普金斯大学全球新冠疫情统计数据网址
- 怎么看自己的maven本地仓库在那里
- 【代码笔记】持续更新:知识图谱——gensim.corpora
- 维基解密:CIA早就可以轻易入侵苹果手机和电脑
- JAVA实现坦克大战(JAVA小游戏)
热门文章
- win7下,令人头疼的 classpnp.sys (附带:安装系统时蓝屏;0x0000007b)。
- c语言程序设计逗号作用,逗号运算符C语言程序设计.pdf
- 实体类在set字段时报空指针异常
- Emgu.CV.CvInvoke的类型初始值设定项引发异常
- PostgreSQL Json字段作为查询条件的解决方案
- 解决Axure发布分享预览的3个方法
- [Git]解决Permission denied, please try again问题
- 解决nginx反向代理缓存不起作用的问题
- manjaro中文输入法已安装但切换不了解决方法
- Python中的目录树列表