摘要:
大多数现有的子空间聚类方法都依赖于人工制作表示的自我表达,并且不知道潜在的聚类错误。因此,它们对具有复杂潜在子空间的实际数据处理的令人不满意。为了解决这个问题,我们提出了一种新的深度对抗子空间聚类(DASC)模型,通过深度学习子空间聚类来学习更有利的样本表示,更重要的是引入对抗学习来监督样本表示学习和子空间聚类。具体而言,DASC由子空间聚类生成器和质量验证鉴别器组成,它们相互学习。生成器生成子空间估计和样本聚类。鉴别器通过检查来自估计子空间的重新采样数据是否具有一致的子空间属性来评估当前聚类性能,并监督生成器逐步改进子空间聚类。手写识别,面部和对象聚类任务的实验结果证明了DASC优于浅层和不太深层的子空间聚类模型。此外,据我们所知,这是相似GAN模型在无监督子空间聚类中的首次成功应用,也为深度学习解决其他无监督学习问题铺平了道路。
引言:
在本文中,我们的目标是为无监督子空间聚类问题开发新的深度学习解决方案。 与仅限于线性子空间的传统“浅”子空间聚类方法相比,深度子空间聚类显然是有利的。 它可以通过深度学习提供更强大的样本表示,并有效地聚类来自非线性子空间的样本,这可以极大地将子空间聚类扩展到更复杂的实际数据。
最近,提出了一种基于深度自动编码器的子空间聚类模型,旨在学习更好的样本表示。 然而,与那些传统的“浅层”方法一样,它仍然取决于作为监督的自我表示,这对于具有不友好分布的样本可能表现不佳(例如,内在子空间不是独立的或具有显著的交集)。 此外,现有的子空间聚类方法没有考虑获得的聚类的潜在的错误,导致学习的表示含噪声,从而降低聚类性能。
在这项工作中,因为GAN最近在无监督数据生成方面取得的成功,我们基于GAN框架,基于现有方法的上述缺点开发了一种新的无监督深度子空间聚类模型。称为深对抗子空间聚类(DASC)。它由子空间(和簇)生成器和鉴别器组成,鉴别器通过以无监督的方式评估聚类质量来监督生成器。如果生成器生成的簇是正确的,则同一簇中的样本将全部位于相同的内部子空间中,这意味着它们的任何线性组合将依旧在这个子空间中并具有相同的子空间属性,如众所周知的线性子空间性质中所述。在这种情况下,鉴别器不能检测来自内部子空间的重采样数据与簇中的原始样本之间的差异。否则,给定不准确的簇,如图1(a)所示,采样自同一簇内的跨越子空间偏离了样本所在的内部子空间S1 *和S2 *。然后鉴别器能够轻易地区分来自于子空间的重采样的边远数据(“”)和那些原始数据(“”和“”),并将这些信息作为监督反馈给生成器,以产生更好的子空间估计和样本聚类。因此,生成器逐渐改进子空间聚类,其中“”和“”被正确聚类,如图1(b)所示。
图1:我们的想法的例证。 鉴于(a)中当前的聚类错误,DASC中的鉴别器可以通过从当前聚类(即,生成器的估计子空间)生成的假样本“”和原始的“”和“”样本来识别其质量差,因为它们具有不一致的子空间属性。 利用监督等评估信息,DASC中的生成器逐步改进样本表示学习,并在(b)中输出正确的聚类结果。
特别是,生成器的作用是三重的。首先,它使用深度自动编码器通过自表达层在位于联合线性子空间中将原始输入样本转换为更好的表示。通过这种方式,DASC有效地减轻了样本上的线性子空间假设。其次,生成器基于内部自表达层产生的样本亲和度矩阵产生子空间聚类结果。第三,它通过从估计的聚类(或等效的跨越子空间)中采样来生成新的“假”样本,并将它们送到鉴别器以进行区分来相应地评估子空间聚类质量。另一方面,训练鉴别器以将所生成的“伪”样本与所提供的真实样本区分开,并基于线性子空间属性评估聚类结果的质量。它反馈评估信息以监督生成器的子空间聚类。与相似GAN模型中的传统鉴别器提供过复杂的分类边界以准确利用子空间属性来区分样本不同,我们提出了一种基于能量的鉴别器,通过检查它们与感兴趣的子空间的匹配程度来检测真实和偏离样本。在这种鉴别器的监督下,生成器将学习更具判别力的表示并提高聚类性能。
手写识别,面部和对象聚类任务的实验结果很好地证明了我们的方法的优点。 综上所述,本文做出了以下贡献。
(1)我们提出了一种新的深度对抗子空间聚类方法,称为DASC。 通过引入对抗性学习,DASC的鉴别器可以忠实地评估当前的聚类质量,并监督生成器的学习,从而为更好的子空间聚类产生更有利的表示。
(2)我们设计了一种简单但有效的基于能量的鉴别器,以广泛利用子空间属性,这是对自动编码器引入的自我表示损失的创新和补充。
相关工作:
迄今为止,已经开发了各种子空间聚类方法。 他们中的大多数利用自我表示来解决潜在的子空间和样本聚类,这可以用以下统一的公式来构造:
但是,它们只能聚集线性子空间,这限制了它们的应用。 为了解决这个问题,已经开发了基于核的子空间聚类方法。 但很难选择适当的内核捕获潜在的子空间。 此外,所有这些现有方法仅寻求线性表示系数,这可能对于聚类任务不具有判别力。 相比之下,我们提出的DASC使用鉴别器来有效地评估聚类性能并监督生成器以学习更具判别力的表示。
最近,已经提出了几种基于深度学习的聚类方法。 宋等人,将自动编码器与k-means集成去学习和聚类潜在特征。 同样,谢等人,提出了一种深度嵌入式聚类方法。 但它们都不适用于子空间聚类。 最近,Ji等人,提出了一种深度子空间聚类网络(DSC-Net),它使用自动编码器来学习输入样本的表示,并通过自我表示层获得线性表示系数(如方程(1))。 尽管DSC-Net避免了线性子空间假设,但它无法根据当前的聚类结果进行自我调整以学习更好的表示。 相比之下,提出的DASC引入了鉴别器和生成器之间的对抗性学习,以强制后者通过学习更好的表示来改进当前的聚类结果。
深度对抗子空间聚类:
在本节中,我们将详细介绍所提出的方法。 我们首先解释网络构成,然后介绍每个部分,最后详细说明其训练和聚类过程。
网络构成:
如前所述,子空间聚类方法通过恢复多个低维子空间来聚类观察到的样本,以匹配和分离它们。 然而,对于复杂性质的实际数据,很难找到匹配其原始表示的子空间。 在这种情况下,来自不同子空间的样本可能被错误地聚集到同一群集中,从而损害了聚类效果。 为了解决这种无监督的学习问题,现有的最先进的方法(例如,SSC 和LRR )通常依赖于同一子空间内的样本自表示属性,这通常对于具有不友好分布的样本(例如,内在子空间不是独立的或具有显著的交集)表现不佳 。 此外,这些方法不考虑所获得的簇中的潜在错误,因此不能通过评估当前的聚类质量来改进自身。
为了在一个统一模型中解决上述关键问题,我们提出了深度对抗子空间聚类(DASC)模型,该模型通过深度学习学习子空间聚类的更好的样本表示,并引入子空间对抗性学习来补充自我表示以获得更好的样本聚类。 如图2所示,它由子空间(和簇)生成器和鉴别器组成,分别用G和D表示。
图2:整体结构的例证。 DASC由一个相互学习的生成器和鉴别器组成。 特别地,该生成器包含一个用于学习样本表示的自动编码器 - 解码器,一个用于产生样本亲和度矩阵和聚类的自我表示层,以及一个用于生成子空间质量评估所需的真实和伪造数据的采样层。 子空间鉴别器接收生成的样本并学习区分真实数据和假数据。
具体地,DASC通过其生成器G中的多层非线性编码器来学习输入样本的潜在表示。为了迫使新表示比原始表示更适合子空间聚类,G引入自我表示层并最小化以下自我表示损失:
DASC旨在检查来自噪声的再生样本与来自的真实样本之间的差异,为聚类质量定义一个有效且可计算的度量,并获得额外的监督。 形式上,DASC引入了一种新的判别损失来衡量聚类的质量:
是对于子空间的一个判别模型,通过最小化下面的判别损失来训练:
这里〜表示包括采样和线性组合的复合操作,并且将在第3.2节中更详细地解释。 采样和线性组合操作很重要,它们受子空间的关键属性(在有效子空间内线性组合样本不会产生边远样本)启发 。 DASC中的鉴别器被训练来区分真实内在子空间的“真实”样本和他的估计的“假”样本。 与相似GAN模型中的传统鉴别器不同,DASC中的鉴别器需要估计每个样本属于某个子空间的概率。 也就是说,它需要子空间方面的区别力。 我们在3.3节中引入了一种新的基于能量的鉴别器模型,满足这样一个关键要求。
如果来自簇的所有“假”样本(包括线性组合)被鉴别器D分类为,即,等式(3)得到一个大值。则簇具有高质量。 否则,聚类簇是错误的。 通过将这种监督反馈给生成器G,然后强制G去最大化质量(等式(3))或均衡等式(4)的鉴别器损失(等于1/2,即无法判别真假), 来产生更好的聚类样本表示和聚类结果,即内的样本可与鉴别器D区分。在下面的小节中,我们解释了关于生成器G和鉴别器D的细节,以实现上面介绍的方法。
3.2 生成器:
DASC的生成器G通过利用样本的低维结构,学习有利于子空间聚类的判别表示,并生成子空间聚类结果。 特别是,它学会了将原始输入样本转换为潜在表示空间,其中样本可以通过线性子空间的并集很好地拟合,使用子空间成员集对样本进行聚类,并且如上面所说从每个聚类生成“真实”和“假”样本。
如图2所示,生成器使用深度卷积自动编码器将样本非线性地变换为表示。 然后,它使用编码器后面的自表示层来产生自表示系数(参见方程(2))。 随后将新表示送到解码器中。 这里,解码器具有与编码器对称的结构,其旨在从重建原始输入以确保表示Z保留足够的样本信息。 亲和度矩阵用于聚类。
G的另一个重要功能是生成以簇(i = 1,...,K)为条件的“真实”和“假”样本,其由图2中的采样层实现。基于通过自表示层学习的样本亲和度矩阵Λ,我们应用NCut算法将(i = 1,...,n)聚类为K个簇。同时,如图3所示,我们的鉴别器被设计成学习线性子空间以匹配簇的内部真实子空间。然后根据鉴别器学习的相应子空间上的数据点的映射残差(参见3.3节中的方程(5)),鉴别器可以识别输入数据是真实的还是假的。在3.3节中查看鉴别器的详细信息 。因此,G中的采样层计算簇中每个样本的对应到上的映射残差,并选择具有较小残差的个“实数”数据(图3中的平坦点)。在3.4节中查看的设置。以这种方式,所选择的样本以高概率大致位于正确的固有子空间中,并且用作跨越子空间的“真实数据”。此外,鉴别器足够强大以处理这些所选实际数据中的可能噪声。采用这种新颖的基于映射残差的真实数据采样策略,紧密结合用于聚类质量评估的基于能量的鉴别器,并通过实验验证了其有效性。
图3:关于真/假采样的插图。从错误的簇中采样真实数据(具有正确的聚类标签)和假数据,该错误的簇跨越不准确的子空间估计。 真实数据对应于鉴别器所学习的子空间,具有比采样的假数据对应于鉴别器所学习的子空间小得多的映射残差,因此可以通过来区分它们。
为了产生假数据,对于每个簇,生成器中的采样层从估计的子空间执行随机采样(参见图3中的紫色点)。 由于直接采样是不可微分的,我们采用[11]中的重新参数化技巧来实现可微分采样。具体地,对于每个具有个样本的簇,采样层先从(0,1]均匀分布中采样个随机向量,然后生成个假数据
表示的第j项。对于当前训练阶段是固定的,可以通过表示将梯度传到编码器。 与明确计算然后对假数据进行采样相比,如上所述生成假数据更有效。
3.3 鉴别器:
我们构建鉴别器以实现能量函数,该能量函数将低能量分配给数据子空间附近的区域,并将更高的能量分配给其他区域。 因为对于每个聚类,鉴别器D旨在验证其真实数据和伪数据是否属于相同的内在子空间,它仅需要学习一个子空间判别模型,该模型为每个簇匹配期望的固有子空间。 对于簇,让鉴别器学习的子空间的基由参数化,其中表示子空间维度。 然后如图3所示,鉴别器可以通过它们在上的映射残差来区分真实数据和伪数据:
因为如果簇不准确,真实样本将比那些假样本更接近子空间。我们使用上面的映射残差来定义一个样本属于子空间的概率,也就是鉴别器的输出,即,用它代替等式(4)给出以下目标函数来训练簇的鉴别器.
为了在簇和之间建立一对一的对应关系以计算损失,对于所有候选,每个计算其在上的平均投影残差并选择一个最小的平均投影残差。 如果多个簇竞争相同的,则将选择具有最小平均映射的集群。 对于没有匹配的任何聚类,我们在由构成的特征矩阵上使用QR分解来计算其对应的。 以这种方式,生成器和鉴别器的学习是一致的,因为在每次簇将总是找到最接近其固有子空间的。
为了促进对应于不同簇的子空间的可分离性,我们引入正则化项,其中 > 0是常数。 它还有利于通过鉴别器D,鼓励生成器G产生对不同子空间有区别力的表示来进行聚类。 虽然我们不要求中的基是严格正交的,但我们仍然使用作为正则化来减少每个中的冗余,其中 > 0是常数,是具有兼容维度的单位矩阵。
因此对于鉴别器最终的训练目标是
DASC中的鉴别器可以由两个全连接层的K个线性网络实现。 此外,在每个网络中,两个层共享它们的参数。 对于输入数据,第一层和第二层的输出分别是和。 通过最小化鉴别器损失,可以学习参数 。
显然,DASC中的鉴别器是自动编码器的变体,但比[1,37]中用于图像生成的鉴别器更简单,因为我们只有两个线性映射层。 这种吸引人的简单性受益于G中的自表达层,这提供了利用线性子空间结构来设计鉴别器的便利性。 相比之下,[1,37]中的自动编码器更深,涉及非线性映射,因为数据结构仍然未知,因此需要复杂的自动编码器来学习数据结构。
3.4 训练和聚类:
即,通过调整G的表示学习和子空间聚类结果,鼓励生成的假数据更接近鉴别器学习的子空间,从而表明更高的聚类质量。 G的最终培训目标是将这种对抗性损失与样本重建损失和自我表示损失相结合。
表示所有的输入样本,自编码器对的重构。这里表示生成器的参数,包括编码器和解码器中的参数,以及自表达层中的表示系数。 第二项表示自动编码器的重建损失,而后两项对应于等式(2)中的自我表示损失。 在上采用F-范数惩罚,因为与非平滑惩罚项相比,例范数, 通常,它可以更容易学习,也可以达到相当的甚至更好的性能。
我们首先预先训练发生器G而不考虑鉴别器D,即最小化等式(9)中的生成器损失,丢弃第一项。这样,生成器可以产生相当好的初始表示。然后我们按如下方式训练整个DASC网络。首先,我们通过以下方法初始化鉴别器参数。见第4节,设置。我们在亲和度矩阵Λ上应用NCut以聚类潜在表示。然后我们使用簇中的表示,通过QR分解来计算。由于预训练的生成器提供了相对较好的聚类结果,因此这种策略比随机初始化更好地初始化模型。在鉴别器和生成器的联合训练期间,鉴于鉴别器的结构比发生器简单得多,我们分别在每个时期内异步更新D和G,为5次和1次。对于个数据点的聚类,我们将真实数据和假数据的数量设置为和(α∈[0.8,0.95]),这在所有实验中都很有效。预训练和微调都采用Adam算法。但他们的学习率分别为,与[9]中一样,。
在测试期间,我们对由生成器G输出的学习到的亲和度矩阵Λ执行谱聚类。为了公平性,我们使用[9]中的NCut算法。
4. 实验: