ClusterGAN : Latent Space Clustering in Generative Adversarial Networks 翻译

ClusterGAN : Latent Space Clustering in Generative Adversarial Networks 翻译

注:其中还有不清楚的地方

摘要

生成对抗网络(GAN)在许多无监督学习任务中取得了显着的成功,毫无疑问,聚类是一个重要的无监督学习问题。虽然人们可以利用GAN中的潜在空间反向映射进行聚类,但我们证明了聚类结构没有保留在GAN的潜在空间中。在本文中,我们提出ClusterGAN作为使用GAN进行聚类的新机制。通过从一个one-hot编码变量和连续潜在变量的混合中对潜在变量进行采样,结合反向网络(将数据投射到潜在空间)与聚类特定损失共同训练,我们能够实现在潜在空间的聚类。我们的结果显示了一个显著的现象,即GAN可以保持跨类别的潜在空间插值,即使鉴别器从未暴露于这样的向量。我们将结果与各种聚类baseline进行比较,并在合成和真实数据集上展示出卓越的性能。

1 引言

1.1 动机

表示学习使机器学习模型能够破译数据中的潜在语义并解开隐藏的变异因素。这些强大的表示使得跨各种任务传递知识成为可能。但是什么使一个代表比另一个更好? [2]提到了几个不依赖于下游任务的通用先验,但在良好表征中表现为共性。在数据密集型域中无处不在的表示学习的通用先验之一是聚类。已经在无监督学习中广泛研究了聚类,其中多种方法寻求有效算法[24],问题特定距离度量[29],验证[12]等。尽管聚类的主要焦点是将原始数据分离成类,但如果获得这样的聚类以及降维,其中真实数据实际上似乎来自较低维度流形,则更好。

近年来,大多数无监督学习都是由深层生成方法驱动的,其中最突出的两个是变分自动编码器(VAE)[17]和生成性对抗网络(GAN)[9]。生成模型本身的流行取决于这些模型捕获高维概率分布,丢失数据的插补和处理多模态输出的能力。 GAN和VAE都旨在匹配实际数据分布(使用最大似然的显式近似的VAE和通过隐式采样的GAN),并且同时提供从潜在空间Z到输入空间X的映射。 GAN的潜在空间不仅提供了降维,而且还产生了新颖的应用。潜在空间中的扰动可用于确定对抗性示例,进一步帮助构建强大的分类器[14]。使用GAN [3]的压缩感知依赖于找到潜在向量,该向量最小化测量的重建误差。生成压缩是涉及Z的另一个应用[26]。 GAN训练最令人着迷的结果之一是潜在空间中的插值。出现简单的向量算术属性,当操纵时会导致生成的图像的语义质量发生变化[25]。这将GAN与传统的降维技术[22] [20]区分开来,后者缺乏可解释性。需要这种特性的一个潜在应用是基因组学中细胞类型的聚类。当在潜在空间中从一种细胞类型(即,簇)遍历到另一种细胞类型(即,簇)时,GAN提供了理解高维基因表达的变化的手段。在这里,具有聚类以及良好的可解释性和插值能力是至关重要的。这让我们了解了这项工作的主要动机:我们是否可以设计一种在潜在空间中聚集的GAN训练方法?

1.2 相关工作

深度学习方法已被用于降维,从自动编码器的变体开始,如堆叠去噪自动编码器[28],稀疏自动编码器[5]和深度CCA [1]。深度无监督子空间聚类的体系结构也建立在编码器 - 解码器框架[15]之上。最近的工作已经解决了自动编码器中联合聚类和降维的问题。 [30]通过初始化聚类质心和使用堆叠自动编码器嵌入来解决这个问题。然后,他们使用交替优化来改进聚类,并在真实数据集上报告聚类精度和速度方面的最新结果。聚类算法在他们的论文中称为DEC。由于K-means通常是最广泛使用的聚类算法,[31]通过引入包含K均值损失的修正成本函数在DEC上得到改进。他们使用交替的SGD优化非凸目标以获得适合于K均值聚类的嵌入。他们的算法DCN在一系列数据集上表现优于所有标准聚类方法。有趣的是,vanilla自动编码器本身没有明确地具有任何聚类目标。但是可以通过仔细的算法设计来实现这一目标。由于GAN在生成高保真样本方面的表现优于自动编码器,因此我们有强烈的直觉支持GAN的强大潜在表示,同时也提供了改进的聚类性能。

