论文阅读笔记:Neural Manifold Clustering And Embedding


摘要

给定一个非线性流形的并集,非线性子空间聚类或流形聚类的目的是基于流形结构对数据点进行聚类,并学习将每个流形参数化为特征空间中的线性子空间。深度神经网络由于其巨大的容量和灵活性,在高度非线性的环境下具有实现这一目标的潜力。我们认为,利用神经网络实现流形聚类需要两个基本要素:

  • 确保流形识别领域的特定约束
  • 将每个流形embedding到特征空间中线性子空间的学习算法

这项工作表明,许多约束可以通过data augmentation来实现对于子空间特征学习,可以使用最大编码率降低(MCR 2 ^2 2)目标。这种结合得到了一种通用流形聚类的新方法,(即nerual manifold clustering and embedding, NMCE),其显著优于基于Auto Encoder的深度子空间聚类。此外,在更具挑战性的自然图像数据集上,NMCE也优于专门为聚类设计的其他算法。定性上,我们证明了NMCE学习了一个有意义且可解释的特征空间。此外由于NMCE使用的公式与几种重要的自监督学习方法密切相关,我们相信这项工作可以帮助我们深入理解自监督的表示学习。

1 简介

无监督的表征学习从数据中学习本身的结构而不使用任何标签。如果数据位于线性子空间中,则可以通过主成分分析(PCA)提取线性子空间,这是无监督学习的最基本形式之一。当数据占据多个线性子空间的并集时,需要使用子空间聚类(SC)将每个数据点聚类到一个子空间,并估计每个子空间的参数。这里我们关注的是更具挑战性的场景,当数据点来自多个非线性低维流形的并集时。在这种情况下,聚类问题可表述如下:

Definition 1 流形聚类和嵌入(NMCE):假设数据点来自低维流形的并集,我们将根据其对应的流形对数据点进行分割,并为每个流形获得低维嵌入。

解决方案很多,但如何在流形聚类问题中使用神经网络仍然是一个悬而未决的问题。在本文中,我们提出的NMCE遵循三个原则:

  1. 聚类和表示应考虑特定领域的约束,例如局部邻域、局部线性插值或数据增强不变性。
  2. 对于特定流形的embedding不能出现崩溃。
  3. 已识别的流形的embedding应线性化和分离,即它们处于不同的线性子空间。

这项工作作出了以下具体贡献:

1.我们将数据扩充与MCR 2 ^2 2相结合,提出了一种新的通用流形聚类和嵌入算法。我们还讨论了该算法与自监督对比学习之间的联系。

2.我们证明,NMCE在标准子空间聚类基准上实现了最先进的性能,并且在更具挑战性的高维图像数据集(如CIFAR-10和CIFAR-20)上可以优于最佳聚类算法。经验评估表明,我们的算法还学习了一个有意义的特征空间。

2 相关工作

2.1 流形学习

经典流形学习是将流形结构数据点映射到低维表示空间,并保持流形结构。有两个关键要素:

  1. 从要保留的原始数据空间中选择几何特性。局部欧几里德邻域或相邻数据点的线性插值。
  2. Embedding不应崩溃为退化解。例如,在基于谱聚类的流形学习中,嵌入空间的方差通常受到约束以避免平凡解。

2.2 流形聚类和嵌入

当数据建模为多个流形的并集时,除了流形学习外,还需要流形聚类。当这些流形是线性的时,可以使用子空间聚类算法。当它们是非线性的时,提出了流形聚类和嵌入方法。它们通常分为3类:

  1. 局部保持
  2. 基于核方法
  3. 基于神经网络

局部保持技术隐含地假设流形是光滑的,且采样密集。我们的方法通过几何约束实现了这些技术。
基于核方法的成功在很大程度上取决于底层Kernel的适用性,通常需要在比数据空间更高维度的空间中表示数据。
深度子空间聚类方法共同学习了一种适用于线性子空间聚类的数据潜在表示,并具有处理高维数据的潜力。然而已经表明,这些方法应归因于应用于自表达矩阵的特殊后处理步骤。与直接使用线性SC对原始数据进行聚类相比,神经网络只能获得非常微小的收益。

我们的工作与这些技术主要在两个方面不同:

  1. 以前的大多数方法是生成式的(AE, GANs),但我们的损失函数是在潜在嵌入空间中定义的,最好理解为一种对比方法。

  2. 以前的方法使用基于自表达的SC来指导特征学习,而我们的方法使用MCR 2 ^2 2来学习子空间特征。最近,一些深度SC也应用了data augmentation,然而数据增强只起到了提高性能的补充作用。而在我们的方法中,数据增强在识别集群方面起着核心作用。

