【论文笔记】ClusterGAN: Latent Space Clustering in Generative Adversarial Networks

【论文笔记】ClusterGAN: Latent Space Clustering in Generative Adversarial Networks

  • 文章题目:ClusterGAN: Latent Space Clustering in Generative Adversarial Networks
  • 作者:Sudipto Mukherjee,Himanshu Asnani,Eugene Lin,Sreeram Kannan
  • 关键词
  • 时间:2019
  • 来源:AAAI 2019
  • paper:https://ojs.aaai.org/index.php/AAAI/article/view/4385 ,https://arxiv.org/pdf/1809.03627.pdf
  • code
  • 引用:Mukherjee, S., Asnani, H., Lin, E., & Kannan, S. (2019). ClusterGAN: Latent Space Clustering in Generative Adversarial Networks. Proceedings of the AAAI Conference on Artificial Intelligence, 33(01), 4610-4617. https://doi.org/10.1609/aaai.v33i01.33014610

感性认识

  • 研究的基本问题
    用GAN进行聚类,在潜在空间中聚类。
  • 现有问题
    将数据投影到潜在空间是可行的,但是投影之后用于聚类是不可行的。潜在空间是基于高斯或者均匀分布的,难以描述样本之间聚类的距离关系。对可解释性和跨簇的插值不友好。
  • 主要想法
    模型:
    在这里插入图片描述
  1. 从离散-连续混合分布中抽样,构建隐含空间和生成器
    z = ( z n , z c ) , z n ∽ N ( 0 , σ 2 I d n ) , z c = e k , k ∽ U { 1 , 2 , ⋯   , K } z=\left( z_n,z_c \right) ,z_n\backsim \mathcal{N}\left( 0,\sigma ^2I_{d_n} \right) ,z_c=e^k,k\backsim \mathcal{U}\left\{ 1,2,\cdots ,K \right\} z=(zn,zc),znN(0,σ2Idn),zc=ek,kU{1,2,,K} e k e^k ek R K R^K RK中的第K个基本向量,K为数据中的簇数。
  2. 改进反向传播解码(反向映射网络)
    z ∗ = a r g min ⁡ z ∥ G ( z ) − x ∥ 1 + λ ∥ z n ∥ 2 2 z^*=arg\min _z\lVert \mathcal{G}\left( z \right) -x \rVert _1 +\lambda \lVert z_n \rVert ^2_2 z=argzminG(z)x1+λzn22
  3. 使用线性生成器进行聚类
  4. 引入编码器,加入聚类特定目标项,联合优化与训练
    在这里插入图片描述
  • 结果与结论
    clusterGAN可以产生平滑的类间插值。 z = ( z n , μ z c ( 1 ) + ( 1 − μ ) z c ( 2 ) ) , μ ∈ [ 0 , 1 ] z=\left( zn,\mu z_{c}^{\left( 1 \right)}+\left( 1-\mu \right) z_{c}^{\left( 2 \right)} \right) ,\mu \in \left[ 0,1 \right] z=(zn,μzc(1)+(1μ)zc(2)),μ[0,1]

  • 不足与展望

理性认识

Abstract

Generative Adversarial networks (GANs) have obtained remarkable success in many unsupervised learning tasks and unarguably, clustering is an important unsupervised learning problem. While one can potentially exploit the latent-space back-projection in GANs to cluster, we demonstrate that the cluster structure is not retained in the GAN latent space. In this paper, we propose ClusterGAN as a new mechanism for clustering using GANs. By sampling latent variables from a mixture of one-hot encoded variables and continuous latent variables, coupled with an inverse network (which projects the data to the latent space) trained jointly with a clustering specific loss, we are able to achieve clustering in the latent space. Our results show a remarkable phenomenon that GANs can preserve latent space interpolation across categories, even though the discriminator is never exposed to such vectors.We compare our results with various clustering baselines and demonstrate superior performance on both synthetic and real datasets.

摘要

生成对抗网络(GANs)在许多无监督学习任务中取得了显著的成功,聚类无疑是一个重要的无监督学习问题。虽然人们可以潜在地利用GAN中潜在空间的反向投影来形成簇,但我们证明了簇结构并不存在于GAN的潜在空间中。在本文中,我们提出了一种新的聚类机制——ClusterGANs。通过从一个one-hot编码变量和连续潜在变量的混合样本中采样潜在变量,再加上一个反向网络(将数据投影到潜在空间)和一个聚类特定损失一起训练,我们可以在潜在空间中实现聚类。我们的研究结果表现出一个明显的现象,即GANs可以保持跨类别的潜在空间插值,即使这些向量从未出现在鉴别器(discriminator)过。我们将我们的结果与各种聚类baseline进行了比较,并在合成和真实数据集上表现出优越的性能。

