Adversarial Autoencoders

摘要

在本文中,我们提出了“对抗自编码器”(AAE),这是一种概率自编码器,它使用最近提出的生成式对抗网络(GAN),通过匹配自编码器的隐藏码向量的聚合后测值与任意先验分布来执行变分推理。将聚集的后验与先验匹配,可以确保从先验空间的任何部分生成有意义的样本。因此,对抗性自编码器的解码器学习一个深度生成模型,该模型在数据分布之前映射施加的数据。我们展示了对抗式自编码器如何在应用中使用,如半监督分类,解缠风格和图像内容,无监督聚类,降维和数据可视化。我们对MNIST、Street View House Numbers和Toronto Face数据集进行了实验,结果表明,对抗式自动编码器在生成建模和半监督分类任务中获得了竞争结果。

1 前言

构建可伸缩的生成模型来捕获音频、图像或视频等丰富的分布,是机器学习的核心挑战之一。直到最近,深度生成模型,如限制玻尔兹曼机器(RBM),深度信念网络(DBNs)和深度玻尔兹曼机器(DBMs)主要是由基于mcmc的算法训练[Hinton等人,2006,Salakhutdinov和Hinton, 2009]。在这些方法中,MCMC方法计算的对数似然梯度随着训练的进行变得越来越不精确。这是因为来自马尔可夫链的样本不能足够快地在不同模式之间混合。近年来,衍生模型被发展出来,可以通过直接反向传播的方式进行训练,避免了MCMC训练的困难。例如,变分自动编码器(V AE) [Kingma and Welling, 2014, Rezende et al., 2014]或重要性加权自动编码器[Burda et al., 2015]使用识别网络预测潜在变量的后向分布,生成对抗网络(GAN) [Goodfellow et al., 2014],2014]通过反向传播和生成矩匹配网络(GMMN)使用对抗性训练过程直接形成网络的输出分布[Li et al., 2015]使用矩匹配代价函数学习数据分布。

在本文中,我们提出了一种通用的方法,称为对抗自动编码器(AAE),它可以将自动编码器转换为生成模型。在我们的模型中,对自编码器进行了双重目标训练——传统的重构误差准则和对抗训练准则[Goodfellow等人,2014],该准则将自编码器的潜在表示的聚合后向分布匹配到任意的先验分布。我们证明了该训练标准与V AE训练有很强的联系。训练的结果是,编码器学习将数据分布转换为先验分布,而解码器学习一个深度生成模型,映射施加的数据分布之前。

在这篇文章中,我们提出了一种通用的方法,称为对抗性自动编码器(AAE),它可以将自动编码器转化为生成模型。在我们的模型中,自动编码器的训练有两个目标——传统的重建误差标准和对抗性训练标准[Goodfellow等人,2014],后者将自动编码器潜在表示的聚合后验分布与任意先验分布相匹配。我们表明,这种训练标准与垂直不良事件训练有很强的联系。训练的结果是编码器学习将数据分布转换为先验分布,而解码器学习将强加的先验映射到数据分布的深度生成模型。
Adversarial Autoencoders
图1:对抗式自动编码器的架构。最上面一行是一个标准的自动编码器,它从一个潜在代码z重构一个图像x。最下面一行描绘了第二个网络,该网络被训练来区别性地预测一个样本是来自自动编码器的隐藏代码还是来自用户指定的采样分布。

1.1 生成对抗网络

生成式对抗网络(The Generative Adversarial Networks, GAN) [Goodfellow et al., 2014]框架在生成模型G和判别模型d两个神经网络之间建立最小-最大对抗博弈。D(x)是一个神经网络,它计算数据空间中的点x是我们试图建模的数据分布(正样本)的一个样本,而不是生成模型(负样本)的一个样本的概率。同时,生成器使用一个函数G(z),它将样本z从先前的p(z)映射到数据空间。训练G(z)最大程度地使鉴别器误以为它产生的样本来自数据分布。利用D(x) w.r.t. x的梯度来训练生成器,并使用它来修改它的参数。这个游戏的解决方案可以表述如下[Goodfellow et al., 2014]:
公式【1】
利用交替SGD可以在两个阶段找到发生器G和鉴别器D: (a)训练鉴别器来区分发生器产生的真样本和假样本。(b)训练生成器,以便用其生成的样本欺骗鉴别器。