2.3 自监督表征学习

近年来,自监督表征学习在深度神经网络方面取得了巨大的成功。与流形聚类和嵌入类似,还有两个基本要素:

  1. 数据增强用于定义特定domain的不变性。
  2. 潜在表示不应崩溃。第二个要求可以通过对比学习(Chen等人,2020年)、动量编码器(He等人,2020年;Grill等人,2020年)或孪生网络结构(Chen和He,2021年)来实现。最近,变量正则化(Zbontar等人,2021年;Bardes等人,2021年)也被成功地用于实现该原则。

作为我们方法的一部分,总编码率(TCR)目标实现了类似的效果。然而,除了自监督特征外,我们的算法还表现出强大的聚类性能,并直接学习有意义的潜在空间。NMCE中的同步(simultaneous)流形聚类和嵌入也与在线深度聚类方法有关。

数据增强聚类

我们的方法使用数据增强来确保训练数据的正确聚类。尽管没有明确指出,但其他聚类技术也是如此。我们对数据增强的理解也与专门研究数据扩充成功的工作一致。

3 流形聚类和嵌入

3.1 提出问题

如Definition 1中说的那样,流形聚类和嵌入的目标包括:把数据点分派的不同流形中(clustering);学习每个流形的坐标(流形学习)。为此,我们的神经网 f f f需要学习数据点到特征embedding z ∈ R d e m b z\in\mathbb R^{d_{emb}} zRdemb和聚类结果 c ∈ [ 1 , n ] c\in [1,n] c[1,n]的映射。聚类结果应等于ground truth的流形分配结果,特征embedding z z z应参数化对应流形的坐标。

为了使特征空间更好地工作,可以对任意不同的两个流形 X j , X k X_j,X_k Xj,Xk和j强制执行额外的可分性要求,特征向量是垂直的, Z j ⊥ Z k Z_j⊥ Z_k ZjZk。我们用以下方式定义两个集合之间的垂直:如果 Z ~ j ⊆ Z j , Z ~ k ⊆ Z k \tilde Z_j \subseteq Z_j,\tilde Z_k\subseteq Z_k Z~jZj,Z~kZk,使得对 ∀ z j ∈ Z ~ j , z k ∈ Z ~ k \forall z_j \in \tilde Z_j,z_k\in \tilde Z_k zjZ~j,zkZ~k,我们有 z j ⋅ z k = ≠ 0 z_j·z_k=\neq 0 zjzk==0,要么是 Z ~ j , Z ~ k \tilde Z_j ,\tilde Z_k Z~j,Z~k为零度量。

在下文中,我们首先认为,为了限制神经网络的灵活性,应该定义额外的几何约束,使流形类可以被识别。其次,我们讨论了如何实现所需的几何约束,并将其与最近提出的联合聚类和子空间学习算法MCR 2 ^2 2相结合,以实现神经流形聚类和嵌入。

3.2 聚类总是包含隐含的假设

即使是最简单的聚类算法也依赖于隐式假设。例如,在k-means聚类中,假设原始数据空间中的聚类在L2距离上是连续的。对于线性SC,假设每个类内的数据点是co-linear的。如果在示例数据上训练神经网络以学习聚类分割函数,则产生的聚类将是任意的,并且与k-means或线性SC聚类的解不相似。这是因为神经网络是灵活的,没有对聚类函数施加任何约束,以迫使结果类似于任何已知的聚类算法。

在这里插入图片描述
图1左中显示了一个例子,其中一个深度聚类方法为双螺旋数据输出一个相当任意的聚类。为了使神经网络的聚类具有可学习性,需要显式地引入约束。在图1中的示例中,为了能够将两个螺旋线彼此分离,需要确保数据分布中某点的所有近邻都分配给同一个聚类,这与基于位置的流形聚类算法中隐含的假设基本相同。我们将约束的概念形式化为约束函数 D ( f ) D(f) D(f)(对于特定的数据分布)例如,当且仅当找到的聚类是线性子空间时约束函数取值为0,则恢复线性子空间聚类。

在实践中,通常无法在D=0的约束下优化神经网络聚类函数。更实际的方法是使用加权λ的松弛目标。通过使用合适的λ,优化该目标可以学习正确的聚类。要实现流形聚类,只需找到合适的约束函数。

3.3 用MCR 2 ^2 2进行子空间特征学习

