阅读小结:InfoGAN:Interpretable Representation Learning by Information Maximising Generative Adversarial

原创 2016年09月08日 19:56:11

之前GAN中都没有加入分类信息,都是耍流氓啊。用原始maxD的时候,G学到的容易收敛到一个固定图像。

而用feature matching的话,相同向量可能每次match的都不同,这怎么regression啊,摔  (也可能我是用姿势不对,但有多类的feature matching不靠谱啊)


What:

1.通常GAN把一个随机噪声向量z生成为一张图像。z可能从一个 0到1的随机采样构成。

2.这样连累了GAN中的每个值的作用

- 因为即使你改了向量中一个值,对生成图片的影响也是很小的。一定要改变很多个值去影响生成的结果。

- 每个值应该是有实际含义的(即文题中的interpretable,可翻译的),理想情况下,每个值应该都有物理含义,比如在人脸生成任务中,一个值控制眼睛的颜色,一个控制头发的长度等等。 (类似分类最后fc的每个值都有含义的,虽然定义不了)

3.所以作者建议对GANs基于共同信息(mutual information)的改进,将会得到有意义的向量元素(每个值)


How

1.潜在编码 latent code c

- 原来的GAN G的输出为 G(z) 现在改为 G(z,c)

- c可以包含多种变量,根据不同的分布,比如在MNIST中,c可以一个值来表示类别,一个高斯分布的值来表示手写体的粗细


2.共同信息 mutual information

- 如果使用潜在编码c,其实没有监督让网络去使用c。它就往往会被忽略。

- 为了避免这种情况,作者定义了一个熵。作为衡量X,Y两个变量之间 mutual information的程度

 I(X;Y) = entropy(X) - entropy(X|Y) = entropy(Y) - entropy(Y|X)  这个值就像条件概率,X,Y互相独立的话,这个值应该等于0.

-新的loss被定义为 old loss - lamda* I(G(z,c);c)  

我们需要增大生成出来的图像 与 类别c的关联。所以I(G(z,c);c)  的目标是变大。


3. variational mutual information maximisation

有一串公式。。。大概就是用一个网络从 G(z,c) 来regress c  可以和D是同一个网络,最后分个叉来回归c。


我简单模仿了一下,在输入向量中加了分类信息,github地址为:https://github.com/layumi/2016_GAN_Matlab  欢迎fork star  ~~


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

InfoGAN介绍

InfoGAN介绍 GAN网络是是一种无监督的生成模型,能够利用已有的样本集进行训练,生成与源域样本集相似的样本。GAN模型有两部分组成,一个是样本生成器G,一个是样本来源判别器D。生成器G希望生成...

深度学习(四十八)InfoGAN学习笔记

本文是本人阅读《InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversar...
  • hjimce
  • hjimce
  • 2017-02-18 11:10
  • 3924

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Infogan-信息最大化生成对抗网络(理论部分)

对抗生成网络(GAN)和贝叶斯变分自编码是最为主要的两种数据生成模型,目前的生成对抗网络的一些改良技术已经实现了非常逼真的图像link。 此外生成模型也是非监督学习的主要驱动力之一,假若人工神经网络...

infoGAN阅读

Abstract: 本文介绍了InfoGAN,它是一种对生成对抗网络的信息理论扩展,能够以完全无监督的方式学习特征分离表示。 InfoGAN也是一个生成对抗网络,最大化潜在变量的一小部分与观察(生成...

InfoGAN介绍

今天给大家分享的是NIPS2016的InfoGAN。这篇paper所要达到的目标就是通过非监督学习得到可分解的特征表示。使用GAN加上最大化生成的图片和输入编码之间的互信息。最大的好处就是可以不需要监...

我眼中的云---为什么叫“云”计算

我们都大概知道了云计算的内涵,但为什么这样的计算不叫A计算或者B计算呢?集群计算,网格计算,效用计算,公用计算都能从字面上就很好的理解,而云计算能从字面上怎么理解呢?其实有些概念,有些叫法,真的去深究...

Keras(1) GAN代码分析

源代码: def minb_disc(x): diffs = K.expand_dims(x, 3) - K.expand_dims(K.permute_dimensions(x...

生成式对抗网络GAN研究进展(四)——Laplacian Pyramid of Adversarial Networks,LAPGAN

【前言】     本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展。...

带标签的infogan及其代码解析

如前所述,infogan的提出的目标在于非监督生成模型,然而我们人类总是对数据有一些确定的知识(如图片表达得数字为几之类的),如果将这些确定的知识结合infogan进行半监督的学习,生成的数据的效果必...

阅读小结:Unsupervised Representation with Deep Convolutional Generative Adversarial Networks

What CNN应用于无监督学习。将这种CNN称为DCGANs 1.提出和评估了DCGANs 有一些结构上的限制,让他可以stable的去训练。 2.利用图像分类任务训练的discriminator,...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)