论文下载
bib:
@inproceedings{chenduan2016infogan,
author = {Xi Chen and Yan Duan and Rein Houthooft and John Schulman and Ilya Sutskever and Pieter Abbeel},
title = {InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets},
booktitle = {NIPS},
year = {2016},
pages = {2180--2188}
}
This paper describes InfoGAN, an information-theoretic extension to the Generative Adversarial Network that is able to learn
disentangled representations
in a completely unsupervised manner. InfoGAN is a generative adversarial network that also maximizes the mutual information between a small subset of the latent variables and the observation. We derive a lower bound of themutual information
objective that can be optimized efficiently. Specifically, InfoGAN successfully disentangles writing styles from digit shapes on the MNIST dataset, pose from lighting of 3D rendered images, and background digits from the central digit on the SVHN dataset. It also discovers visual concepts that include hair styles, presence/absence of eyeglasses, and emotions on the CelebA face dataset. Experiments show that InfoGAN learns interpretable representations that are competitive with representations learned by existing supervised methods.
本文描述了InfoGAN,它是生成对抗网络的一个信息论扩展,能够以完全无监督的方式学习
解耦表征
。InfoGAN是一个生成式对抗网络,它也能最大化一个小子集的潜在变量与观测值之间的互信息。我们得到了一个可以有效优化的互信息
目标的下界。具体来说,InfoGAN成功地从MNIST数据集的数字形状中分离出书写风格,从3D渲染图像的照明中分离出姿势,从SVHN数据集的中心数字中分离出背景数字。它还发现了CelebA脸部数据集上的视觉概念,包括发型、是否戴眼镜和情绪。实验表明,InfoGAN学习的可解释表示与现有的有监督学习方法学习的表示具有竞争性。
本文是一种GAN
模型的变体,旨在学习一种可解释特征。
Single latent units are sensitive to changes in single generative factors, while being relatively invariant to changes in other factors.
解耦表征学习是一个方向,意在获取一个表征,其中一个维度的变化对应于一个变化因子的变化, 而其他因子相对不变。关于disentangled representations, 可以参见博客。现在我的理解是,原本GAN对于一个潜在变量只能完成随机的生成任务,因为辨别器只能辨别生成器生成的图片是否为真实图片的二分类任务。在GAN的基础上,衍生出CGAN,即条件GAN,将标签带入生成。也就是辨别器不只是惩罚生成器不是真实图片的情况,还要惩罚生成图片不是对应标签的图片。按照现在的理解,InfoGAN更加进了一步,不只要控制生成图片的类别,还要控制生成图片的样式(style)。
这里不涉及具体的数学解释,只是一个粗略的理解。互信息是一个随机变量由于已知另一个随机变量而减少的不肯定性。举个栗子,X=今天下雨,Y = 今天是阴天,那么已知道今天是阴天,那么X(今天下雨的概率)会增加,增加的量就是两个变量之间的互信息。由此可知,互信息只存在于两个非独立的随机变量中。Z=今天看论文,X与Z之间就没有互信息,每天都要看论文,与今天的天气无关。
I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) (1) I(X; Y) = \sum_{x \in X}\sum_{y \in Y}p(x,y)\text{log}\frac{p(x,y)}{p(x)p(y)}\tag{1} I(X;Y)=x∈X∑y∈Y∑p(x,y)logp(x)p(y)p(x,y)(1)
standard GAN:
min G max D V ( D , G ) = E x ∼ p d a t a [ log ( D ( x ) ) ] + E z ∼ noise [ log ( 1 − D ( z ) ) ] (2) \min_{G}\max_{D}V(D, G) = \mathbb{E}_{x \sim p_data}[\log(D(x))] + \mathbb{E}_{z \sim {\text{noise}}}[\log(1- D(z))] \tag{2} GminDmaxV(D,G)=Ex∼pdata[log(D(x))]+Ez∼noise[log(1−D(z))](2)
infoGAN:
min G max D V ( D , G ) − λ I ( c ; G ( z , c ) ) (3) \min_{G}\max_{D}V(D, G) - \lambda I(c; G(z, c))\tag{3} GminDmaxV(D,G)−λI(c;G(z,c))(3)
tips:
infoGAN不同的地方在于添加了一个互信息正则,旨在保证G的生成满足潜在变量c的语义,这个是在标准GAN中没有的(标准GAN是随机生成,没有具体语义)。
对于这个互信息正则才是这篇论文的工作核心。其实互信息只是其中一种方法,只是在这里用到了,说到底只要是能惩罚生成 G ( z , c ) G(z, c) G(z,c)与规定语义 c c c之间的不同就可以。
在博客中,我还找到上面这个图, 原论文中没有这个图,没有去探究出处。由此, Q Q Q就是设计互信息正则的关键。