Deep Adversarial Subspace Clustering 翻译_深度聚类英文-程序员宅基地

技术标签: subspace clustering  

摘要:

大多数现有的子空间聚类方法都依赖于人工制作表示的自我表达,并且不知道潜在的聚类错误。因此,它们对具有复杂潜在子空间的实际数据处理的令人不满意。为了解决这个问题,我们提出了一种新的深度对抗子空间聚类(DASC)模型,通过深度学习子空间聚类来学习更有利的样本表示,更重要的是引入对抗学习来监督样本表示学习和子空间聚类。具体而言,DASC由子空间聚类生成器和质量验证鉴别器组成,它们相互学习。生成器生成子空间估计和样本聚类。鉴别器通过检查来自估计子空间的重新采样数据是否具有一致的子空间属性来评估当前聚类性能,并监督生成器逐步改进子空间聚类。手写识别,面部和对象聚类任务的实验结果证明了DASC优于浅层和不太深层的子空间聚类模型。此外,据我们所知,这是相似GAN模型在无监督子空间聚类中的首次成功应用,也为深度学习解决其他无监督学习问题铺平了道路。

引言:

在本文中,我们的目标是为无监督子空间聚类问题开发新的深度学习解决方案。 与仅限于线性子空间的传统“浅”子空间聚类方法相比,深度子空间聚类显然是有利的。 它可以通过深度学习提供更强大的样本表示,并有效地聚类来自非线性子空间的样本,这可以极大地将子空间聚类扩展到更复杂的实际数据。

最近,提出了一种基于深度自动编码器的子空间聚类模型,旨在学习更好的样本表示。 然而,与那些传统的“浅层”方法一样,它仍然取决于作为监督的自我表示,这对于具有不友好分布的样本可能表现不佳(例如,内在子空间不是独立的或具有显著的交集)。 此外,现有的子空间聚类方法没有考虑获得的聚类的潜在的错误,导致学习的表示含噪声,从而降低聚类性能。

在这项工作中,因为GAN最近在无监督数据生成方面取得的成功,我们基于GAN框架,基于现有方法的上述缺点开发了一种新的无监督深度子空间聚类模型。称为深对抗子空间聚类(DASC)。它由子空间(和簇)生成器和鉴别器组成,鉴别器通过以无监督的方式评估聚类质量来监督生成器。如果生成器生成的簇是正确的,则同一簇中的样本将全部位于相同的内部子空间中,这意味着它们的任何线性组合将依旧在这个子空间中并具有相同的子空间属性,如众所周知的线性子空间性质中所述。在这种情况下,鉴别器不能检测来自内部子空间的重采样数据与簇中的原始样本之间的差异。否则,给定不准确的簇,如图1(a)所示,采样自同一簇内的跨越子空间\hat{S}偏离了样本所在的内部子空间S1 *和S2 *。然后鉴别器能够轻易地区分来自于子空间\hat{S}的重采样的边远数据(“\bigcirc”)和那些原始数据(“\bigtriangleup”和“\square”),并将这些信息作为监督反馈给生成器,以产生更好的子空间估计和样本聚类。因此,生成器逐渐改进子空间聚类,其中“\bigtriangleup”和“\square”被正确聚类,如图1(b)所示。

 

图1:我们的想法的例证。 鉴于(a)中当前的聚类错误,DASC中的鉴别器可以通过从当前聚类(即,生成器的估计子空间\hat{S})生成的假样本“\bigcirc”和原始的“\bigtriangleup”和“\square”样本来识别其质量差,因为它们具有不一致的子空间属性。 利用监督等评估信息,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中的多层非线性编码器来学习输入样本X_{i}的潜在表示z_{i}。为了迫使新表示z_{i}比原始表示X_{i}更适合子空间聚类,G引入自我表示层并最小化以下自我表示损失:

DASC旨在检查来自噪声C_{i}的再生样本与来自S_{i}^{\ast }的真实样本之间的差异,为聚类质量定义一个有效且可计算的度量,并获得额外的监督。 形式上,DASC引入了一种新的判别损失来衡量聚类C_{i}的质量:

D_{i}是对于子空间S_{i}^{\ast }的一个判别模型,通过最小化下面的判别损失来训练:

这里〜表示包括采样和线性组合的复合操作,并且将在第3.2节中更详细地解释。 采样和线性组合操作很重要,它们受子空间的关键属性(在有效子空间内线性组合样本不会产生边远样本)启发 。 DASC中的鉴别器D_{i}被训练来区分真实内在子空间S_{i}^{\ast }的“真实”样本和他的估计\hat{S}_{i}的“假”样本。 与相似GAN模型中的传统鉴别器不同,DASC中的鉴别器需要估计每个样本属于某个子空间的概率。 也就是说,它需要子空间方面的区别力。 我们在3.3节中引入了一种新的基于能量的鉴别器模型,满足这样一个关键要求。