1 Introduction

1.1 Motivation

表示学习使机器学习模型能够破译数据中的潜在语义,并解开隐藏的变异因素。这些强大的表示方式使得在不同任务之间传递知识成为可能。但是是什么让一个表示比另一个更好呢?(Bengio, Courville, and Vincent 2013)提到了一些不依赖于下游任务但在好的表征中表现出共性的通用先验。在数据密集的领域,普遍存在的表示学习的一个通用先验就是聚类。在无监督学习中,聚类已经被广泛研究,使用各种方法寻找有效的算法、特定问题距离度量、验证等。尽管聚类的主要焦点是将原始数据分离到类中,但如果在进行降维的同时获得这样的聚类会更好,因为实际数据实际上似乎来自低维的流形。
近年来,许多无监督学习是由深度生成方法驱动的,其中最著名的两种是变分自编码器(VAE)和生成对抗网络(GAN)。生成模型本身的普及是因为这些模型捕捉高维概率分布、缺失数据的输入和处理多模态输出的能力。GAN和VAE试图匹配现实数据分布(VAE使用显式近似最大似然和GAN通过隐式抽样),并且同时提供从潜在空间Z到输入空间x的映射。GANs的潜在空间不仅提供了降维,而且产生新颖的应用程序。潜在空间中的扰动可用于生成对抗样本,从而进一步帮助构建健壮的分类器。使用GANs的压缩感知依赖于找到一个潜在向量,使测量的重构误差最小化。生成压缩是另一个涉及Z的应用。GAN训练最吸引人的结果之一是在潜在空间的插值。中间产生的简单矢量算术属性,施以操作可以导致生成图像的语义质量发生变化。这与缺乏可解释性的传统降维技术不同。需要这种特性的一个潜在应用是基因组学中细胞类型的聚类。GANs提供了一种方法来理解当一种细胞类型(即簇)变化到另一种潜伏空间时,高维基因表达的变化。其中,聚类和良好的可解释性和插值能力是至关重要的。这就引出了这项工作的主要动机:我们能否设计一种聚集在潜在空间中的GAN训练方法

1.2 RelatedWorks
1.3 Main Contributions

据我们所知,这是第一个解决GAN潜在空间中的聚类问题的工作。本文的主要贡献可以总结如下:

  • 我们表明,即使GAN潜变量保留了观测数据的信息,潜点是平滑分散的,基于潜分布产生的未观测的簇。
  • 为了改进这种情况,ClusterGAN中提出了三种主要的算法思想。
  1. 我们利用离散隐变量和连续隐变量的混合,在隐空间中创建一个非光滑几何。
  2. 由于问题是非凸的,我们提出了一种新的适用于离散-连续混合的反向传播算法,以及一个显式的反向映射网络来获得给定数据点的潜在变量。
  3. 联合训练GAN与反向映射网络,使用聚类特定损失,以便投影空间中的距离几何反映变量的距离几何。
  • 我们比较了ClusterGAN和其他可能的基于GAN的聚类算法,如InfoGAN,以及在不同数据集上的多个聚类基线。这证明了ClusterGAN在集群任务中的优越性能。
  • 我们证明,ClusterGAN令人惊讶地保持了良好的跨类插值(使用一个one-hot潜在变量编码),即使这些向量从未出现在鉴别器(discriminator)过。

这个公式是通用的,足以提供一个元框架,它包含了GAN训练中聚类的额外可用的属性。

2 Discrete-Continuous Prior

2.1 Background

生成式对抗网络由两部分组成,生成器 generator G \mathcal{G} G 和鉴别器 discriminator D \mathcal{D} D . G \mathcal{G} G D \mathcal{D} D通常分别由 Θ G Θ_G ΘG Θ D Θ_D ΘD参数化的神经网络来实现。生成器也可以被认为是从潜在空间到数据空间的映射,我们用 G : Z ↦ X \mathcal{G}:\mathcal{Z} \mapsto \mathcal{X} G:ZX 来表示。该鉴别器定义了一个从数据空间到实数的映射,该映射对应于样本为真实的概率, D : X ↦ R \mathcal{D}:\mathcal{X} \mapsto \mathbb{R} D:XR. GAN训练设置了一个在G和D之间的双人博弈,这是由最大极小目标定义的:

在这里插入图片描述

其中: P x r \mathbb{P}_x^r Pxr是真实样本分布, P z \mathbb{P}_z Pz是潜在空间先验噪声分布, q ( ⋅ ) q( \cdot ) q()是质量函数。对于vanilla GAN, q ( x ) = log ⁡ x q( x)=\log x q(x)=logx,对于Wasserstein GAN (WGAN), q ( x ) = x q( x)= x q(x)=x 。生成的样本的分布用 P x g \mathbb{P}_x^g Pxg x g x_g xg 表示。鉴别器和生成器交替优化,在时 P x g \mathbb{P}_x^g Pxg 匹配 P x r \mathbb{P}_x^r Pxr 时训练结束。

2.2 Vanilla GAN does not cluster well in the latent space

使用GAN进行聚类的一种可能方法是将数据反向传播到潜在空间(使用反向传播解码),并对潜在空间进行聚类。然而,这种方法通常会导致非常糟糕的结果(MNIST的聚类结果如图2所示)。关键的原因是,如果反向传播确实成功,那么反向投影的数据分布应该看起来类似于潜在空间分布,通常选择为高斯或均匀分布,我们不能期望在该空间聚集。因此,即使潜在空间可能包含关于数据的全部信息,潜在空间中的距离几何并不反映固有的聚类。在(Gurumurthy, Sarvadevabhatla和Babu2017)中,作者事先从高斯混合先验中采样,即使在有限的数据体系中也获得了不同的样本。然而,即使是高斯混合的GANs也无法聚类,如2©所示。正如DeLiGAN的作者所观察到的,高斯分量倾向于“拥挤”并变得多余。利用分类(categorical variables)变量提升空间可以有效地解决这一问题。但分类变量可能会带来不连续。隐空间的连续性传统上被认为是实现良好插值目标的先决条件。换句话说,插值似乎与聚类目标相矛盾。本文论证了聚类gan如何同时获得良好的插值和聚类效果。
在这里插入图片描述

2.3 Sampling from Discrete-Continuous Mixtures

在ClusterGAN中,我们从由正态随机变量与独热编码向量级联而成的先验中采样。确切的说: z = ( z n , z c ) , z n ∽ N ( 0 , σ 2 I d n ) , z c = e k , k ∽ U { 1 , 2 , ⋯   , K } z=\left( z_n,z_c \right) ,z_n\backsim \mathcal{N}\left( 0,\sigma ^2I_{d_n} \right) ,z_c=e^k,k\backsim \mathcal{U}\left\{ 1,2,\cdots ,K \right\} z=(zn,zc),znN(0,σ2Idn),zc=ek,kU{1,2,,K} e k e^k ek R K R^K RK中的第K个基本向量,K为数据中的簇数。
另外,我们需要选择 σ \sigma σ,使one-hot向量为GAN训练提供足够的信号,使得每个模式只从原始数据中对应的类中生成样本。更精确地说,我们在所有的实验中都选择了 σ = 0.10 \sigma = 0.10 σ=0.10,这样每个维度的正常潜变量, z n , j ∈ ( − 0.6 , 0.6 ) ≪ 1.0 ∀ j z_{n,j}\in \left( -0.6,0.6 \right) \ll 1.0\forall j zn,j(0.6,0.6)1.0j都有很高的概率。选择小的方差以确保Z空间中的簇是分开的。因此,这一先验自然地使我们能够设计一个算法,在潜在空间聚集。

2.4 Modified Backpropagation Based Decoding