2 对抗性自动编码器

设x为具有深度编码器和解码器的自动编码器的输入,z为隐码向量(隐码单位)。设p(z)是我们想强加在编码上的先验分布,q(z|x)是编码分布,p(x|z)是解码分布。还设pd(x)为数据分布,p(x)为模型分布。自编码器的编码函数q(z|x)定义了自编码器隐藏码向量上q(z)的聚合后验分布如下:
公式【1】
对偶自编码器是一种通过将聚合后验q(z)与任意先验p(z)匹配而得到正则化的自编码器。为了做到这一点,在自动编码器的隐藏代码向量上附加了一个对抗网络,如图1所示。正是这种对抗性网络引导q(z)匹配p(z)。同时,自动编码器尽量减小重构误差。对抗网络的生成器也是自动编码器q(z|x)的编码器。编码器确保聚合后验分布可以欺骗判别对抗网络,使其认为隐藏码q(z)来自真实的先验分布p(z)。
对抗网络和自编码器都是通过SGD在每个小批上执行重建阶段和正则化阶段来联合训练的。在重构阶段,自动编码器更新编码器和解码器,以最小化输入的重构误差。在正则化阶段,对抗网络首先更新其判别网络,将真实样本(使用先验生成)与生成样本(由自动编码器计算的隐藏码)区分开来。然后,对抗网络更新它的生成器(也是自动编码器的编码器),以混淆鉴别网络。
一旦训练过程完成,自动编码器的解码器将定义一个生成模型,将p(z)强加的先验映射到数据分布。
对抗性自动编码器的编码器q(z|x)有几种可能的选择:
确定性:这里我们假设q(z|x)是x的确定性函数。在这种情况下,编码器类似于标准自编码器的编码器,q(z)中唯一的随机性来源是数据分布,pd(x)。
高斯后向:这里我们假设q(z|x)是一个高斯分布,其均值和方差由编码器网络预测:zi ~ N(µi(x), σi(x))。在这种情况下,q(z)中的随机性来自于数据分布和编码器输出处的高斯分布的随机性。我们可以使用[Kingma and Welling, 2014]相同的重新参数化技巧,通过编码器网络进行反向传播。
通用后验逼近器:对抗自编码器可用于训练q(z|x)作为后验逼近器的通用逼近器。假设对抗自编码器的编码器网络是函数f(x, η),它接受输入x和随机噪声η,具有固定的分布(例如高斯分布)。我们可以从任意的后验分布q(z|x)中取样,在不同的试样η下求f(x, η)。换句话说,我们可以假设q(z|x, η) = δ(z−f(x, η)),后验q(z|x)和聚集后验q(z)定义如下
公式2
在这种情况下,q(z)中的随机性来自于数据分布和编码器输入处的随机噪声η。注意,在这种情况下,后验q(z|x)不再被约束为高斯分布,编码器可以学习给定输入x的任意后验分布。由于有一种有效的方法从聚集的后验q(z)采样,对抗性训练过程通过直接反向传播编码网络f(x, η)来匹配q(z)到p(z)。
选择不同类型的q(z|x)会导致不同类型的模型和不同的训练动态。例如,在确定的问(z | x)的情况下,网络必须匹配q (z) p (z)只利用数据分布的特性转化,但由于数据的经验分布是固定的训练集,映射是确定的,这可能会产生一个q (z),不是很顺利。然而,在高斯或通用近似器的情况下,网络可以访问额外的随机性来源,通过平滑q(z)来帮助它在对抗的正则化阶段。然而,经过广泛的超参数搜索,我们得到了与q(z|x)的每种类型相似的测试似然。所以在本文的其余部分,我们只报告q(z|x)的确定性版本的结果。

2.1 与VAE的关系