在[4]的开创性工作中,已经研究了GAN中潜在空间中可解释的表征学习。作者训练了一个GAN,在损失中增加了一个项,旨在最大化生成器噪声变量子集与生成的输出之间的互信息。 InfoGAN的关键目标是创建可解释和可解决的潜在变量。虽然InfoGAN确实采用了离散的潜在变量,但它并不是专门为聚类设计的。在本文中,我们表明我们提出的架构在聚类上优于InfoGAN。另一个著名的生成模型家族VAE具有额外的优势,即具有推理网络,编码器,在训练期间共同学习。这使得从X到Z的映射可以通过适当的算法设计潜在地保留集群结构。遗憾的是,在GAN中不存在这样的推理机制,更不用说在潜在空间中聚类的可能性。为了弥合VAE和GAN之间的差距,各种方法,如对抗学习推理(ALI)[8],双向生成对抗网络(BiGAN)引入了一种推理网络,该网络被训练以匹配由编码器和解码器网络学习的(x,z)的联合分布。通常,ALI / BiGAN中的重建很差,因为在训练中涉及的x和之间不存在确定性的逐点匹配。像Wasserstein Autoencoder [27],Adversarial Autoencoder [21]这样的架构,与传统的GAN框架不同,也有一个编码器作为网络的一部分。因此,这使我们考虑使用编码器的配方,既可以减少循环损失,又可以帮助聚类。

1.3 主要贡献

据我们所知,这是第一个解决GAN潜在空间聚类问题的工作。 该论文的主要贡献可归纳如下:

我们表明,即使GAN潜在变量保留了关于观测数据的信息,潜在点也会基于潜在分布而平滑地分散,导致没有可观察到的聚类。

我们在ClusterGAN中提出了三种主要的算法思想,以便纠正这种情况。

1. 我们利用离散和连续潜在变量的混合,以在潜在空间中创建非光滑几何。

2. 我们提出了一种适应离散连续混合的新型反向传播算法,以及一个显式反向映射网络,以获得给定数据点的潜变量,因为该问题是非凸的。

3. 我们建议联合训练GAN以及具有聚类特定损失的反向映射网络,以便投影空间中的距离几何反映变量的距离几何。

我们比较了ClusterGAN和其他可能的基于GAN的聚类算法,例如InfoGAN,以及不同数据集上的多个聚类baseline。 这表明了ClusterGAN在聚类任务中的卓越性能。

我们证明了ClusterGAN令人惊讶地保留了不同类别(使用one-hot潜在变量编码)的良好插值,即使鉴别器从未暴露于此类样本。

该公式通常足以提供一种元框架,该框架在GAN训练中结合了聚类的附加期望属性。

2 离散-连续前验

2.1 背景

生成对抗网络由两个组成部分组成,即生成器G和鉴别器D。G和D通常分别由\Theta _{G}\Theta _{D}参数化的神经网络实现。生成器也可以被认为是从潜在空间到数据空间的映射,我们将其表示为 。鉴别器定义了从数据空间到真实值的映射,该值可以对应于样本真实的概率,。GAN训练在G和D之间建立一个双人游戏,由最小极大目标定义:,其中是真实数据样本的分布,是潜在空间上的先验噪声分布,q\left ( x \right )是质量函数。对于vanilla GAN,,对于Wasserstein GAN(WGAN)。我们还将生成的样本x_{g}的分布表示为。鉴别器和生成器交替优化,以便在训练结束时匹配。

2.2 Vanilla GAN 在潜在空间不能很好地聚类