之前的工作尝试在在z中解决一个优化问题来恢复潜在向量:
z ∗ = a r g min ⁡ z L ( G ( z ) , x ) + λ ∥ z ∥ p z^*=arg\min _z\mathcal{L}\left( \mathcal{G}\left( z \right) ,x \right) +\lambda \lVert z \rVert _p z=argzminL(G(z),x)+λzp其中, L \mathcal{L} L是合适的损失函数, ∥ ⋅ ∥ p \lVert \cdot \rVert _p p是范式。即使反向传播是无损的,并且能恢复精确的潜在向量,该方法也不足以用于传统的潜在先验聚类。更糟糕的是,上述优化问题在z空间是非凸的(G作为神经网络实现),可以通过初始化得到z空间的不同嵌入。解决这个问题的一些方法可以是用不同的初始值多次重新启动以获得 z ∗ z^* z,或者在每个迭代步骤中随机裁剪z。这些都不会导致聚类,因为它们不能解决从Z中的分离流形采样的根本问题。
但我们的抽样程序自然给出了解决办法。我们使用:
L ( G ( z ) , x ) = ∥ G ( z ) − x ∥ 1 \mathcal{L}\left( \mathcal{G}\left( z \right) ,x \right) =\lVert \mathcal{G}\left( z \right) -x \rVert _1 L(G(z),x)=G(z)x1由于我们从一个正态分布中抽样,我们使用正则化 ∥ z n ∥ 2 2 \lVert z_n \rVert ^2_2 zn22 ,只惩罚正常变量。我们使用K重启,每次从不同的独热分量采样zc,并只对正常变量进行优化,保持zc不变。Adam 用于Backprop解码期间的更新。

2.5 Linear Generator clusters perfectly

下面的引理表明,对于离散-连续的混合,我们只需要线性生成,就可以在生成空间中生成高斯混合。
引理1:仅用zn聚类无法恢复线性生成空间中的混合高斯数据。进一步地,存在一个线性G()映射,从离散-连续混合到高斯混合。

证明略了。

为了说明这一引理,以及传统先验 P z \mathbb{P}_z Pz聚类的缺点,我们进行了一个简单的实验。真正的样本是从$\mathbb{R}^{100} $高斯混合中的10个提取的。对比结果:
在这里插入图片描述

2.6 Separate Modes for distinct classes in the data

令人惊讶的是,在完全无监督训练且没有额外的损失项的情况下,每个one-hot编码的组件都是从原始数据中的特定类中生成的点。例如,在MNIST中, z = ( z n , z c ) z=\left( z_n,z_c \right) z=(zn,zc)生成了一个特定的数字 π ( k ) \pi(k) π(k),从 z n ∽ N ( 0 , σ 2 I d n ) z_n\backsim \mathcal{N}\left( 0,\sigma ^2I_{d_n} \right) znN(0,σ2Idn)中多次取样( π \pi π代表一个排列 permutation)这是成功修改backpropagation所必需的第一步。我们还通过使用MNIST的监督分类器定量地评估了GAN学习的模式。该监督分类器的测试准确率为99.2%,具有较高的数字识别可靠性。我们从模式k进行采样,生成一个数字 x g x_g xg。然后它被分类器分类为 y ^ \hat y y^。从这对(k; y ^ \hat y y^),我们可以将每个模式映射到一个数字,并计算模式k生成的数字 y ^ \hat y y^的精度。这称为模态精度 Mode Accuracy。将每个标号为y的数字样本 x r x_r xr在潜伏空间中解码得到z。现在可以使用z来生成 x g x_g xg,它在通过分类器时给出标签 y ^ \hat y y^。(y; y ^ \hat y y^)在理想情况下必须相等,这个精度表示为重构精度 Reconstruction Accuracy。最后,当嵌入到Z空间时,X空间中同一个类中的所有点的映射都应该具有相同的独热编码。这定义了聚类精度Cluster Accuracy。如果有一个可靠的分类器,该方法也可以推广到其他数据集的模式生成的定量评价。对于MNIST,我们获得了0.97的模式精度,0.96的重建精度和0.95的聚类精度。

3 ClusterGAN

尽管上述方法使GAN能够在潜在空间中聚类,但如果我们在minimax目标中有一个聚类特定的损失项,它可能会表现得更好。对于MNIST,数字笔划与数据中的类别很好地对应。但是对于更复杂的数据集,我们需要在GAN训练中加强结构。一种方法是对潜在向量进行精确的恢复。因此,我们引入一个编码器 E : X ↦ Z \mathcal{E}:\mathcal{X} \mapsto \mathcal{Z} E:XZ 一个由 Θ E Θ_E ΘE参数化的神经网络。GAN目标现在采取以下形式(H是交叉熵函数):
在这里插入图片描述

