infoGAN阅读

Abstract:

本文介绍了InfoGAN,它是一种对生成对抗网络的信息理论扩展,能够以完全无监督的方式学习特征分离表示。 InfoGAN也是一个生成对抗网络,最大化潜在变量的一小部分与观察(生成)结果之间的相互信息。我们得出可以有效优化的互信息目标的下限。 具体来说,InfoGAN成功地将MNIST数据集上的数字形状的写作风格,3D渲染图像的照明姿势,以及SVHN数据集中央数字的背景分离。它还发掘包括发型,是否存在眼镜和CelebA面部数据集上的情感等视觉概念。实验表明,InfoGAN可以学习与现有监督方法学习的表征具有竞争力的可解释性表征。

1 Introduction:

无监督学习一般可以被描述为从大量存在的未标记数据中提取价值的问题。无监督学习的流行框架是表征学习,其目标是使用未标记的数据来学习将重要语义特征暴露为易于解码的要素的表示。学习这种表征的方法是可能存在的,并且对于许多下游任务(包括强化学习中的分类,回归,可视化和策略学习)是有用的。

虽然无监督的学习是病态的(不一定正确)的,因为相关的下游任务在训练时期是未知的,但是特征分离的表示(一个数据实例的显著属性的明确表示)应该对相关但未知的任务有帮助。例如,对于面部数据集,有用的分解的表示可以为以下每个属性分配一组单独的维度:面部表情,眼睛颜色,发型,眼镜的存在与否以及相应人物的身份。特征分离的表示对于需要知道数据的显着属性的自然任务可能是有用的,其中包括面部识别和对象识别等任务。这不是非自然的监督任务,例如其目标是确定图像中的红色像素的数量是偶数还是奇数。因此,为了有用,无监督学习算法必须实际上有效地猜测可能的一组下游分类任务而不直接把所有特征都给它们。

无监督学习研究的很大一部分是由生成模型驱动的。这是由于相信生成或“创造”观察到的数据需要某种形式理解的能力,希望一个良好的生成模型将自动学习一个特征分离的表示,即使很容易构建完美生成模型却具有随机不好的表示的。最突出的生成模型是变分自动编码器(VAE)[3]和生成对抗网络(GAN)

在本文中,我们对生成对抗网络目标进行了简单的修改,鼓励其学习可解释和有意义的表示。我们通过最大化GAN噪声变量的固定小子集与观测值之间的互信息来实现,这一点相对简单。尽管它很简单,我们发现我们的方法是惊人的有效:它能够在许多图像数据集中发现高度语义和有意义的隐藏表示:数字(MNIST),面孔(CelebA)和房屋号码(SVHN)。我们无监督的特征分离表示的质量与先前使用监督标签信息的作品相比较,这些结果表明,增加互信息成本的生成模型可能是学习特征表示的有效途径

在本文的其余部分,我们首先对相关工作进行审查,并注意到以前用于学习特征分离表示的方法所需要的监督。然后我们回顾GAN,它是InfoGAN的基础。我们描述如何最大化互信息来实现可解释的表示,并导出一个简单而有效的算法。最后,在实验部分中,我们首先将InfoGAN在相对干净的数据集上与先前方法进行比较,然后显示InfoGAN可以在复杂数据集上学习可解释的表示,其中没有已知的无监督方法可以学习到与我们可比质量的表示。

2 Related work

现在存在大量关于无监督表示学习的工作。早期的方法是基于栈式(通常是去噪)自动编码器或限制玻尔兹曼机。很多有前景的近期工作源自Skip-gram模型[14],这启发了跳过-思想向量[15]和几种图像无监督特征学习技术[16]。

另一个有趣的工作包括阶梯网络[17],它在MNIST数据集的半监督变体上取得了惊人的成果。最近,基于VAE的模型在MNIST上实现了更好的半监督结果[18]。 Radford等人已经使用GAN [4]来学习支持代码空间上的基本线性代数的图像表示。 Lake et al已经能够使用对贝叶斯计划的概率推理来学习表示,这在OMNI数据集上实现了令人信服的一次性学习结果。

此外,先前的研究试图使用监督数据来学习特征分离表示。一类这样的方法使用监督学习训练表示的一部分来匹配所提供的标签:双线性模型分离样式和内容; 多视觉感知器[22]分离面部身份和观点; 和杨等人开发了一种产生潜伏因子转化序列的复发变体。 类似地,VAE [5]和对抗自动编码器[9]被用于学习特征表示,其中类标签与其他变体分离。最近开发了几种弱监督方法来消除明确标记变量的需要。disBM [24]是一种更高阶的玻尔兹曼(Boltzmann)机,它通过对一对数据点进行“钳位”隐藏单元的一部分来学习解调表示,这些数据点在除了一个变化因素之外与已知匹配。 DC-IGN [7]将这种“夹紧”理念扩展到VAE,并成功地学习了可以在3D渲染图像中表示姿态和光的图形代码。这一系列工作产生了令人印象深刻的成果,但它们依赖于通常不可用的数据的监督分组。惠特尼等人 [8]提出通过从连续的图像帧学习并使用时间连续性作为监控信号来减轻分组要求。

