Deep Subspace Clustering Networks 翻译

摘要:

我们提出了一种新的深度神经网络架构,用于无监督子空间聚类。 该架构基于深度自动编码器,可将输入数据非线性映射到潜在空间。 我们的关键思想是在编码器和解码器之间引入一种新颖的自我表达层,来模仿已证明在传统子空间聚类中有效的“自我表示”特性。 由于具有可微分性,我们新的自我表达层提供了一种简单而有效的方法,通过标准的反向传播过程来学习所有数据点之间的成对亲和力。 作为非线性,我们的基于神经网络的方法能够聚类具有复杂(通常是非线性)结构的数据点。 我们进一步提出了预训练和微调策略,让我们有效地学习子空间聚类网络的参数。 我们的实验表明,我们的方法明显优于最先进的无监督子空间聚类技术。

1 引言:

在本文中,我们解决了子空间聚类问题- 无监督学习的子领域 - 其目的是以无监督的方式聚类从低维子空间的并集中提取的数据点。 子空间聚类已经成为一个重要的问题,因为它已经在计算机视觉中发现了各种应用,例如图像分割,运动分割和图像聚类。 例如,在Lambertian反射率下,使用固定姿势和变化的光照条件获得的一个主体的面部图像位于接近9的维度的低维子空间中。 因此,可以使用子空间聚类来根据其各自的主题对多个主题的图像进行分组。

最近关于子空间聚类的工作集中在聚类线性子空间上。 但是,实际上,数据不一定符合线性子空间模型。 例如,在面部图像聚类的示例中,反射率通常是non-Lambertian的,并且对象的姿势通常是变化的。 在这些条件下,一个主体的面部图像更可能位于非线性子空间(或子流形)中。 一些工作已经提出利用内核技巧来解决非线性子空间的情况。 然而,不同内核类型的选择在很大程度上是经验性的,并且没有明确的理由相信对应于预定义内核的隐含特征空间真的非常适合于子空间聚类。

相比之下,在本文中,我们引入了一种新颖的深度神经网络架构,去(以无监督的方式)学习适合子空间聚类的数据的明确的非线性映射。为此,我们在深度自动编码器上构建深度子空间聚类网络(DSC-Nets),通过一系列编码器层将数据点非线性地映射到潜在空间。我们的关键贡献包括在编码器和解码器之间的连接处引入一种新颖的自我表达层 - 一个没有偏置和非线性激活的全连接层。该层对从子空间的并集中提取的数据的“自我表示”特性进行编码,即,每个数据样本可以表示为同一子空间中的其他样本的线性组合。据我们所知,我们的方法是第一次尝试直接在一个神经网络内学习所有数据点之间的亲和力(通过组合系数)。此外,我们提出有效的预训练和微调策略,以无监督的方式和有限的数据来学习我们的DSC-Nets的参数。

我们使用Extended Yale B和ORL数据集广泛评估我们的方法在面部聚类上的效果。使用COIL20和COIL100,评估我们的方法对于一般对象聚类的效果。 我们的实验表明,我们的DSC-Nets明显优于最先进的子空间聚类方法。

2 相关工作:

子空间聚类。多年来,已经开发了许多用于线性子空间聚类的方法。通常,这些方法包括两个步骤:第一个也是最关键的一个步骤旨在估计每对数据点的亲和力,以形成亲和度矩阵;然后,第二步使用该亲和度矩阵应用归一化切割或谱聚类。然后可以将得到的方法大致分为三类:因子分解方法,基于高阶模型的方法和基于自我表达的方法。本质上,因子分解方法通过对数据矩阵进行因式分解来建立亲和度矩阵,而基于高阶模型的方法通过利用局部子空间模型拟合的残差来估计亲和度。最近,寻求将数据点表示为同一子空间中其他点的线性组合的基于自我表达的方法已成为最流行的方法。这些方法使用组合系数矩阵构建亲和度矩阵。与因子分解技术相比,当依赖正则化项来处理数据损坏时,基于自我表达的方法通常对噪声和异常值更加鲁棒。与基于高阶模型的方法相比,它们还具有考虑所有数据点之间的连接而不是只利用局部模型的优势,这些只利用局部模型的方法通常是次优的。为了处理数据点不完全位于线性子空间的并集中而处于非线性子空间的情况,一些工作已经提出用预定义的核矩阵(例如,多项式内核和高斯RBF内核)替换数据矩阵的内积。但是,没有明确的理由说明为什么这些内核应该对应于非常适合子空间聚类的特征空间。相比之下,在这里,我们建议明确地学习一个。