在为使用神经网络学习流形聚类引入了显式约束之后,我们仍然需要一个具体的算法来学习给定聚类的线性子空间结构表示(流形学习)。幸运的是,最近提出的 Maximum Coding Rate Reduction原则(MCR 2 ^2 2)为此提供了一个原则性的学习目标。我们用X表示数据集,用 X i \mathcal X_i Xi表示每个流形 X i X_i Xi上的分布的随机变量。对某个编码器 Z = f ( X ) \mathcal Z=f(\mathcal X) Z=f(X)(无聚类输出), z ∈ R d e m b z∈\mathbb R^{d_{emb}} zRdemb,高斯编码率函数定义为:

在这里插入图片描述
其中cov表示向量随机变量的协方差矩阵函数: c o v ( Z ) = E p ( z ) [ z z T ] cov(\mathcal Z)=E_{p(z)}[zz^T] cov(Z)=Ep(z)[zzT]。该函数近似于给定平均失真 ϵ \epsilon ϵ的多元高斯分布的香农编码率。然而,我们只关注它的几何含义,没有进一步讨论信息论方面。

假设现在我们还得到了聚类配函数 c ( x ) c(x) c(x),它输出所属流形的索引 c ( x ) = i c(x)=i c(x)=i for x ∈ X i x∈X_i xXi。然后,我们可以将第i类的平均编码率计算为 R ( Z i , ϵ ) R(\mathcal Z_i,\epsilon) R(Zi,ϵ), Z i = f ( X i ) \mathcal Z_i=f(\mathcal X_i) Zi=f(Xi)。MCR 2 ^2 2规定,为了学习子空间的结构化表示,需要通过最大化所有 Z \mathcal Z Z的编码率与每个类 Z i \mathcal Z_i Zi的编码率之和之间的差别来优化 f f f

在这里插入图片描述
已经证明,MCR2保证了上述问题设置中的正交性要求。Yu等人指出,在 r a n k ( Z i ) rank(Z_i) rank(Zi)有界且编码误差 ϵ \epsilon ϵ足够低的假设下,最大化MCR 2 ^2 2目标可确保 Z i ⊥ Z j Z_i⊥ Z_j ZiZj,并且每个 r a n k ( Z i ) rank(Z_i) rank(Zi)都尽可能大。

3.4 NMCE

MCR 2 ^2 2原理可以扩展到没有给出索引输出函数 c ( x ) c(x) c(x)的情况,而是通过优化MCR 2 ^2 2目标来共同学习。在本例中,我们将聚类函数融合为 f : z , c = f ( x ) f:z,c=f(x) f:z,c=f(x),注意现在 Z i \mathcal Z_i Zi隐式地依赖于 f f f。但是单独使用MCR 2 ^2 2无法找到正确的聚类,因为它在数据空间中不受约束。必须包括额外的约束项 D ( f ) D(f) D(f),以使聚类可被识别。这导致了神经流形聚类和嵌入(NMCE)目标:

在这里插入图片描述
给定合适的约束泛函D,NMCE目标将引导神经网络正确聚类流形,并学习子空间结构特征,从而实现流形聚类和嵌入。我们将在下一节中解释如何实际实现D。

3.5 利用数据增强实现约束

在这里,我们提出了一种简单的方法来实现各种有效的约束。该方法使用机器学习中非常常见的数据增强技术,并对聚类和嵌入函数 f f f施加两个条件。

  1. 从同一点生成的增强数据点应属于同一类
  2. 如果从同一点生成增强数据,则增强数据点的学到的嵌入特征应相似。

我们用 T ( x ) T(x) T(x)对数据 x x x进行两组随机增强: c , z = f ( T ( x ) ) c,z=f(\mathcal T(x)) c,z=f(T(x)) c ′ , z ′ = f ( T ′ ( x ) ) c',z'=f(\mathcal T'(x)) c,z=f(T(x)),然后 D ( f ) = E p ( x ) D(f)=E_{p(x)} D(f)=Ep(x)sim ( z , z ′ ) (z,z') (z,z)。 这里,sim函数用于度量潜在表示之间的相似性,例如余弦相似性或L2距离。 c = c ′ c=c' c=c的要求可以通过使用c和c的平均值去在训练过程中对 z z z z ′ z' z进行分配。