我们的工作在精神上与变分自动编码器相似[Kingma和Welling, 2014];然而,当他们使用KL发散惩罚对自动编码器的隐藏码向量施加先验分布时,我们使用了一个对抗训练过程,通过匹配隐藏码向量的聚合后验值与先验分布来实现这一点。
VAE [Kingma and Welling, 2014]使以下x的负对数似然上限最小化:
公式2
其中,聚集后验q(z)定义在Eq.(1)中,我们假设q(z|x)是高斯分布,而p(z)是一个任意分布。变分界包含三项。第一项可视为自编码器的重构项,第二项和第三项可视为正则化项。没有正则化项,该模型只是一个标准的自动编码器,用于重构输入。然而,在正则化条件存在的情况下,VAE学习到一个与p(z)兼容的潜在表示。成本函数的第二项鼓励后验分布的大方差,而第三项使聚集后验q(z)和先验p(z)之间的交叉熵最小化。KL散度或Eq.(2)中的交叉熵项鼓励q(z)选择p(z)的模态。在对偶自编码器中,我们用鼓励q(z)匹配p(z)的整个分布的对偶训练过程来替换后两个术语。

在本节中,我们将对抗性自编码器与VAE对编码分布施加指定的先验分布p(z)的能力进行比较。图2显示了测试数据的编码空间z造成一个敌对的autoencoder对准MNIST数字球面的二维高斯先验分布对隐藏代码z。图2中的学习歧管展品急剧转变表明编码空间和展品没有“洞”。在实践中,编码空间的锐变说明在z内插值生成的图像位于数据流形上(图2e)。图2c为与对抗式自编码器实验相同架构的VAE编码空间。我们可以看到,在这种情况下,VAE大致符合二维高斯分布的形状。然而,没有数据点映射到编码空间的几个局部区域,这表明VAE可能没有捕获到数据流形以及对抗的自编码器。
图2b和2d显示了一个对抗自编码器和一个VAE的代码空间,其中施加的分布是10个二维高斯分布的混合物。对抗自编码器成功地将聚集后验与先验分布匹配(图2b)。相比之下,V声发射表现出与混合10高斯的系统差异,表明VAE强调匹配上述分布模式(图2d)。

VAEs和对抗式自编码器的一个重要区别是,在VAEs中,为了通过蒙特卡罗抽样反向传播KL散度,我们需要获得先验分布的精确函数形式。然而,在AAEs中,我们只需要能够从先验分布中取样,以诱导q(z)与p(z)匹配。在第2.3节中,我们将演示对抗式自动编码器可以强加复杂的分布(例如,瑞士辊分布),而无需访问分布的显式函数形式。

2.2 与GANs和gmmm的关系

在原始的生成对抗网络(GAN)论文[Goodfellow et al., 2014]中,生成对抗网络将像素级的数据分布施加到神经网络的输出层。然而,对抗性的自动编码器依赖于自动编码器训练来捕获数据分布。在我们的方法的对抗性训练过程中,一个更简单的分布(例如,高斯分布相对于数据分布)被施加在一个更低的维空间中(例如,20相对于1000),这将产生一个更好的测试似性,如第3节所讨论的。
生成矩匹配网络(GMMN) [Li et al., 2015]使用最大平均差异(MMD)目标来塑造神经网络输出层的分布。MMD的目标可以解释为最小化模型分布和数据分布的所有矩之间的距离。研究表明,gmmnn可以与预先训练的dropout自编码器相结合,以获得更好的似然结果(GMMN+AE)。我们的对抗性自动编码器也依赖于自动编码器来捕获数据分布。然而,我们使用GMMN+AE的工作的主要区别在于,我们方法的对对抗训练过程作为一个正则化器,在从零开始训练自动编码器的同时,塑造代码分布;而GMMN+AE模型首先训练一个标准dropout自动编码器,然后在预训练网络的代码空间中拟合一个分布。在第3节中,我们将展示通过对抗自编码器联合训练方案获得的测试似然比GMMN和GMMN+AE在MNIST和Toronto Face数据集上的测试似然性能更好。