如果来自簇C_{i}的所有“假”样本(包括线性组合)被鉴别器D分类为S_{i}^{\ast },即,等式(3)得到一个大值。则簇C_{i}具有高质量。 否则,聚类簇是错误的。 通过将这种监督反馈给生成器G,然后强制G去最大化质量(等式(3))或均衡等式(4)的鉴别器损失(等于1/2,即无法判别真假), 来产生更好的聚类样本表示和聚类结果,即C_{i}内的样本可与鉴别器D区分。在下面的小节中,我们解释了关于生成器G和鉴别器D的细节,以实现上面介绍的方法。

3.2 生成器:

DASC的生成器G通过利用样本的低维结构,学习有利于子空间聚类的判别表示,并生成子空间聚类结果。 特别是,它学会了将原始输入样本转换为潜在表示空间,其中样本可以通过线性子空间的并集很好地拟合,使用子空间成员集对样本进行聚类,并且如上面所说从每个聚类生成“真实”和“假”样本。

如图2所示,生成器使用深度卷积自动编码器将样本X_{i}非线性地变换为表示z_{i}。 然后,它使用编码器后面的自表示层来产生自表示系数\Theta _{c}(参见方程(2))。 随后将新表示Z\Theta _{c,i}送到解码器中。 这里,解码器具有与编码器对称的结构,其旨在从Z\Theta _{c}重建原始输入X_{i}以确保表示Z保留足够的样本信息。 亲和度矩阵用于聚类。

G的另一个重要功能是生成以簇C_{i}(i = 1,...,K)为条件的“真实”和“假”样本,其由图2中的采样层实现。基于通过自表示层学习的样本亲和度矩阵Λ,我们应用NCut算法将z_{i}(i = 1,...,n)聚类为K个簇C_{i}。同时,如图3所示,我们的鉴别器被设计成学习线性子空间S_{i}以匹配簇C_{i}的内部真实子空间S_{i}^{\ast }。然后根据鉴别器学习的相应子空间上的数据点的映射残差(参见3.3节中的方程(5)),鉴别器可以识别输入数据是真实的还是假的。在3.3节中查看鉴别器的详细信息 。因此,G中的采样层计算簇C_{i}中每个样本的对应到S_{i}上的映射残差,并选择具有较小残差的\bar{m}_{\ast }^{i}个“实数”数据(图3中的平坦点)。在3.4节中查看\bar{m}_{\ast }^{i}的设置。以这种方式,所选择的样本以高概率大致位于正确的固有子空间中,并且用作跨越子空间S_{i}的“真实数据”。此外,鉴别器足够强大以处理这些所选实际数据中的可能噪声。采用这种新颖的基于映射残差的真实数据采样策略,紧密结合用于聚类质量评估的基于能量的鉴别器,并通过实验验证了其有效性。

图3:关于真/假采样的插图。从错误的簇C_{i}中采样真实数据(具有正确的聚类标签)和假数据,该错误的簇C_{i}跨越不准确的子空间估计\hat{S}_{i}。 真实数据对应于鉴别器D_{i}所学习的子空间S_{i},具有比采样的假数据对应于鉴别器D_{i}所学习的子空间S_{i}小得多的映射残差,因此可以通过D_{i}来区分它们。

为了产生假数据,对于每个簇C_{i},生成器中的采样层从估计的子空间\hat{S}_{i}执行随机采样(参见图3中的紫色点)。 由于直接采样是不可微分的,我们采用[11]中的重新参数化技巧来实现可微分采样。具体地,对于每个具有m_{i}个样本的簇C_{i},采样层先从(0,1]均匀分布中采样\bar{m}_{\ast }^{i}个随机向量,然后生成\bar{m}_{\ast }^{i}个假数据

\alpha _{tj}表示\alpha_{t}的第j项。对于当前训练阶段\alpha_{t}是固定的,可以通过表示z_{i_{j}}将梯度传到编码器。 与明确计算\hat{S}_{i}然后对假数据进行采样相比,如上所述生成假数据更有效。

3.3 鉴别器:

我们构建鉴别器以实现能量函数,该能量函数将低能量分配给数据子空间附近的区域,并将更高的能量分配给其他区域。 因为对于每个聚类C_{i},鉴别器D旨在验证其真实数据z_{i}和伪数据\bar{z}_{i}是否属于相同的内在子空间,它仅需要学习一个子空间判别模型,该模型为每个簇匹配期望的固有子空间。 对于簇C_{i},让鉴别器学习的子空间S_{i}的基由参数化,其中r_{i}表示子空间维度。 然后如图3所示,鉴别器可以通过它们在U_{i}上的映射残差来区分真实数据和伪数据:

