InfoGAN 网络训练过程介绍

一、InfoGAN是什么
简单的讲,就是一种常见的GAN,是在普通的GAN的基础上增加Q网络,可以通过无监督学习的方式学到生成的数据的类别。

二、小故事
小D是一个很喜欢吃饺子的姑娘,喜欢吃不同的馅的饺子,而且对于饺子的要求十分高,尤其喜欢B城的一家饺子店的饺子,但是由于长期身在A城,没有办法吃到B城的饺子。
而她的男朋友小G和她是异地,而且恰好是在B城,是一个非常宠她的小伙子,经常为了让她吃到满意的饺子,不断的尝试制作出和B城的饺子店一模一样的饺子。在每一次做完饺子之后,都会再去买一份小D爱吃的那家店的饺子,然后不辞千里给小D送去,让小D猜测哪个是他包的饺子,哪个是饺子店的饺子。终于,起初,小D总会一下子就能够分辨出来,终于,功夫不负有心人,有一天,小D已经分不出哪个是小G做的饺子哪个是饺子店的饺子了,因为它们都一样好吃了。
故事讲到了这里,并没有结束,哈哈,毕竟好吃的除了男朋友,总少不了好闺蜜嘛,小D的好闺蜜叫小Q,不论是三观还是喜好都和小D保持高度一致,同样也喜欢吃B城的那家店的饺子,唯一不同的是,每次吃饺子的时候,都喜欢加点醋,但是,她拥有一个超能力,那就是,虽然不同馅的饺子的外形差异很细微,但是她是他们三个中唯一一个能够分辨出不同馅的饺子的样子的差异的人,而小D和小G并做不到这一点,经常吃一口才知道是什么馅的。
好啦,故事讲到这里,就该结束了,其他细节请见下次分享。

三、InfoGAN网络结构
1、判别器(Discriminator)
小D:她的作用是判别饺子店的饺子和男朋友的饺子之间是否有差异的。
而对于InfoGAN来说,就是判断real data (x)和生成器生成的fake data (G(z))之间的差异有多少。
2、生成器(Generator)
小G:他的作用是不断的提高自己的造假能力,知道他做出的不同馅的饺子小D分辨不出来是他做的还是饺子店做的为止。
而对于InfoGAN来说,生成器就是利用噪声z和latent code c来进行生成仿真的数据,直到判别器无法分辨出数据到底是来自真实的数据x还是生成的数据G(z)为止。
3、分类器
小Q:她的作用是为了分辨出不同馅的饺子的差异,饺子上是没有标记的。
而对于InfoGAN来说,Q网络是和D网络公用除了最后一层之外的其他所有的层的,它是为了分辨出数据之间的类别是什么,比如什么馅的饺子。
4、GAN
只有D网络和G网络的就是普通的GAN啦,这两个网络之间不断的进行博弈,直到G网络学会的fake data和real data是D网络分辨不出来的为止。
5、网络结构图
InfoGAN 网络训练过程介绍_第1张图片

论文链接:
https://arxiv.org/pdf/1606.03657.pdf

之前写过的一个简单的InfoGAN的介绍:http://blog.csdn.net/superyr_210/article/details/78444735

本文原创,如有不当之处欢迎指正,本文来自我的个人订阅号,欢迎扫码关注,或者直接搜索“这么巧你也有超能力”,进行关注。
InfoGAN 网络训练过程介绍_第2张图片

你可能感兴趣的:(GAN)