正则化系数 β n β_n βn β c β_c βc的相对大小使我们能够灵活变化隐层编码中离散和连续比例的重要性。可以想象正则化的其他变化,将 E ( G ( z ) ) \mathcal{E}\left( \mathcal{G}\left( z \right) \right) E(G(z)) 映射到各簇的中心附近,使用距离 ∥ E ( G ( z ( i ) ) ) − μ c ( i ) ∥ 2 2 \lVert \mathcal{E}\left( \mathcal{G}\left( z^{\left( i \right)} \right) \right) -\mu ^{c\left( i \right)} \rVert _{2}^{2} E(G(z(i)))μc(i)22,与KMeans思想类似。这种方法中的GAN训练涉及到共同更新参数 Θ E Θ_E ΘE Θ G Θ_G ΘG

Interpolation in latent space is preserved

传统的具有高斯隐分布的GAN的隐空间强制不同的类连续地分散在隐空间中,允许良好的类间插值,这是GAN的一个关键优点。在ClusterGAN中,潜在向量zc以一个独热分布进行采样,为了在所有类中进行插值,我们必须从一个独热向量的凸组合中采样。虽然这些向量在训练过程中从未被采样,但我们惊讶地发现在ClusterGAN中非常平滑的类间插值。为了演示插值,我们将zn固定在两个具有不同zc分量的潜在向量中,为z(1) c和z(2) c,并用独热编码部分插值产生新的潜在向量: z = ( z n , μ z c ( 1 ) + ( 1 − μ ) z c ( 2 ) ) , μ ∈ [ 0 , 1 ] z=\left( zn,\mu z_{c}^{\left( 1 \right)}+\left( 1-\mu \right) z_{c}^{\left( 2 \right)} \right) ,\mu \in \left[ 0,1 \right] z=(zn,μzc(1)+(1μ)zc(2)),μ[0,1]如图6所示,我们在FashionMNIST中观察到从一个数字到另一个数字以及在不同类别之间的良好转换。这表明ClusterGAN学习了一个非常光滑的流形,即使在未经训练的离散连续分布方向上。
在这里插入图片描述

4 Experiments

4.1 数据集
1.Synthetic Data 数据是由二维的4个分量的高斯混合生成的,它构成了Z空间。我们从每个高斯分布中生成了2500个点。
2.MNIST
3.Fashion-MNIST (10 and 5 classes) 该数据集具有与MNIST相同的图像数量和图像大小,但它相当复杂。它包含了各种各样的时尚产品,而不是数字。我们还合并了一些类别,类似于形成一个单独的5类数据集。
4.10x 73k 尽管GANs在生成真实图像方面取得了前所未有的成功,但尚不清楚它们是否能同样有效地用于其他类型的数据。此外,计算机视觉可能有充足的标签图像供应,为某些领域(例如生物学)获取标签是极其昂贵和费力的。因此,对于这个领域来说,无监督的数据聚类确实是必要的。在这个实验中,我们训练了一个GAN从单个细胞RNA-seq计数矩阵来聚集细胞类型。数据集由属于8种不同细胞类型的7332个数据点的rna -转录计数组成(Zheng et al. 2017)。为了减少数据的维度,我们在细胞中选择了720个最大的变异基因。计数矩阵C的项首先转换为log2(1+Cij),然后除以变换的最大项,得到范围为[0;1]。这些数据的一个主要挑战是稀疏性。即使在基于方差的基因子选择之后,数据矩阵的条目也接近40%为零。
5.Pendigits 序列数据

4.2 结果
在这里插入图片描述

5 Discussion and Future Work

在这项工作中,我们讨论了用传统的先验潜在分布训练GAN的缺点,并考虑了离散-连续混合采样噪声变量。我们提出了ClusterGAN,一种能够在潜在空间进行聚类的架构。利用聚类gan与不同数据集上的聚类基线进行了比较,说明了聚类gan可以很好地适应聚类。未来的方向可以为潜在空间探索更好的数据驱动的先验。

真·笔记

小尾巴

重点相关论文

1.Chen, X.; Duan, Y.; Houthooft, R.; Schulman, J.; Sutskever,I.; and Abbeel, P. 2016. Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in Neural Information Processing Systems, 2172–2180.

InfoGAN,对比模型与前驱模型

参考资料

1.https://blog.csdn.net/shaodongheng/article/details/83090137
2.https://blog.csdn.net/weipf8/article/details/105756453
3.https://blog.csdn.net/weixin_43897803/article/details/107376592

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值