IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 李宏毅机器学习GAN的笔记 -> 正文阅读

[人工智能]李宏毅机器学习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的原理了

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:54:55  更:2022-01-28 11:55:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 23:55:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码