美文网首页
infoGAN解析

infoGAN解析

作者: zhouycoriginal | 来源:发表于2019-08-02 14:43 被阅读0次

传统GAN的输入是一串连续的噪声z,导致GAN无法将z所要表达的语义信息与目标数据联系起来,而infoGAN很好的解决了这个问题:利用互信息,将输入G的信号经行约束,产生可解释的样本(传统GAN产生的样本比较随机,不具有可解释性),可以理解为找到输入的噪声与目标样本之间的相互联系

infoGAN的一个大框架为:


infoGAN

整个框架由3部分组成:生成器G,判别器D和潜变量判别器Q,其中D和Q共享一套参数,除了最后一层全连接层不一样之外。
具体的:

  1. 论文在原始GAN的基础之上,加入了一个潜变量c,使得c与生成的样本具有较高的互信息,z则为普通的噪声数据
  2. 生成器G接受2个输入c和z,其中c可以包含2中不同的潜变量编码(latent code),举个例子如MNIST数据集:c包含2部分,一部分是0~9的离散数据编码,控制G生成的数字,另一部分是2个连续性编码,可以认为是控制字体;D和传统GAN的判别器功能差不多,而Q负责判别潜变量

1. 互信息

infoGAN主要使用到了互信息,来达到生成样本可解释性的目的。在概率论和信息论中,两个随机变量之间的互信息(Mutual Information),是变量间相互依赖性的度量,互信息并不局限于实值随机变量,他更加一般的决定着联合分布P(X,Y)和边缘分布的乘积P(X)P(Y)的相似程度

独立的(H(X),H(Y)), 联合的(H(X,Y)), 以及一对带有互信息 I(X; Y) 的相互关联的子系统 X,Y 的条件熵。

1.1 定义:两个随机变量X,Y的互信息可以定义为

I(X;Y) = \sum\limits_{y\in{Y}}\sum\limits_{x\in{X}} p(x,y)\log\frac{p(x,y)}{p(x)p(y)} =H(Y)-H(Y|X)=H(X)-H(X|Y)
其中p(x,y)X,Y的联合概率分布函数,p(x),p(y)X,Y的边缘概率分布函数

2.潜变量(latent code)

生成器G接受2个输入:潜变量c和噪声z,文章提出c对应于语义变量,由多个子变量组成:c_1,c_2,...c_n,这些子变量相互独立,那么可以得到:
p(c_1,c_2,...c_n)=\prod\limits_{i=1}^{n}p(c_i)
引出一个问题:如果对G之间输入z和c,可以表示为G(z,c),那么c的作用将会被忽略掉,因为c和z是独立的,即P_{G}(X|C)=P_{G}(X),为了解决这个问题,文章提出了正则化约束项,认为c与G(z,c)的互信息量应该较大,即I(X;Y)\Rightarrow I(c;G(z,c))也应该比较大才是,于是作者在原始GAN的损失函数的基础上,提出加入正则化约束项:
\min\limits_{G}\max\limits_{D} V_{G,D}=V_{D,G}-\lambda I(c;G(z,c))
此处增加了一个相当于对互信息的惩罚项

3 公式推导及优化

在实践中,如果直接最大化I(c;G(z,c))则很难,因为需要求解后验概率P(C|X), 于是可以定义Q(c|x)来逼近P(c|x),从而获得p(c|x)的变分下界。
假设:
L_1{G,Q}=E_{c-p(c), x-G(z,c)}[\log Q(c|x)]+H(c), 根据作者后面的一大堆证明可以得到:
I(c;G(z,c)) \geqslant L_{1}(G,Q)
进而可以推导出:
\min\limits_{G,Q}\max\limits_{D} V_{infoGAN}=V_{D,G}-\lambda L_1{G,Q}
其中,L_{1}(G,Q)=E_{c-p(c),x-G(z,c)}[\log Q(c|x)]+H(C)

inforGAN的pytorch实现:
https://github.com/HCMY/DeepLearningPractice/blob/master/GAN/infoGan.py

相关文章

  • infoGAN解析

    传统GAN的输入是一串连续的噪声z,导致GAN无法将z所要表达的语义信息与目标数据联系起来,而infoGAN很好的...

  • InfoGAN解读

    InfoGAN的概念最早来自论文InfoGAN: Interpretable Representation Lea...

  • InfoGAN

    论文: InfoGAN: Interpretable Representation Learning byInf...

  • InfoGAN

    一、从GAN到InfoGAN 1.GAN存在的问题 GAN通过生成器与判别器的对抗学习,最终可以得到一个与real...

  • infoGAN

    InfoGAN的发布时间应该在是DCGAN之后没多久,可以算是在大部分的GAN模型的前面的。时间上看,InfoGA...

  • InfoGAN: Interpretable Represent

    InfoGAN:通过信息最大化的生成对抗网络进行的可解释表示的学习 摘要:这篇论文描述了InfoGAN,一种对于对...

  • InfoGAN: Information Maximizing

    [toc] 1. InfoGAN: Interpretable Representation Learning b...

  • InfoGAN: Interpretable Represent

    Abstract 本文介绍了InfoGAN,它是一种对生成对抗网络的信息理论扩展,能够以完全无监督的方式学习...

  • BiGAN及InfoGAN

  • InfoGAN-无监督式GAN

    1. InfoGAN简介: 普通的GAN存在无约束、不可控、噪声信号z很难解释等问题,2016年发表在NIP...

网友评论

      本文标题:infoGAN解析

      本文链接:https://www.haomeiwen.com/subject/jphldctx.html