自动编码器。自动编码器(AEs)可以将数据非线性地转换为潜在空间。 当这个潜在空间的维度小于原始空间时,这可以看作是非线性PCA的一种形式。 自动编码器通常由编码器和解码器组成,以定义数据重建损失。 随着深度学习的成功,深度(或堆叠)AE已成为无监督学习的流行方式。 例如,深度AE已被证明可用于降低维数和图像去噪。 最近,深度AE也被用于初始化深度嵌入网络以进行无监督聚类。 深度AE的卷积版本也被应用于提取分层特征和初始化卷积神经网络(CNN)。

文献中很少有将深度学习与子空间聚类相结合的工作。 据我们所知,唯一的例外是[36],它首先从图像中提取SIFT 或HOG 特征,并将它们送到具有稀疏子空间聚类先验的全连接的深度自动编码器。 然后通过在学习的自动编码器特征上应用k均值或SSC来获得最终聚类。 实质上,[36]可以被认为是基于具有深度自动编码器特征的k均值或SSC的子空间聚类方法。 我们的方法与[36]的显著不同之处在于,由于我们新的自我表示层,我们的网络旨在直接学习亲和力。

3 深度子空间聚类网络(DSC-Nets):

我们的深子空间聚类网络利用深度自动编码器和自我表示特性。 在介绍我们的网络之前,我们首先更详细地讨论这个属性。

3.1 自我表示:

给定从多个线性子空间\left \{ S_{i} \right \}_{i=1,... ,K}中获取的数据点\left \{ \mathbf{x}_{i} \right \}_{i=1,... ,N},可以将子空间中的点表示为同一子空间中其他点的线性组合。 在文献[38,9]中,这种特性被称为自我表示。 如果我们将所有点\mathbf{x}_{i}堆叠成数据矩阵X的列,则自表示属性可以简单地表示为单个方程,即X = XC,其中C是自表示系数矩阵。 在[15]中已经表明,在假设子空间是独立的情况下,通过最小化C的某些范数,C保证具有块对角结构(直到某些排列),即,c_{ij}\neq 0,且点\mathbf{x}_{i}和点\mathbf{x}_{j}位于相同的子空间中。 因此,我们可以利用矩阵C来构建用于谱聚类的亲和度矩阵。 在数学上,这个想法被形式化为优化问题

其中\left \| \cdot \right \|_{p}表示任意矩阵范数,C上的可选对角线约束阻止了稀疏引入范数的平凡解,例如\mathit{l}_{1}范数。 在文献中已经提出了C的各种范数,例如,稀疏子空间聚类(SSC)中的\mathit{l}_{1}范数,低秩表示(LRR)和低秩子空间聚类(LRSC)中的核范数,以及最小二乘回归中的Frobenius范数(LSR)和高效密集子空间聚类(EDSC)。 为了解决数据损坏,(1)中的等式约束经常被放宽作为正则化项,导致

不幸的是,自我表示属性仅适用于线性子空间。 虽然基于内核的方法旨在解决非线性情况,但尚不清楚预定义内核是否会产生非常适合子空间聚类的隐式特征空间。 在这项工作中,我们的目标是学习一个明确的映射,使子空间更加可分。 为此,如下所述,我们建议在深度自动编码器上构建我们的网络。

3.2 深度自动编码器的自我表示层:

我们的目标是训练深度自动编码器,例如图1所示的编码器,使得其潜在表示非常适合子空间聚类。 为此,我们引入了一个编码自我表示概念的新层。

图1:深度卷积自动编码器:输入\mathbf{x}_{i}通过编码器映射到z_{i},然后通过解码器重建为\hat{x}_{i}。 我们使用阴影圆圈来表示数据向量和阴影方块表示卷积或反卷积后的通道。 我们不强制相应的编码器和解码器层的权重是成对的(或相同)。

具体地,令Θ表示自动编码器参数,其可被分解为编码器参数\Theta _{e}和解码器参数\Theta _{d}。 此外,让Z_{\Theta _{e}}表示编码器的输出,即数据矩阵X的潜在表示。为了编码自我表示,我们引入了一个新的损失函数,定义为:

其中\hat{X}_{\Theta }表示由自动编码器重建的数据。 为了最小化(3),我们建议利用以下事实:如下所述,C可以被认为是附加网络层的参数,这允许我们使用反向传播来联合求解Θ和C。(注意,也可以在Θ和C之间交替最小化。但是,由于损失是非凸的,这不会提供更好的收敛保证,并且需要调查优化中的步骤数量对于聚类结果上的Θ的影响。)