对于图1的双螺旋示例,数据增强只需要向数据点添加少量高斯噪声。这将强制数据流形中的相邻点也是特征空间中的相邻点,并将其指定给同一类。在NMCE目标中使用此约束的结果如图1的后两张图所示。对于更困难的数据集,需要添加增强方法以按所需方式约束聚类。聚类的质量通常由它与底层内容信息的对应程度来衡量。因此,我们需要对样式信息(颜色、纹理和背景)进行增强,但保留内容信息,这样聚类将基于内容而不是样式。幸运的是,在自监督对比学习方面的广泛研究经验表明,增强可以非常有效地实现这一点。

3.6 多阶段训练与自监督对比学习的关系

在实践中我们发现,很难从头开始优化整个NMCE目标。这是因为在训练开始时分配了错误的类,并且等式4中 R ( Z i , ϵ ) R(\mathcal Z_i,\epsilon) R(Zi,ϵ)的累和有效地抵消了总编码率项 R ( Z , ϵ ) R(\mathcal Z,\epsilon) R(Z,ϵ)。为了获得良好的性能,实现高的总编码率和特征空间中增强样本之间的高相似性至关重要。因此,我们采用了多阶段训练过程,第一阶段始终优化以下目标:

在这里插入图片描述

我们称之为总编码率(TCR)目标,它本身就是一种新型的自监督学习目标。我们可以看到,这个目标鼓励 Z \mathcal Z Z的协方差矩阵是对角的。加上增强数据样本之间的相似性约束,这一目标逐渐实现了与VICReg(Bardes等人,2021)和BarlowTwins(Zbontar等人,2021)相同的目标。

在使用TCR目标进行训练后,我们发现特征 Z \mathcal Z Z已经具有近似的子空间结构。对于简单任务,可以使用标准线性SC技术(如EnSC)直接对特征进行聚类。对于更困难的任务,我们发现完整的NMCE目标执行得更好。

4 结果

在合成实验中,使用单个MLP作为backbone,使用最后两个线性层用于生成特征和聚类结果的logits输出,激活函数为ELU。对于所有图像数据集,使用具有ReLU激活和不同大小的ResNet作为backbone。在全局平均池化之后,使用一个具有4096个输出单元的线性层、Batch normalization和ReLU激活。在该层之后,使用两个线性头生成特征和聚类结果的logits输出。使用的类与ground truth相等。一个batch中的每个数据样本都使用两个增强样本。学习聚类分配时使用Gumbel Softmax(Jang等人,2016)。特征向量始终标准化到单位球。约束项D始终是两个增强样本之间的余弦相似性。聚类分配概率和特征向量在发到NMCE损失函数之前求对两个增强样本平均值。正则化强度λ始终由经验确定。

4.1 合成数据和图像数据集

为了验证NMCE目标,我们通过将高斯噪声通过两个随机初始化的MLP生成的流形结构数据进行聚类来执行合成实验。使用小高斯噪声数据增强来增强局部性约束。训练过程分为两个阶段,第一阶段采用TCR目标,第二阶段采用完整的NMCE目标。与图1的双螺旋结构的聚类类似,结果与我们的解释一致。

为了将NMCE与其他子空间聚类方法进行比较,我们将其应用于COIL20和COIL100,这两种方法都是SC分类中常用的标准数据集。它们由在旋转台上以5度间隔拍摄的物体图像组成。COIL20有20个对象,共1440个图像,COIL100有100个对象,共7200个图像。图像进行2x灰度缩放和欠采样。对于COIL20,使用带有32个filter的18层ResNet作为backbone,特征维度为40。对于COIL100,使用带有32个filter的10层ResNet为backbone,特征维度为200。我们通过在COIL20上的手动实验确定了此实验的最佳增强策略,并将相同的策略应用于COIL100。对于本实验,我们使用EnSC对通过TCR目标学习到的特征进行聚类。我们发现该程序已经执行得很好,不需要实现完整的NMCE目标。

在这里插入图片描述

我们比较了几个经典的baseline,如稀疏子空间聚类(SSC)以及最新的深度SC技术,包括KSSC、AE+EDSC、DSC、S2ConvSCN和MLRDSC-DA。如表1所示,我们的方法实现了COIL20错误率为0.0,COIL100错误率为11.53的完美结果。这表明NMCE可以真正利用深度网络的非线性处理能力,而之前的深度SC方法只能略优于线性SC。

4.2 自然图像的自监督学习与聚类

最近,无监督聚类已扩展到更具挑战性的图像数据集,如CIFAR-10、CIFAR-20和STL-10。最初的MCR 2 ^2 2论文也进行了这些实验,但他们以一种非常不同的方式进行增强。我们使用ResNet-18作为backbone与MCR 2 ^2 2进行比较,并使用ResNet-34作为backbone与其他聚类方法进行比较。在这两种情况下,特征大小为128。使用标准图像增强进行自监督学习。