使用GAN进行聚类的一种可能方法是将数据反向传播到潜在空间(使用反向传播解码[19])并聚类潜在空间。但是,这种方法通常会导致非常糟糕的结果(有关MNIST的聚类结果,请参见图3)。关键原因是,如果确实反向传播成功,那么反向投影的数据分布应该看起来类似于潜在的空间分布,通常选择为高斯分布或均匀分布,我们不能期望在那种空间聚类。因此,即使潜在空间可能包含关于数据的完整信息,潜在空间中的距离几何也不反映固有的聚类。在[11]中,作者在高斯混合物先验进行了采样,并且即使在有限的数据体系中也获得了不同的样本。然而,即使具有高斯混合的GAN也未能聚类,如3(c)所示。正如DeLiGAN的作者所观察到的那样,高斯分量倾向于“挤满”并变得多余。使用分类变量提升空间只能有效地解决这个问题。但潜在空间的连续性传统上被认为是良好插值目标的先决条件。换句话说,插值似乎与聚类目标存在分歧。我们在本文中论证了ClusterGAN如何同时获得良好的插值和良好的聚类。

2.3 从离散-连续混合中采样

在ClusterGAN中,我们从一个由one- hot 编码向量和正态随机变量串联组成的先验中采样。 更确切地说中的第k个基本向量,K是数据的簇数。 另外,我们需要以这种方式选择σ,one-hot向量向GAN训练提供足够的信号使得每个模式仅从原始数据中的一个相应类生成样本。 更确切地说,我们在所有实验中选择σ= 0.10,使得正态潜在变量的每个维度以高概率。 选择小方差σ以确保Z空间中的簇是分开的。 因此,这种先验自然使我们能够设计出在潜在空间中聚类的算法。

2.4 完美的线性生成聚类

以下引理表明,对于离散连续混合,我们只需要在生成的空间中以线性生成来生成高斯混合。

引理1. 仅使用z_{n}进行聚类无法在线性生成的空间中恢复高斯数据的混合。 另外存在一个线性的G(·)将离散连续混合映射到高斯混合。

证明:如果潜 在空间只有连续部分,,那么通过线性属性,任何线性生成只能在生成的空间中产生高斯。 现在我们展示存在一个G(·)映射离散连续混合到生成数据,其中是混合的数量)。 这是可能的,如果我们让是K×K对角矩阵,对角线上的值是平均值\mu _{i}

为了说明这个引理,并因此用于聚类的传统先验的缺点,我们进行了一个简单的实验。真实样本来自中10个高斯的混合。高斯的平均值从中采样,每个分量的方差固定在σ= 0.12。我们用训练了一个GAN,其中生成器是一个多层感知器,有两个隐藏层,每层256个单元。为了比较,我们还训练了从one-hot 编码法向量采样的z训练的GAN,分类变量的维度为10.该GAN的生成器由线性映射组成,使得x = W z。在训练之后,使用算法1为线性发生器恢复潜在向量,并且对于非线性发生器使用随机初始化重新开始10次。即使对于这种玩具设置,线性发生器完美地聚类潜在向量但非线性发生器表现不佳(图2)。当我们使用从均匀,正常或高斯混合中提取的潜在向量训练GAN时,对于诸如MNIST的真实数据集,情况变得更糟。这些配置都没有在潜在空间中成功聚类,如图3所示。

2.5 基于改进的反向传播的解码

以前的工作[6] [19]已探索解决z中的优化问题以恢复潜在向量,,其中L是一些合适的损失函数和\left \| \cdot \right \|_{p}表示范数。即使反向传播是无损的并且恢复了准确的潜在向量,这种方法用传统的潜在先验也不足以聚类。为了使情况更糟,上面的优化问题在z中是非凸的(G被实现为神经网络)并且可以基于初始化在Z空间中获得不同的嵌入。解决该问题的一些方法可以是多次重启,具有不同的初始化以获得z *,或者在每个迭代步骤的z进行随机剪切。这些都不会导致聚类,因为它们没有解决从Z中分离的流形采样的根本问题。但是我们的采样过程自然地让位于这样的算法。我们使用。由于我们从正态分布中采样,我们使用正则化器,仅惩罚正态变量。我们使用K个重启,每个从不同的one-hot组件中采样z_{c}并仅针对正态变量进行优化,保持z_{c}固定。 Adam [16]用于Backprop解码期间的更新。形式上,算法1总结了该方法。

