李宏毅机器学习GAN的笔记
笔记仅供参考,加入了很多自己的理解
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的笔记相关推荐
- 2018-3-19李宏毅机器学习视频学习笔记九----Classification: Probabilistic Generative Model
视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=10 步骤: (1 ...
- 李宏毅机器学习自己的笔记(一)----------Introduction of MachineLearning
视频来源:李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=2 声明:图片均来自 ...
- 李宏毅机器学习课程学习笔记(1)——机器学习基本概念
机器学习基本概念介绍 让机器具备寻找一个所需函数的能力--两大任务 Regression回归 回归预测 Classification分类 判断是否符合要求:True/Flase Structured ...
- 李宏毅机器学习GAN作业之动漫头像生成记录
数据集 36740张3*64*64大小的二次元人物头像: 模型 本次采用DCGAN实现 论文名称:Unsupervised Representation Learning with Deep Conv ...
- 视频+笔记+能够跑通的代码,《李宏毅机器学习完整笔记》发布!
点击我爱计算机视觉标星,更快获取CVML新技术 [导读]关于机器学习的学习资料从经典书籍.免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提供了极大的便利.但网上比比皆是的学习资料大部分都是英文 ...
- 李宏毅机器学习—读书笔记
李宏毅机器学习笔记(LeeML-Notes) leeml-notes 机器学习 人工智慧(Artificial Intelligence)是我们想要达成的目标,希望机器可以跟人一样的聪明.机器学习(M ...
- 李宏毅机器学习作业6-使用GAN生成动漫人物脸
理论部分参考:李宏毅机器学习--对抗生成网络(GAN)_iwill323的博客-CSDN博客 目录 任务和数据集 评价方法 FID AFD (Anime face detection) rate 代 ...
- 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01
@[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...
- 喜大普奔:Datawhale开源项目《李宏毅机器学习完整笔记》发布了!
开源地址 https://github.com/datawhalechina/leeml-notes [导读]关于机器学习的学习资料从经典书籍.免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提 ...
最新文章
- Java基础学习总结(13)——流IO
- A Combinatorial Simulation
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1103:陶陶摘苹果
- Open cup #2
- collapse用法
- linux发布成服务,linux服务简单部署
- 2021-08-23
- H3C_利用策略路由实现出口双线路负载(选路)的部署
- 冬季华丽回潮 试着搭配毛茸茸皮草
- 计算机重装系统知识,想学重装系统要怎么做?重难点知识讲解,零基础照样能够装系统!...
- 建立手机平台的产品线
- 新一代亚马逊电子书阅读器Kindle Paperwhite全球同步上市
- 某图书管理系统的类图
- python学习之自动化运维(一):shell的使用
- GMSSL :SM2椭圆曲线公钥密码算法——数字签名算法4
- opencv 锐化 java_Java Opencv 实现锐化
- 6.aync和await的原理及实现
- usd to php exchange,USD to PHP
- layui 的简单使用
- fm调制matlab仿真,matlab fm调制仿真.doc
热门文章
- 在本地计算机无法启动windows audio,Windows Audio服务无法启动的解决方法
- Thread.start() ,工作这么久,还不知道它是怎么让线程跑起来的!
- 盘点: IT行业五大热门职位
- vsftp匿名访问目录_vsftpd配置禁用匿名用户并设置登陆用户
- codeforce B. Misha and Changing Handles
- 接上篇 jquery.form.js 的 $.ajaxForm()和 $.ajaxSubmit()
- Tess4j maven demo
- Java 验证码识别(Tess4J初体验)
- java计算机毕业设计计算机组成原理教学演示软件源程序+mysql+系统+lw文档+远程调试
- API与Ui集成新趋势下的RPA:海外厂商领先一步,国产厂商现状如何