2.3 在对抗性正规化中整合标签信息

在数据被标记的情况下,我们可以在对抗训练阶段加入标签信息,以更好地塑造隐藏代码的分布。在本节中,我们将描述如何利用部分或完整的标签信息来更严格地规范化自动编码器的潜在表示。为了演示这个架构,我们回到图2b,在图2b中,对抗性自编码器适用于10个二维高斯的混合物。我们现在的目标是迫使高斯分布的每个混合模态代表MNIST的一个单一标记。

图3演示了这种半监督方法的训练过程。我们在判别网络的输入中加入一个热点向量,使标签与分布的一个模态相关联。一个热点向量作为开关,在给定类标号的情况下选择判别网络的相应决策边界。这个热门向量有一个额外的类用于未标记的例子。例如,在强制使用10个二维高斯模型(图2b和4a)的情况下,一个热向量包含11个类。前10类中的每一类都为相应的单个混合组分选择一个决策边界。一个热向量中的额外类对应于未标记的训练点。当模型中出现一个未标记的点时,打开额外的类,选择完全混合高斯分布的决策边界。在对抗性训练的正阶段,我们通过一个热向量向鉴别器提供混合成分(即抽取正样本的成分)的标签。为未标记的例子提供的正样本来自完全的高斯混合,而不是来自某个特定的类。在负向阶段,我们通过一个热向量将训练点图像的标签提供给鉴别器。

图3:通过向鉴别网络提供一个热向量来正则化隐藏代码。一个热点向量有一个额外的标签用于未知类的训练点。

图4:利用标签信息更好地规范隐藏的代码。第一行:训练编码空间匹配10个二维高斯混合:(a)保持图像的编码空间z。(b)前3个混合分量的流形:每个面板包括沿相应的混合分量的轴向均匀采样高斯百分位数产生的图像。底部一行:相同,但瑞士卷分配(见文本)。请注意标签是按数字顺序映射的(即,瑞士卷的前10%被分配为数字0,以此类推):©保留图像的编码空间z。(d)沿瑞士辊轴行走产生的样本。

图4a显示了一个对抗式自编码器的潜在表示,该先验训练是10个2d高斯函数的混合,训练对象是10K标记的MNIST实例和40K未标记的MNIST实例。在这种情况下,先验的第i个混合组分以半监督的方式分配给第i类。图4b显示了前三个混合组分的歧管。请注意样式表示在每个混合组件中一致地表示,独立于它的类。例如,图4b中所有面板的左上区域对应的是直立书写风格,这些面板的右下区域对应的是数字倾斜书写风格。

这种方法可以推广到没有参数形式的任意分布,如将MNIST数据集映射到“瑞士辊”(一种条件高斯分布,其平均值沿瑞士辊轴的长度均匀分布)上所示。图4c描绘了编码空间z,图4d突出显示了潜伏空间中沿瑞士滚动轴行走生成的图像。

3. 对抗性自编码器的似然分析