2.6 数据中不同类别的分割模式

令人惊讶的是,发现以纯粹无监督的方式训练而没有额外的损失项,每个one-hot编码组件生成的点来自原始数据中的特定类。例如,对于的多个采样,在MNIST中生成特定的数字(π表示置换)。这是算法1成功的必要的第一步。我们还通过使用MNIST的监督分类器定量评估GAN学习的模式。监督分类器的测试精度为99.2%,因此它具有很高的区分数字的可靠性。我们从模式k进行采样并生成数字x_{g}。然后由分类器将其分类为\hat{y}。从该对\left ( k,\hat{y } \right ),我们可以将每个模式映射到数字并计算从模式k生成的数字\hat{y}的精度。这表示为模式精度。具有标签y的每个数字样本x_{r}可以通过算法1在潜在空间中解码以获得z。现在z可用于生成x_{g},当通过分类器时,给出标签\hat{y}。在理想情况下,该对\left ( y,\hat{y} \right )必须相等,并且该精度表示为重建精度。最后,X空间中同一类中的点的所有映射在嵌入Z空间时应该具有相同的one-hot编码。这定义了簇精度。只要有可靠的分类器,这种方法也可以扩展到定量评估其他数据集的模式生成。对于MNIST,我们获得0.97的模式精度,0.96的重建精度和0.95的簇精度。 Fashion-MNIST和MNIST中的一些模式分别如图4和图5所示。补充材料包含这两个数据集中所有模式的图像。

2.7 潜在空间中的插值得以保留

具有高斯潜在分布的传统GAN中的潜在空间强制不同的类在潜在空间中连续分散,允许良好的类间插值,这是GAN的关键强度。在ClusterGAN中,潜在向量z_{c}采用one-hot分布进行采样,并且为了在类之间进行插值,我们将不得不从one-hot矢量上的凸组合进行采样。虽然这些向量在训练过程中从未被采样,但我们惊奇地观察到ClusterGAN中非常平滑的类间插值。为了演示插值,我们将z_{n}固定在两个具有不同z_{c}分量的潜在向量中,比如z_{c}^{\left ( 1 \right )}z_{c}^{\left ( 2 \right )},并用one-hot编码部分进行插值,以产生新的潜在向量。如图6所示,我们观察到从一个数字到另一个数字以及在FashionMNIST中的不同类别之间的良好过渡。这表明即使在离散连续分布的未经训练的方向上,ClusterGAN也能学习非常平滑的流形。我们还展示了使用高斯先验训练的vanilla GAN插值作为参考。

3 ClusterGAN

即使上述方法使GAN能够在潜在空间中聚类,但如果我们在极小极大目标中具有聚类特定损失项,则它可能能够表现得更好。 对于MNIST,数字笔划与数据中的类别很好地对应。 但是对于更复杂的数据集,我们需要在GAN培训中强制执行结构。 确保这一点的一种方法是强制执行潜在向量的精确恢复。 因此我们介绍一个编码器,由\Theta _{e}参数化的神经网络。 GAN目标现在采用以下形式:

其中是交叉熵损失。 正则化系数\beta _{n}\beta _{c}的相对大小使得能够灵活地选择以改变保留潜在编码的离散和连续部分的重要性。 可以想象正则化的其他变化,其将映射为接近相应簇的质心,例如,类似作为K-Means的精神。 该方法中的GAN训练涉及联合更新\Theta _{G}\Theta _{E}的参数(算法2)。

4 实验

4.1 数据集

合成数据:数据由具有2D的4个分量的高斯混合生成,其构成Z空间。 我们从每个高斯生成了2500个点。 X空间通过非线性变换获得:,其中是引入非线性的sigmoid函数。

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值