文档章节

学习笔记GAN003:GAN、DCGAN、CGAN、InfoGAN

利炳根
 利炳根
发布于 2017/09/09 14:03
字数 1149
阅读 17
收藏 0

​GAN应用集中在图像生成,NLP、Robt Learning也有拓展。类似于NLP中的Actor-Critic。 https://arxiv.org/pdf/1610.01945.pdf

Generative Adversarial Nets。构建两个网络,一个G生成网络,一个D区分网络。训练,G网络loss log(1-D(G(z))),D网络loss -(log(D(x))+log(1-D(G(z))),不是Cross Entropy。数据输入,G网络输入noise。D输入混合G输出数据及样本数据。

G网络训练,D(G(z))趋近于1,G loss最小。D网络训练 2分类,分清真实数据和生成数据,真实数据D输出趋近1,生成数据输出D(G(z))趋近0。

目标,生成数据分布和实际分布相同。D开始训练,分类能力有限,有波动,初步区分实际数据和生成数据。D训练较好,明显区分生成数据,生成数据概率下降。G网络提升,影响D分布。G网络不动,训练D,训练最优,Dg*(x)=pdata(x)/(pdata(x)+pg(x)) 。pg(x)趋近pdata(x),Dg*(x)趋近0.5,G网络、D网络处于平衡状态。网络训练最终收敛到pg(x)=pdata(x)。

G、D同步训练,G训练一次,D训练k次。D训练同量输入生成数据和样本数据计算loss(不是cross entropy分开计算)。cross entropy使D(G(z))为0,导致没有梯度,无法更新G。GAN D(G(z))最终收敛到0.5。G网络用RELU、sigmoid,D网络用Maxout和dropout。-log(D(G(z)))代替log(1-D(G(z))),训练开始加大梯度信息,整个GAN不是完美零和博弈。

GAN可以任意采样,可以使用任意可微模型(任意神经网络)。GAN生成图像更Sharp,work更好,值得推广。不好训练。confitional GAN,半监督学习。

DCGAN,使用卷积神经网络,实现有效训练,拓展维度。去掉G网络D网络的pooling layer。在G网络D网络中使用Batch Normalization。去掉全连接隐藏层。G网络最后一层用Tanh,其它层用RELU。D网络每层用LeakyRELU。

DCGAN网络模型:G网络,100 z->fc layer->reshape->deconv+batchNorm+RELU(4)->tanh64X64。D网络,版本1,conv+batchNorm+leakyRELU(4)->reshape->fc layer 1->sigmoid。D网络,版本2,conv+batchNorm+leakyRELU(4)->reshape->fc layer 2->softmax。 G网络4层反卷积,D网络4层卷积。G网络D网络反结构。D网络最终输出,一种方法,sigmoid输出0到1间单值作概率;另一种方法softmax输出两个值,真概率、假概率。 https://github.com/carpedm20/DCGAN-tensorflow https://github.com/sugyan/tf-dcgan

GAN训练后网络特征表达。DCGAN+SVM做fifar-10分类实验。D网络每层卷积通过4x4 grid max pooling 获取特征,连起来得28672向量,SVM,效果比K-means好。DCGAN用在SVHN门牌训练,效果不错。D网络无监督学习到有效特征信息。 G改变z向量,生成不同的图片。z向量线性加减,输出新图像。z向量对应特别特征。G网络无监督学习特征表达。 BEGAN生成超级逼真图像。

CGAN(Conditional Generative Adversarial Nets)。数字字段生成,输入数字,输出对应字体。G网络输入 z连接输入y。D网络输入 x连接y。minGmaxDV(D,G)=Ex~pdata[logD(x|y)]+Ez~pz(z)[log(1-D(G(z|y)))]。 GAN无监督变有监督,输入分类,输出图像。 MNIST字体生成,图像多标签。MNIST字体生成,输入数字,输出对应字体。数字one hot处理,5 对应one hot [0,0,0,0,0,1,0,0,0,0]。和100维z向量串联输入。训练调整z向量,改变输出,解决多种输出问题。输出不同形状字体。

InfoGAN,无监督CGAN。信息论,mutual information互信息。G网络输入z+c变量。c与G网络输出x 互信息最大化。神经网络训练c与输出关系。mutual information定义: I(c,G(z,c))=Ec~p(c),x~G(z,c)[logQ(c|X)]+H(c)。H为c的entropy熵,log(c)*c,Q网络基于X输出c。基于I,GAN训练目标:minGmaxDV(D,G)=λI(c,G(z,c))。网络改变:D网络输入只有x,不加c。Q网络D网络共享同一网络,最后一层独立输出。

参考资料: https://zhuanlan.zhihu.com/p/27012520

欢迎付费咨询(150元每小时),我的微信:qingxingfengzi

我创建GAN日报群,以每天各报各的进度为主。把正在研究GAN的人聚在一起,互相鼓励,一起前进。加我微信拉群,请注明:加入GAN日报群。

© 著作权归作者所有

共有 人打赏支持
利炳根
粉丝 11
博文 60
码字总数 136346
作品 0
深圳
私信 提问
常见的生成式对抗网络(GAN\InfoGAN\BEGAN等)及tensorflow实现

版权声明:请注明出处,可以随意转载 https://blog.csdn.net/qq_39521554/article/details/84675582 代码在我的GITHUB:https://github.com/Y1ran/GAN-Network-Library-Tensorflow 下载使用前......

刺客五六柒
2018/12/01
0
0
ST-CGAN 用GAN实现阴影检测和阴影去除

最近两天刚看到的论文,写一篇文章当做笔记 继去年底Phillip Isola,Jun-Yan Zhu等人提出pix2pix框架以来,image translation的应用引起了大家的重点关注,相应的github仓库更是获得了高达400...

月如辰
2017/12/13
0
0
深度卷积对抗生成网络(DCGAN)

本文是参考文献[1]的论文笔记。 卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起...

xinzhangyanxiang
2016/12/25
0
0
(转)【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地

【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地 【新智元导读】“生成对抗网络是切片面包发明以来最令人激动的事情!”LeCun前不久在Quroa答问时毫不加掩饰对生成对抗网络的喜爱...

wangxiaocvpr
2016/10/16
0
0
Pix2Pix-基于GAN的图像翻译

语言翻译是大家都知道的应用。但图像作为一种交流媒介,也有很多种表达方式,比如灰度图、彩色图、梯度图甚至人的各种标记等。在这些图像之间的转换称之为图像翻译,是一个图像生成任务。 多...

xinzhangyanxiang
2017/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
2
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部