4.2.1 训练策略、有监督的评估

这里我们使用三个阶段的训练:

  1. 使用TCR目标进行训练。
  2. 重新初始化最后一个linear projection层并添加类分配层。然后,冻结backbone网络中的参数,并以NMCE目标训练两个新层。
  3. 使用NMCE目标微调整个网络。

如前所述,第一阶段与自监督对比学习非常相似。我们评估研究了在这一阶段学习到的特征,表2中列出了使用ResNet-34的结果。

在这里插入图片描述

为了评估学习的特征,我们使用SVM、kNN和最近子空间分类器(NearSub)。我们使用支持向量机代替线性评估训练,因为我们发现它更稳定,并且对特定的参数设置不敏感。这里我们比较三种类型的特征:

  1. Proj:128维projection head输出。
  2. pre-feature:接在backbone之后的4096维线性层的输出。
  3. Pool:来自上一个平均池化层的2048维的特征。

我们发现,在训练时进行图像增强得到的特征结果更好。因此,我们还比较了图像增强的性能,并用16avg表示每个图像使用16个增强。来自训练集和测试集的图像都得到了增强。从表中可以看出,在没有增强的情况下,使用SVM+project head得到了最佳精度。这是令人惊讶的,因为大多数自监督学习技术有效地使用了池化特征,因为使用Proj特征获得的性能很差。当使用平均值时,具有池特征的支持向量机表现最好,然而,具有Proj特征的支持向量机和kNN也达到了非常高的精度。在附录中,我们进一步比较了在标记数据有限的情况下使用SVM的项目和池特征。在这种情况下,Proj功能显著优于Pool功能,这表明TCR目标鼓励在潜在空间中学习有意义的特征——与其他算法不同,Pool和Proj特征的性能差距可能非常大。

4.2.2 聚类效果

我们比较了3阶段训练后的NMCE与其他技术的聚类性能。由于篇幅限制,我们仅与重要的baseline以及基于深度学习的最高性能技术进行比较。我们在该领域遵循惯例,使用聚类准确度(ACC)、归一化互信息(NMI)和调整兰德指数(ARI)作为度量标准。我们在表3中列出了结果。对于基于深度学习的技术,我们将我们的ResNet-34结果与CC、CRLC、MoCo、MiCE和TCC行比较。我们还分别将ResNet-18结果与MCR2(准确地说是MCR2-CTRL,见附录A.2)学习到的特征进行比较,并由EnSC、ESC或SENet进行聚类。

在这里插入图片描述

与MCR 2 ^2 2的结果相比,我们的方法在所有指标上都取得了显著的进步。例如,在CIFAR-10和CIFAR-20上,精度分别提高了6%和9%以上。这表明,我们以比原始MCR$^2更有效的方式使用数据增强。我们的方法也可以优于以前专门针对聚类进行优化的技术,在所有CIFAR-10和CIFAR-20指标上都达到最先进的性能,但CIFAR-10的ACC除外。

在上面的实验中,阶段1学习近似子空间结构的预特征,阶段2可以被视为对预特征输出执行子空间聚类。对于CIFAR和STL-10实验,使用NMCE目标对整个网络进行微调(第3阶段)可以显著提高性能)但幅度较小)。从第1阶段训练中学习到的特征也可以通过EnSC等方法直接聚类,但结果很差。NMCE似乎是一种独特的强大方法,可以为图像实验聚类学习到的特征。

在这里插入图片描述

在所有3个训练阶段之后,通过执行PCA并显示与每个主成分具有最高余弦相似性的训练示例,可以可视化每个子空间的结构。在图2中,我们展示了10个CIFAR-10类中的4个类。可以看出,每个类中的主成分对应于语义上有意义的子类。例如,“狗”组的第一排大多是白色狗的特写镜头。这表明,在使用完整NMCE目标进行训练后,样本将基于潜在空间中的内容相似性进行聚类,而不是均匀分布在超球体上,因为仅使用TCR目标或其他自监督学习方法进行训练将鼓励这样做。

5 结论

本文提出了一种利用神经网络进行流形聚类和嵌入的通用方法。它包括添加几何约束以使聚类可识别,然后执行聚类和子空间特征学习。在未来,可以通过更好的数据增强策略或更强的子空间特征学习算法来改进该方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值