具体而言,考虑(3)中的自表示项,。由于每个数据点z_{i}(在潜在空间中)通过权重c_{ij}和其他点\left \{ z_{j} \right \}_{j=1,... ,N}(可选项,j\neq i)的加权线性组合来近似,因此该线性运算准确地对应于集合没有非线性激活的线性神经元。因此,如果我们将每个z_{i}作为网络中的一个节点,我们就可以用一个全连接的线性层来表示自我表示项,我们将其称为自我表达层。自表达层的权重对应于(3)中的矩阵C,其进一步用于构建所有数据点之间的亲和度。因此,我们的自我表达层基本上允许我们通过网络直接学习亲和度矩阵。此外,最小化\left \| C \right \|_{p}简单地转换为向自表达层的权重添加正则化项。在这项工作中,我们考虑C上的两种正则化:(i)\mathit{l}_{1}范数,由DSC-Net-L1表示网络; (ii)\mathit{l}_{2}范数,由DSC-Net-L2表示网络。

对于符号一致性,让我们将自表示层(它们只是C的元素)的参数表示为\Theta _{s}。 从图2中可以看出,然后我们将输入送到到我们网络的解码器部分,变换为潜在表示Z_{\Theta _{e}}\Theta _{s}。 这让我们重新编写了我们的损失函数

现在网络参数\tilde{\Theta }由编码器参数\Theta _{e},自我表示层参数\Theta _{s}和解码器参数\Theta _{d}组成。重构数据\hat{X}的函数而不是(3)中的

图2:深度子空间聚类网络:作为一个例子,我们展示了一个深度子空间聚类网络,其中包含三个卷积编码器层,一个自表达层和三个反卷积解码器层。 在训练过程中,我们首先对没有自我表示层的深度自动编码器进行预训练; 然后,我们使用这个预先训练好的初始化模型对整个网络进行微调。

3.3 网络结构:

我们的网络由三部分组成,即堆叠编码器,自表达层和堆叠解码器。整个网络架构如图2所示。在本文中,由于我们专注于图像聚类问题,我们提倡使用卷积自动编码器,其参数少于完全连接的自动编码器,因此更容易训练。但请注意,完全连接的自动编码器也与我们的自我表达层兼容。在卷积层中,我们在水平和垂直方向上使用具有步幅2的内核,并且对于非线性激活使用整流线性单元(ReLU)。给定要聚类的N个图像,我们在一个批次中使用所有图像。每个输入图像由卷积编码器层映射到潜在向量(或节点)z_{i},在图2中以阴影圆圈表示。在自表达层中,节点使用线性权重全连接,没有偏置和非线性激活。然后通过反卷积解码器层将潜在矢量映射回原始图像空间。

对于具有内核大小为k_{i}\times k_{i}n_{i}个通道的第i个编码器层,权重参数的数量为,其中n_{0} = 1.由于编码器和解码器具有对称结构,因此它们的参数总数为加偏置参数的数量。对于N个输入图像,自表示层的参数数量为N^{2}.例如,如果我们有三个编码器层,分别有10,20和30个通道和所有卷积核的大小为3×3,编码器和解码器的参数数量为.如果我们有1000个输入图像 那么,自表达层中的参数数量是10^{6}.因此,网络参数通常由自表达层的那些参数支配。

3.4 训练策略:

由于用于无监督子空间聚类的数据集的大小通常是有限的(例如,数千个图像的数量级),因此我们的网络仍然保持在易处理的大小。 然而,出于同样的原因,从头开始直接训练具有数百万个参数的网络仍然是困难的。 为了解决这个问题,我们设计了下面描述的预训练和微调策略。 请注意,这也使我们能够避免不重要的全零解,同时最大限度地减少损失(4)。

如图2所示,我们首先在我们拥有的所有数据上预先训练深度自动编码器而不使用自我表达层。 然后,我们使用训练的参数初始化网络的编码器和解码器层。 在此之后,在微调阶段,我们使用所有数据构建一个大batch,以使用梯度下降法最小化(4)中定义的损失\tilde{L}\left ( \Theta \right )。 具体来说,我们使用Adam,一种基于自适应动量的梯度下降法来最小化损失,我们在所有实验中将学习率设置为1.0\times 10^{-3}。 由于我们总是在每个训练epoch使用相同的batch,我们的优化策略是基于确定性动量的梯度方法而不是随机梯度方法。 另请注意,由于我们只能访问用于训练的图像而不能访问簇标签,因此我们的训练策略是无监督的(或自我监督的)。

一旦网络被训练,我们就可以使用自我表达层的参数来构建用于谱聚类的亲和度矩阵,如图3所示。虽然这样的亲和度矩阵原则上可以计算为 ,多年来,该领域的研究人员已经开发出许多启发式方法来改进最终的矩阵。 由于文献中没有全球公认的解决方案,我们利用了SSC 和EDSC 采用的启发式方法。 由于空间不足,我们向读者推荐SSC的公开实现和[15]的第5节,以及我们的算法的TensorFlow实现以获得更多细节。

https://github.com/panji1990/Deep-subspace-clustering-networks

图3:从自我表达层的参数,我们构建一个亲和度矩阵,我们用它来执行谱聚类以获得最终的聚类。 

4 实验:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值