前几节中介绍的实验仅证明了定性结果。在本节中,我们使用[Goodfellow et al., 2014]中描述的评估程序,通过比较该模型在MNIST和多伦多人脸数据集(TFD)上生成保留图像的可能性,来衡量AAE作为生成模型捕获数据分布的能力。
我们在MNIST和TFD上训练了一个对抗式自编码器,该模型对隐藏代码施加高维高斯分布。图5显示了在这些数据集上训练的对抗性自动编码器的样本。学习到的TFD歧管的视频可以在http://www.comm.utoronto.ca/~makhzani/adv_ae/tfd.gif上找到。为了通过复制训练数据点来判断模型是否过拟合,我们使用这些数字的最后一列来表示倒数第二列中生成模型样本在欧氏距离上的最近邻。
我们通过计算其在保持测试集上的对数似然值来评估对抗自编码器的性能。使用可能性对模型进行评估并不简单,因为我们不能直接计算图像的概率。因此,我们使用之前工作中描述的方法计算真对数似然的下界[Bengio等人,2013,2014,Goodfellow等人,2014]。我们拟合一个高斯Parzen窗口(核密度估计器)到10,000个样本产生的模型,并计算在这种分布下的测试数据的可能性。通过交叉验证选择了Parzen窗的*参数σ。
表1比较了对数似实值的对抗autoencoder MNIST和TFD许多先进的方法包括DBN(辛顿et al ., 2006),堆放CAE (Bengio et al ., 2013),深扣(Bengio et al ., 2014),生成对抗网络(格拉汉姆·古德费勒et al ., 2014)和GMMN + AE(李et al ., 2015)。
注意Parzen窗口估计是真实对数似然的下界,这个界的紧密性取决于抽取的样本数量。为了获得更紧密的下界比较,我们额外报告了对抗性自动编码器和生成式对抗性网络在1000万样本下的Parzen窗口估计[Goodfellow等人,2014]。在所有的比较中,我们发现对抗性自编码器取得优于竞争方法的对数似然。然而,读者必须意识到,目前可用来评估生成模型(如GANs)可能性的指标是有严重缺陷的。Theis等人[Theis等人,2015]详细介绍了这些度量的问题,包括10K和10M样本Parzen窗口估计。

图5:在MNIST和Toronto Face数据集(TFD)上训练的对抗式自动编码器生成的样本。最后一列显示与倒数第二列的训练图像在像素级欧几里德距离上最接近的训练图像。

图6:通过向生成模型提供一个热门向量,将标签信息从隐藏代码中解缠出来。在这种情况下,隐藏代码学习表示图像的风格。

4 监督对抗Autoencoders

半监督学习是机器学习中一个长期存在的概念问题。最近,生成模型已经成为半监督学习中最受欢迎的方法之一,因为它们可以以一种有原则的方式将类标签信息从许多其他潜在的变异因素中分离出来[Kingma et al., 2014, Maaløe et al., 2016]。
在本节中,我们首先关注完全监督的场景,并讨论对抗式自动编码器的体系结构,该体系结构可以将类标签信息与图像样式信息分开。然后,我们将该体系结构扩展到第5节中的半监督设置。
为了整合标签信息,我们改变了图1的网络架构,向解码器提供标签的一个热向量编码(图6)。解码器利用标识标签的一个热向量和隐藏代码z来重构图像。这种体系结构迫使网络保留所有独立于隐藏代码z中的标签的信息。
图7a展示了对MNIST数字进行训练的网络的结果,其中隐藏代码被强制转换为15-D高斯分布。图7a的每一行都展示了重构图像,其中隐藏代码z固定在一个特定的值上,但是标签被系统地研究了。请注意,重构图像的风格在给定的行中是一致的。图7b展示了应用于Street View House Numbers数据集的相同实验[Netzer等人,2011]。在http://www.comm.utoronto.ca/~makhzani/adv_ ae/ SVHN .gif上有一段视频展示了学习过的SVHN风格歧管。在这个实验中,一个热向量表示图像中与中心数字相关联的标签。请注意,每行中的样式信息包含关于最左和最右数字的标签的信息,因为最左和最右的数字在one-hot编码中没有作为标签信息提供。

5 Semi-Supervised对抗Autoencoders

在第4节的基础上,我们现在使用对抗性自编码器来开发半监督学习模型,利用无标记数据的生成描述来提高只使用标记数据可以获得的分类性能。具体来说,我们假设数据是由一个潜在的类别变量y和一个连续的潜在变量z产生的,它来自于一个类别分布:
p(y) = Cat(y) 公式
我们改变图6的网络体系结构,这样的推理网络AAE预测离散类变量y和连续使用编码器潜变量z q (z, y | x)(图8)。然后译码器利用两类标签作为一个炎热的向量和z的连续隐藏代码重构图像。有两个独立的对抗网络,规则的隐藏表示的自动编码器。第一个对抗性网络对标签表示施加一个类别分布。这种对抗性网络确保了潜在类别变量y不携带任何风格信息,并且y的聚集后向分布与类别分布匹配。第二对抗性网络对风格表示施加高斯分布,从而保证潜在变量z是一个连续高斯变量。
对抗网络和自编码器分别在重建阶段、正则化阶段和半监督分类阶段与SGD进行联合训练。在重构阶段,自编码器更新编码器q(z,y|x)和解码器,以最小化未标记小批处理上的输入的重构误差。在正则化阶段,每个对抗网络首先更新其判别网络,以区分真实样本(使用类别先验和高斯先验生成)和生成样本(由自动编码器计算的隐藏代码)。然后,敌对网络更新它们的生成器,以混淆它们的区别性网络。在半监督分类阶段,自动编码器更新q(y|x),以最小化标记小批的交叉熵代价。

