聚类论文详解:Deep Subspace Clustering Networks

853 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情

论文地址:arxiv.org/abs/1709.02…

论文创新点

论文中提出了DSC-Nets网络架构,使用AE将输入数据非线性的映射到潜在空间。关键的处理方式是在编码器和解码器中间添加了一个 self-expressive layer,可以处理非线性可分的数据。使用预训练+微调的策略训练网络以学习样本数据之间的亲和力,即先训练一个没有添加自表示层的深度自编码器,在此参数基础上进行微调,以使得DSC-Nets达到一个好的收敛效果。

论文涉及相关知识

(1)子空间聚类

以无监督的方式对从低维子空间的联合中提取的数据点进行聚类。子空间聚类在计算机视觉中应用非常广泛,例如图像分割、运动分割和图像聚类。

(2)数据的自表达特性(self-expressive)

子空间联合中的每个数据点都可以通过数据集的中其他点的组合有效地重建。即每个数据样本都可以表示为同一个子空间中其他样本的线性组合。

(3)自动编码器(AE Auto-encoder)

可以将数据非线性的转换到潜在空间。目前深度AE已被证明可用于降维和图像去噪,近来常被用于初始化深度嵌入网络以进行无监督聚类。

(4)Adam优化算法

Adam优化算法是一种可以替代传统随机梯度下降过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重。随机梯度下降保持单一的学习率(即 alpha)更新所有的权重,学习率在训练过程中并不会改变。而 Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率,即它使用动量和自适应学习率来加快收敛速度。

算法模型

(1)Self-Expressiveness

image.png

在子空间独立的假设下,通过最小化 CC 的某些范数,可以保证 CC 具有块对角结构;如果将数据集中的点 xix_i 堆叠到数据矩阵 XX 的列中,那么子表达属性可以表示为X=XCX=XC,此式可用作正则化项。

因为自我表达属性仅适用于线性子空间,所以论文作者使用了深度自编码器构建网络。

(2)Self-Expressive Layer in Deep Auto-Encoders

损失函数:

image.png

其中,image.png是AE重建的数据, image.png表示解码器的输出,即数据矩阵的X的潜在表示。

(3)Network Architecture

image.png

上图是DSC-Net的网络架构,我们也可以称之为深度子空间聚类网络。我们首先需要预训练一个没有自我表达层的深度AE,然后使用这个预训练模型(也就是拿到训练好的权重文件w),对整个网络进行微调以及初始化。

具体的卷积网络流程如下:
在卷积层中,在水平和垂直方向上使用步长为 2 的卷积核,并使用ReLU激活函数进行非线性激活。给定 N 个要聚类的图像,我们在一个批次中使用所有图像。每个输入图像由卷积编码器层映射到一个潜在向量(或节点)z_i。在自我表达层中,节点使用无偏差和非线性的线性权重完全连接激活,然后通过反卷积解码器层将潜在向量映射回原始图像空间。

Training Strategy

首先在所有数据上预训练没有自我表达层的深度自编码器。然后使用训练过的参数来初始化网络中的编码器层和解码器层。在此之后,在微调阶段,使用所有数据构建一个大批量,以使用梯度下降法最小化定义的损失函数 L(Θ)L(Θ)

具体来说,使用 Adam优化算法,它是一种基于自适应动量的梯度下降方法,以最小化损失,学习率设置为 1.0 × 10^−3。由于在每个训练时期总是使用相同的批次,所以这种优化策略是一种基于确定性动量的梯度方法,而不是随机梯度方法。一旦网络经过训练,就可以使用自表达层的参数来构建用于谱聚类的亲和矩阵。