因为如果簇不准确,真实样本将比那些假样本更接近子空间。我们使用上面的映射残差来定义一个样本属于子空间S_{i}的概率,也就是鉴别器D_{i}的输出,即,用它代替等式(4)给出以下目标函数来训练簇C_{i}的鉴别器D_{i}.

为了在簇C_{i}U_{i}之间建立一对一的对应关系以计算损失\mathfrak{L}_{D},对于所有候选U_{i},每个C_{i}计算其在U_{i}上的平均投影残差并选择一个最小的平均投影残差。 如果多个簇竞争相同的U_{i},则U_{i}将选择具有最小平均映射的集群。 对于没有匹配U_{i}的任何聚类,我们在由z_{i_{j}}构成的特征矩阵上使用QR分解来计算其对应的U_{i}。 以这种方式,生成器和鉴别器的学习是一致的,因为在每次簇C_{i}将总是找到最接近其固有子空间的U_{i}

为了促进对应于不同簇的子空间的可分离性,我们引入正则化项,其中\beta _{1} > 0是常数。 它还有利于通过鉴别器D,鼓励生成器G产生对不同子空间有区别力的表示来进行聚类。 虽然我们不要求U_{i}中的基是严格正交的,但我们仍然使用作为正则化来减少每个U_{i}中的冗余,其中\beta _{2} > 0是常数,I是具有兼容维度的单位矩阵。

因此对于鉴别器最终的训练目标是

DASC中的鉴别器可以由两个全连接层的K个线性网络实现。 此外,在每个网络中,两个层共享它们的参数U_{i}。 对于输入数据z_{j},第一层和第二层的输出分别是U_{i}z_{j}U_{i}U_{i}^{T}z_{j}。 通过最小化鉴别器损失,可以学习参数 。

显然,DASC中的鉴别器是自动编码器的变体,但比[1,37]中用于图像生成的鉴别器更简单,因为我们只有两个线性映射层。 这种吸引人的简单性受益于G中的自表达层,这提供了利用线性子空间结构来设计鉴别器的便利性。 相比之下,[1,37]中的自动编码器更深,涉及非线性映射,因为数据结构仍然未知,因此需要复杂的自动编码器来学习数据结构。

3.4 训练和聚类:

 

即,通过调整G的表示学习和子空间聚类结果,鼓励生成的假数据更接近鉴别器学习的子空间,从而表明更高的聚类质量。 G的最终培训目标是将这种对抗性损失\mathfrak{L}_{a}与样本重建损失和自我表示损失相结合。

表示所有的输入样本,\hat{\mathbf{X}}自编码器对X的重构。这里\Theta表示生成器的参数,包括编码器和解码器中的参数,以及自表达层中的表示系数\Theta _{c}。 第二项表示自动编码器的重建损失,而后两项对应于等式(2)中的自我表示损失。 在\Theta _{c}上采用F-范数惩罚,因为与非平滑惩罚项相比,例\emph{l}_{1}范数, 通常,它可以更容易学习,也可以达到相当的甚至更好的性能。

我们首先预先训练发生器G而不考虑鉴别器D,即最小化等式(9)中的生成器损失,丢弃第一项\mathfrak{L}_{a}。这样,生成器可以产生相当好的初始表示。然后我们按如下方式训练整个DASC网络。首先,我们通过以下方法初始化鉴别器参数。见第4节,设置\mathbf{r}_{i}。我们在亲和度矩阵Λ上应用NCut以聚类潜在表示。然后我们使用簇C_{i}中的表示,通过QR分解来计算U_{i}。由于预训练的生成器提供了相对较好的聚类结果,因此这种策略比随机初始化更好地初始化模型。在鉴别器和生成器的联合训练期间,鉴于鉴别器的结构比发生器简单得多,我们分别在每个时期内异步更新D和G,为5次和1次。对于m_{i}个数据点的聚类C_{i},我们将真实数据和假数据的数量设置为\bar{m}_{i}^{\ast }\alpha \bar{m}_{i}^{\ast }(α∈[0.8,0.95]),这在所有实验中都很有效。预训练和微调都采用Adam算法。但他们的学习率分别为10^{-3},与[9]中一样,2\times 10^{-4}

在测试期间,我们对由生成器G输出的学习到的亲和度矩阵Λ执行谱聚类。为了公平性,我们使用[9]中的NCut算法。

4. 实验:

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shaodongheng/article/details/82932612

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签