图8:半监督AAE:顶部对抗性网络对标签表示施加类别分布,底部对抗性网络对风格表示施加高斯分布。Q (y|x)在半监督设置下对标记数据进行训练。

在MNIST和SVHN数据集上的半监督分类实验结果如表2所示。MNIST数据集在100年和1000年的标签,aa的性能明显优于V AEs,与V T [Miyato et al ., 2015)和CatGAN (Springenberg, 2015),但由*比网络(拉姆et al ., 2015)和ADGM(演出øe et al ., 2016)。在所有可用的标签上训练一个有监督的AAE模型,错误率为0.85%。相比之下,相同结构的dropout监督神经网络在完整MNIST数据集上的错误率为1.25%,突出了对抗性训练的正则化效果。在拥有1000个标签的SVHN数据集上,AAE几乎与ADGM达到了最先进的分类性能。
值得一提的是,所有的AAE模型都是端到端的训练,而半监督的VAE模型必须一次训练一层[Kingma et al.,2014]。

6 使用对抗自动编码器的无监督聚类

在前一节中,我们展示了在有限的标签信息下,对抗性自编码器能够学习强大的半监督表示。然而,仍然没有答案的问题是,是否有可能在没有任何监督的情况下,从未标记的数据中学习作为“强大的”表示。在这一节中,我们展示了对抗式自编码器可以以一种纯无监督的方式将离散类变量从连续潜式变量中分离出来。
我们使用的体系结构类似于图8,不同之处在于我们去掉了半监督分类阶段,因此不再训练任何标记的小批处理网络。另一个区别是,推理网络q(y|x)预测一个热点向量,该向量的维数是我们希望将数据聚集到的类别数。图9展示了当聚类数量为16时,AAE在MNIST上的无监督聚类性能。每一行对应一个集群。每行中的第一个图像显示了簇头,它们是通过将style变量固定为0并将label变量设置为16个one-hot向量中的一个而生成的数字。每一行中的其余图像是随机测试图像,根据q(y|x)分类到相应的类别中。我们可以看到,AAE选择了一些离散的样式作为类标签。例如,数字1和6年代,倾斜(集群16 - 11)比直接放在一个单独的集群1和6年代(15 - 10)集群或网络数字2 s分离成两个集群(集群4、6)根据数字是否用一个循环。

图9:MNIST的无监督聚类使用AAE有16个聚类。每一行对应于一个集群,第一个图像是集群头。(参见文本)

我们进行了一个实验来评估AAEs的无监督聚类性能。我们使用以下评价协议:一旦训练完成,每个集群,我们发现验证示例xnthat最大化q(易| xn),并指定的标签xnto集群中所有的点我。然后我们测试误差计算基于类标签分配给每个集群。如表3所示,AAE的分类错误率分别为9.55%和4.10%,总共有16个和30个标签。我们观察到,随着集群数量的增加,分类率提高。

7 使用对抗性自动编码器降低维数