不同于以前努力恢复分离表示的作品,InfoGAN不需要任何形式的监督。据我们所知,唯一的其他无监督方法学习解卷积的方法是hossRBM [13],一种限制玻尔兹曼机的高阶扩展可以在多伦多面部数据集[25]上解析出情感与身份[25]]。然而,hossRBM只能分离开离散潜在因素,其计算成本在多个因素中呈指数增长。 InfoGAN可以分离离散和连续的潜在因素,扩展到复杂的数据集,通常不需要比常规GAN更多的培训时间。

3 Background: Generative AdversarialNetworks

生成对抗网络为了学习数据X在生成器上的生成数据分布Pg,我们首先定义一个噪声分布Pz(z),然后用G(z; θg)表示从噪声到生成数据的映射,其中G表示生成模型,z表示输入的噪声分布,θg表示生成器的参数。再定义一个D(x, θd)用来判别数据x是来自于真实数据分布而不是生成器生成的数据分布的概率,或者用来判别数据x是否来自于真实数据分布的映射,结果表示一个概率。如果输入判别模型的数据来自于真实数据,我们将其标记指派为1,如果输入判别模型的数据来自于Pg,我们将其标记指派为0。在训练过程中,固定一方的权重训练另一个,我们训练D以最大化将正确标签分配给Pg和真实数据样本的概率。同时,我们训练G最小化log(1- D(G(z)))以产生最有可能被判别器判别为真实数据的生成数据。整个训练过程可以看成是以下公式优化的过程:

minGmaxD V (D;G) = Ex~pdata(x)[logD(x)] + Ez~pz(z)[log(1- D(G(z)))]    (1)

 

4 Mutual Information for Inducing LatentCodes

GAN公式使用简单的因子连续输入噪声向量z,而不对生成器可能使用该噪声的方式施加限制。结果,生成器可能以高度纠缠(?)的方式使用噪声,导致z的各个维度不对应于数据的语义特征。

然而,许多领域自然而然地分解成一组具有语义意义的变量因子。 例如,当从MNIST数据集生成图像时,如果模型自动选择分配一个离散随机变量来表示数字(0-9)的数字标识,选择两个数字代表具有的角度和数字笔画的厚度。在这种情况下,这些属性是独立的和显著的,如果我们可以通过简单地从独立的1到10变量和两个独立的连续性变量恢复MNIST数字,那么这些属性就是有用的。

在本文中,我们提出将输入噪声向量分成为两部分:(i)z,被视为不可压缩噪声源;(ii)c,我们将其称为潜在代码,其目的在于数据分布的显著结构化语义特征。

5 Variational Mutual InformationMaximization

6 Implementation

并且,我们还发现infoGAN收敛的速度比常规GAN要快,因此可以看成infoGAN是GAN免费提供的。

对于分类潜在代码ci,我们使用softmax非线性的自然选择来表示Q(ci | x)。对于连续潜在代码cj,根据真正的后验概率P(cj | x),有更多的选项。在我们的实验中 ,我们发现简单地将Q(cj | x)作为因子高斯来处理就足够了。

即使InfoGAN引入了一个额外的超参数,对于离散的潜在代码,它很容易调整,简单地设置为1就足以。当潜伏码包含连续变量时,较小的λ通常用于确保LI(G,Q)的微分熵的与GAN目标的规模相同。

由于GAN知道难以训练,我们基于DC-GAN介绍的现有技术设计实验,这些技术足以稳定InfoGAN训练,而且我们不必引入新的技巧。详细的实验设置见附录。

7 Experiments

我们的实验的第一个目标是调查相互信息是否可以有效地最大化。 第二个目标是评估如果InfoGAN可以通过利用生成器来一次只改变一个潜在因素来学习分离和可解释的表示,以便评估如果这样的变化因素仅导致生成的图像中的一种类型的语义变化。 DC-IGN [7]也使用这种方法评估他们在3D图像数据集上的学习表示,我们也应用InfoGAN建立直接比较。

7.1 MutualInformation Maximization

为了评估潜在代码c和生成的图像G(z,c)之间的互信息是否可以通过提出的方法有效地最大化,我们在MNIST数据集上训练InfoGAN,对潜在代码c进行统一的分类分布c~Cat(K = 10,p = 0.1)。在图1中,下限LI(G,Q)快速最大化为H(c)~~2.30,这意味着下限快速紧密绑定到最大的相互信息。

作为基准,当没有明确促使生成图像与潜在代码最大化互信息时,我们还训练具有辅助分布Q的常规GAN。由于我们使用表达神经网络对Q进行参数化,我们可以假设Q可以合理地近似真实的后验概率P(c | x),因此在常规GAN中潜隐码和生成图像之间几乎没有相互信息。我们注意到,使用不同的神经网络架构,即使我们在实验中没有观察到这种情况,潜在代码和生成的图像之间可能存在更高的相互信息。这种比较是为了证明在常规GAN中,不能保证生成器将利用潜在的代码。

7.2 DisentangledRepresentation

为了从MNIST上的样式分离数字形状,我们选择使用一个分类代码c1对潜在代码进行建模。C1~Cat(K = 10,p = 0.1),可以模拟数据中的不连续变化,以及可以捕获本质上连续变化的两个连续代码:c2,c3~ Unif(-1,1)。

在图2中,我们显示离散码c1捕获形状的剧烈变化。更改分类代码c1在大多数时间之间可以切换数字。事实上,即使我们刚刚训练没有任何标签的InfoGAN,c1也可以用作分类器,通过将c1中的每个类别与数字类型进行匹配来实现对MNIST数字进行分类的5%错误率。在图2a的第二行,我们可以观察到一个数字7被分类为9。

连续代码c2,c3捕获样式的连续变化:c2控制旋转数字和c3控制宽度。 令人惊奇的是,在这两种情况下,生成器不仅仅是拉伸或旋转数字,而是调整其他细节,如厚度或笔触样式,以确保所得到的图像是自然的。作为检查InfoGAN学习的潜在表示是否是可概括的测试,我们以夸张的方式操纵潜在代码:而不是将潜在代码从-1映射到1,我们把它从-2映射到2,覆盖了一个广泛的地区,网络从来没有接受过训练,我们仍然有意义的泛化。

接下来,我们对3D图像的两个数据集(面部[31]和椅子[32]]评估InfoGAN,这是DC-IGN显示学习高度可解释的图形代码的数据集。

在面部数据集上,DC-IGN通过使用监督学习将潜在因素表示为方位角(姿势),仰角和照明作为连续潜在变量。使用相同的数据集,我们展示了InfoGAN学习了一个解开的表示,可以恢复同一数据集上的方位角(姿态),高程和照明。在这个实验中,我们选择用五个连续代码对潜在代码进行建模,Ci~Unif(-1,1)与1<=i<=5。

由于DC-IGN需要监督,以前无法学习未标记的变体的潜在代码,因此无法从数据中自动发现显着的潜在变异因素。相比之下,InfoGAN能够自己发现这样的变化:例如,在图3d中,即使在以前的工作中既不明确地生成或标记了该变量,也会学习将面部从宽到平滑地变化为窄的潜在代码。

在椅子数据集上,DC-IGN可以学习代表旋转的连续代码。 InfoGAN再次能够学习与连续代码相同的概念(图4a),另外InfoGAN还可以使用单个连续代码连续插入不同宽度的类似椅子类型(图4b)。在本实验中,我们选择用四个分类代码c1,c2,c3,c4对潜在因子进行建模。Ci~(K = 20,p = 0.05)和一个连续码c5~Unif(-1,1)。

接下来,我们对StreetView House Number(SVHN)数据集进行评估InfoGAN,因为它是嘈杂的,因为它含有可变分辨率和分心的数字的图像,因此学习一个可解释的表示更具挑战性,并且它没有相同的多个变体在本实验中,我们利用四个10维分类变量和两个均匀连续变量作为潜在代码。我们在图5中显示了两个学习的潜在因素。

最后,我们在图6中显示,InfoGAN能够在另一个具有挑战性的数据集上学习许多视觉概念:CelebA [33],其中包含200,000名具有较大姿态变化和背景混乱的名人图像。在这个数据集中,我们将潜在变量建模为10个统一的分类变量,每个维度都是10。令人惊讶的是,即使在这个复杂的数据集中,InfoGAN也可以像3D图像那样恢复方位角,即使在这个数据集中,多个姿势位置没有单个面。此外,InfoGAN可以解决其他高度语义的变化,如存在或不存在眼镜,发型和情感,表明在没有任何监督的情况下获得一定程度的视觉理解。

8 Conclusion

对于所有实验,我们使用Adam[3]进行在线优化,并在大多数层之后应用批量归一化[4],其细节为每个实验指定。我们使用发生器网络的上卷积算法[5]。我们使用泄漏率为0.1的泄漏整流线性单元(lRELU)[6]作为偏振器网络隐层的非线性,以及发电机网络的正常整流线性单元(RELU)。除非另有说明,D的学习率为2e-4,G为1e-3; ?对于离散潜码,我们在识别网络输出中对应的单位应用softmax非线性。对于连续潜码,我们通过对角高斯分布对近似后验进行参数化,识别网络输出其平均值和标准偏差,其中通过网络输出的指数变换参数化标准偏差,以确保积极性。每组实验的细节如下。

你可能感兴趣的:(deep learning)