笔记仅供参考,加入了很多自己的理解

Generator

z和x以一定的方式作用,不一定是直接相加

相当于这个network是一个两输入(x和noise)的网络,这种network称作一个generator

让输出是有概率的,即加入一个random distribution让输出变成一个distribution

这样的话就是说要让这个network有一定的创造力,因为输出的值是不一定的

GAN

先不看x

从z里面sample出一个low-dim vector的向量

generator就是把一个低维的向量变成一个高维的向量

z只需要一个简单的distribution就行,可以是normal当然也可以是其他的,但是一般都取normal

discriminatior:

分类和regression的区别

步骤

step1:初始化完成后,generator产生一个picture,然后这个picture和真的数据(一些正确的数据)拿给discriminator训练,就是fix generator然后训练discriminator

step2:然后fix这个discriminator,调整generator的参数,使得在这代discriminator中,能够通过discriminator的检测

step3:... 重复step1和step2,即交叉反复训练discriminator和generator

generator和discriminator可以看做是一个大的network,其中的一个hidden layer就是图片的输出,整个network的输出是一个评分(可以把这个output的加一个负号,当做一个loss看待)

背后的theory

这个divergence不好计算,现在只需要做一个sample就可以了

就是说要用sample出来的值去得到使两个完整分布的divergence最小的generator的参数

我先当成一个binary classifier去处理,解释一下这个objective function,意思就是D(y)就代表给y打的分数

训练discriminator的时候,有real data 和 generated data,discriminator就是把real data打高分,把generated data打低分,相当于是做了一个二分类问题,于是我们有objective function

前半部分代表了real 图片的打分,后面是用1减去了generated 图片的打分,就是说要使得这个objective function最大,就是real 高分,generated 低分

最巧妙的地方在于,依据这样的一个转换,把divergence的问题化为了二分类问题,而在第一篇gan paper里面作者给出了详细的推导,理论上说明了这个objective function和那个divergence是等价的

两个分布的重合部分可以看做很小,第一个理由就是,图片是高维空间的一部分,而高维空间很大很大,可以基本看做没有,所以很难重叠

第二个理由是就算重叠了,我们只是sample了一小部分,如果sample的点不够多,不够密的话也不好说重叠

用wasserstain distribution

D必须变化不是特别剧烈,就是这里说的1-lipschitz

spectral normalization

GAN is still challenging

两个东西都要训练,要是有一个出问题了,都会出问题

这个地方不能做gradient descent,因为这种情况下每次decoder输出的值变化很小,所以对于discriminator来说每次输出的值差不多不变

good quality

不要memory 的GAN

conditional的data,需要成对的资料去训练

Cycle GAN

就是把normal distribution改成已知数据的分布

不能直接套用,因为这样的话generator生成的图和输入的照片不一定有关系

但是这里和conditional GAN不太一样,因为没有成对的资料学习

需要两个generator,一个是x变y,一个是从y变成x的,但是有可能网络可能学一个很奇怪的转换,但是实际操作上不会出现这种

最后总结几句自己的话:

一个noise 分布通过generator然后得到一个新的分布,generator的作用是把一个分布变成了另外一个分布,至于generator是怎么训练的,以及最后训练完成过后要满足什么要求是这样的

最后要满足generator的训练结果,就是noise的分布转化得到的分布和x的分布一样,或者说尽量近似

换句话说是不能把noise单独拎走单独说我已经把x的分布学好了

学习x分布的过程是依赖于noise的

noise的选择可以是高斯也可以是其他的这个没关系,但是取定了就不要换了,因为后面的训练是依赖于这个noise的

如果换成另外一组数据,再加一组generator和discriminator就是cycle GAN的原理了

李宏毅机器学习GAN的笔记相关推荐

  1. 2018-3-19李宏毅机器学习视频学习笔记九----Classification: Probabilistic Generative Model

    视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=10 步骤: (1 ...

  2. 李宏毅机器学习自己的笔记(一)----------Introduction of MachineLearning

    视频来源:李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=2 声明:图片均来自 ...

  3. 李宏毅机器学习课程学习笔记(1)——机器学习基本概念

    机器学习基本概念介绍 让机器具备寻找一个所需函数的能力--两大任务 Regression回归 回归预测 Classification分类 判断是否符合要求:True/Flase Structured ...

  4. 李宏毅机器学习GAN作业之动漫头像生成记录

    数据集 36740张3*64*64大小的二次元人物头像: 模型 本次采用DCGAN实现 论文名称:Unsupervised Representation Learning with Deep Conv ...

  5. 视频+笔记+能够跑通的代码,《李宏毅机器学习完整笔记》发布!

    点击我爱计算机视觉标星,更快获取CVML新技术 [导读]关于机器学习的学习资料从经典书籍.免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提供了极大的便利.但网上比比皆是的学习资料大部分都是英文 ...

  6. 李宏毅机器学习—读书笔记

    李宏毅机器学习笔记(LeeML-Notes) leeml-notes 机器学习 人工智慧(Artificial Intelligence)是我们想要达成的目标,希望机器可以跟人一样的聪明.机器学习(M ...

  7. 李宏毅机器学习作业6-使用GAN生成动漫人物脸

    理论部分参考:​李宏毅机器学习--对抗生成网络(GAN)_iwill323的博客-CSDN博客 目录 任务和数据集 评价方法 FID AFD (Anime face detection) rate 代 ...

  8. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  9. 喜大普奔:Datawhale开源项目《李宏毅机器学习完整笔记》发布了!

    开源地址 https://github.com/datawhalechina/leeml-notes [导读]关于机器学习的学习资料从经典书籍.免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提 ...

最新文章

  1. Java基础学习总结(13)——流IO
  2. A Combinatorial Simulation
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1103:陶陶摘苹果
  4. Open cup #2
  5. collapse用法
  6. linux发布成服务,linux服务简单部署
  7. 2021-08-23
  8. H3C_利用策略路由实现出口双线路负载(选路)的部署
  9. 冬季华丽回潮 试着搭配毛茸茸皮草
  10. 计算机重装系统知识,想学重装系统要怎么做?重难点知识讲解,零基础照样能够装系统!...
  11. 建立手机平台的产品线
  12. 新一代亚马逊电子书阅读器Kindle Paperwhite全球同步上市
  13. 某图书管理系统的类图
  14. python学习之自动化运维(一):shell的使用
  15. GMSSL :SM2椭圆曲线公钥密码算法——数字签名算法4
  16. opencv 锐化 java_Java Opencv 实现锐化
  17. 6.aync和await的原理及实现
  18. usd to php exchange,USD to PHP
  19. layui 的简单使用
  20. fm调制matlab仿真,matlab fm调制仿真.doc

热门文章

  1. 在本地计算机无法启动windows audio,Windows Audio服务无法启动的解决方法
  2. Thread.start() ,工作这么久,还不知道它是怎么让线程跑起来的!
  3. 盘点: IT行业五大热门职位
  4. vsftp匿名访问目录_vsftpd配置禁用匿名用户并设置登陆用户
  5. codeforce B. Misha and Changing Handles
  6. 接上篇 jquery.form.js 的 $.ajaxForm()和 $.ajaxSubmit()
  7. Tess4j maven demo
  8. Java 验证码识别(Tess4J初体验)
  9. java计算机毕业设计计算机组成原理教学演示软件源程序+mysql+系统+lw文档+远程调试
  10. API与Ui集成新趋势下的RPA:海外厂商领先一步,国产厂商现状如何