高维数据的可视化在许多应用中都是一个非常重要的问题,因为它有助于理解数据的生成过程,并允许我们提取有关数据的有用信息。一种流行的数据可视化方法是学习一个低维嵌入,其中附近的点对应于类似的对象。在过去的十年里,大量新的非参数降维技术如t-SNE [V an der Maaten and Hinton, 2008]被提出。这些方法的主要缺点是它们没有一个可以用来发现新数据点嵌入的参数编码器。不同的方法,如参数t-SNE [Maaten, 2009]已经被提出来解决这个问题。自动编码器是一种有趣的替代方案,因为它们提供了这种嵌入所需的非线性映射;但众所周知,非正则化的自动编码器将流形“破坏”成许多不同的域,从而导致对类似图像产生非常不同的编码[Hinton]。

图10:使用对抗性自编码器降维:有两种单独的对抗性网络,对潜在表示施加类别分布和高斯分布。最后的n维表示法是首先将一个热标签表示法映射到一个n维簇头表示法,然后将结果添加到一个n维样式表示法。SGD通过一个额外的代价函数来学习簇头,该代价函数会惩罚簇头之间的欧几里德距离。

在本节中,我们将介绍一个用于降维和数据可视化目的的对抗自编码器体系结构。我们将证明,在这些自动编码器中,对抗正则化将相似图像的隐藏代码连接到彼此,从而防止了自动编码器在嵌入中通常遇到的多重断裂问题。

假设我们有一个具有m类标签的数据集,我们想将数据集的维数降低到n,其中n通常为2或3,用于可视化目的。我们将图8的架构更改为图10,最终的表示是通过将簇头的n维分布式表示与n维样式表示相加来实现的。簇头表示是通过将m维的一个热门类标签向量乘以一个m × n矩阵WC得到的,其中w表示的行表示用SGD学习的m个簇头表示。我们引入一个额外的代价函数来惩罚每两个簇头之间的欧氏距离。具体来说,如果欧几里德距离大于一个阈值η,代价函数为零,如果它小于η,代价函数线性惩罚距离。

图11 (a, b)展示了MNIST数据集(m = 10)在1000和100个标签的情况下,n = 2维的半监督降维结果。我们可以看到,该网络可以实现数字聚类的干净分离,获得的半监督分类误差分别为4.20%和6.08%。需要注意的是,由于二维约束,分类误差不如高维情况;并且每个簇的样式分布不是完全的高斯分布。

图11c显示了n = 2个维度下的无监督降维结果,其中集群的数量选择为m = 20。我们可以看到,该网络可以实现数字集群和子集群的相当清晰的分离。例如,根据数字是直的还是倾斜的,网络为数字1(绿色集群)分配了两个不同的集群。该网络还根据数字的倾斜程度将数字6聚类为三个簇(黑色簇)。此外,该网络为数字2分配了两个单独的簇(红色簇),这取决于数字是否使用循环写入。
这种AAE架构(图10)也可以用于将图像嵌入更大的维度(n > 2)。例如,图11d显示了在n = 10个维度下,使用100个标签进行半监督降维的结果。在这种情况下,我们将WCmatrix固定为WC= 10I,因此簇头是一个10维单形的角。该样式表示被学习为标准偏差为1的10D高斯分布,并直接添加到簇头中构造最终的表示。一旦网络被训练,为了将学习到的10D表示可视化,我们使用线性变换将10D表示映射到2D空间,这样簇头就被映射到均匀放置在2D圆上的点上。我们可以从这个图中验证,在这个高维的情况下,样式表示确实学会了具有高斯分布。在总共有100个标签的情况下,该模型的分类错误率为3.90%,低于采用串联样式和标签表示的AAE体系结构的分类错误率为1.90%(图8)。

8 结论

在本文中,我们提出使用GAN框架作为一个变分推理算法的离散和连续潜在变量的概率自编码器。我们的方法称为对抗自动编码器(AAE),是一种生成式自动编码器,在实值MNIST和Toronto Face数据集上实现竞争测试似然。我们讨论了该方法如何扩展到半监督场景,并证明了它在MNIST和SVHN数据集上获得了具有竞争力的半监督分类性能。最后,我们演示了对抗性自编码器在图像的风格和内容解缠、无监督聚类、降维和数据可视化方面的应用。

上一篇:ART 对抗样本框架 安装记录


下一篇:jenkins+git+docker构建持续化集成环境