论文阅读02-Structural Deep Clustering Network
模型创新点
-
我们提出了一种用于
深度聚类的新型结构深度聚类网络 (SDCN)
。所提出的 SDCN 有效地将自动编码器和 GCN 的优势
与新颖的交付算子和双自监督模块结合在一起
。据我们所知,这是第一次明确地将结构信息应用于深度聚类
。 -
我们对提出的 SDCN 进行了理论分析
,并证明 GCN 为 DNN 表示提供了近似的二阶图正则化
,并且在 SDCN 中学习的数据表示等同于具有不同阶结构信息的表示的总和
。基于我们的理论分析,SDCN中GCN模块的过度平滑问题将得到有效缓解
。
深度聚类
1. 存在问题:这篇论文之前
尽管深度聚类取得了成功,但他们通常关注数据本身的特征
,因此在学习表示时很少考虑数据的结构
2. 结构信息添加到深度聚类解决问题
- 深度聚类需要考虑哪些结构信息?
(众所周知,结构信息表明数据样本之间的潜在相似性
。然而,数据的结构通常非常复杂,即不仅存在样本之间的直接关系(也称为一阶结构)
,而且还存在高阶结构
。
以二阶结构为例
,这意味着对于没有直接关系的两个样本
,如果它们有很多共同的邻居样本
,它们应该仍然具有相似的表示
。仅在深度聚类中利用低阶结构是远远不够的
,如何有效地考虑高阶结构是首要问题
;
本篇论文如何解决:
为了捕获结构信息,我们首先构建了一个 K 最近邻 (KNN) 图
,它能够揭示数据的底层结构。为了从 KNN 图中捕获低阶和高阶结构信息
,我们提出了一个由多个图卷积层组成的 GCN 模块,以学习 GCN 特定的表示。
- 结构信息和深度聚类之间的关系是什么?
深度聚类的基本组成部分是深度神经网络 (DNN)
,例如自动编码器。自编码器的网络架构非常复杂,由多层组成。每层捕获不同的潜在信息。并且数据之间还存在各种类型的结构信息
。那么,autoencoder中不同结构和不同层之间的关系是什么?可以使用结构以某种方式对自动编码器学习的表示进行正则化
,但是,另一方面,也可以直接从结构本身学习表示。
本篇论文如何解决:
为了将结构信息引入深度聚类,我们引入了一个自动编码器模块
来从原始数据中学习自动编码器特定的表示
。
模型
1. 模型架构图
从模型框架中可以看出该模型主要包含四个模块:KNN模块、DNN模块、GCN模块和双重自监督模块。
- 我们首先基于(非图数据)原始数据构建 KNN 图。如果是图数据直接输入到GCN
- 然后我们将原始数据和 KNN 图分别输入自动编码器和 GCN。
- 然后我们将自动编码器的每一层与相应的 GCN 层连接起来,将自动编码器特定的表示结构感知表示中。
- 最后,我们通过了一种双重自监督机制来监督自动编码器和 GCN 的训练进度
2. 模型模块详细介绍
1.KNN模块
该模块主要是对非图数据进行处理,通过K近邻算法构建一个K近邻的图,首先要构造相似性矩阵,从相似性矩阵中选择节点前K个作为邻居。: 根据节点特征 计算任意节点之间的相似度关系,选择与自身最大的k个连接成边。
2.DNN 模块: 自动编码器AE
3. GCN模块
4.双重自监督模块
- 第一重自监督模块
我们使用t-分布来衡量嵌入节点Hi 和簇中心节点Uj 之间的相似性。
其他论文中公式:
*qij表示节点i属于簇j的概率,将其看作是每个节点的软聚类分配标签,如果值越大,那么可信度越高 。通过平方运算将这种可信度放大:
自训练聚类模块的损失函数采用KL 散度:
聚类损失然后迫使当前分布 Q 逼近目标分布 P ,从而将这些“置信分配”设置为软标签来监督 Q 的嵌入学习
- 第二重自监督模块
目标函数优势:
(1)与传统的多分类损失函数
相比,KL散度以更“温和”的方式更新整个模型
,防止数据表示受到严重扰动;
(2) GCN和DNN模块都统一在同一个优化目标上
,使得它们的结果在训练过程中趋于一致。因为DNN模块和GCN模块的目标是逼近目标分布P
,这两个模块之间有很强的联系,所以我们称之为双重自监督机制
。
5. SCDN 损失函数
6.SCDN 算法流程
7. SCDN实验结果
- 我们的方法 SDCN 和 SDCNQ 在所有六个数据集中都取得了最好的结果,原因是
SDCN 成功地将结构信息整合到深度聚类中,双自监督模块引导自编码器和 GCN 的更新,使它们相互增强。
SDCN 通常比 SDCNQ 获得更好的聚类结果
。原因是 SDCN 使用包含 GCN 学习的结构信息的表示,而 SDCNQ类似于DAEGC 主要使用自动编码器学习的表示
。在Reuters数据集上============应用GCN的一个重要前提是构建噪声较小的KNN图。
3. 实验数据详细分析
1.变体分析:
和两种变体相比,SDCN 都取得了最好的性能。这证明了SDCN中的交替传递算子和 GCN 在提高聚类质量方面都发挥了重要作用。
2. 传播层数分析
为了研究 SDCN 是否受益于多层 GCN,我们改变了 GCN 模块的深度,同时保持 DNN 模块不变。
结果分析:
- 增加 SDCN 的GCN深度可以显着提高聚类性能。由于autoencoder中每一层学习到的representations不同,为了尽可能的保留信息,我们需要将autoencoder中学习到的representations全部放到对应的GCN层中。
- scdn-2 比scdn-3的效果好。 1. 存在SDCN-3存在图过平滑问题,2. SDCN-3它使用的是H(2),是编码器的中间层。该层生成的表示处于从原始数据到语义表示的过渡阶段,不可避免地会丢失一些底层信息,缺乏语义信息
3. AE输入到GCN中的交替算子中平衡因子
结果分析:
-
发现平衡因子为0.5时效果最好:在四个数据集(Reuters、ACM、DBLP、Citeseer)中参数 ε = 0.5 的聚类精度达到最佳性能,这表明 GCN 模块和 DNN 模块的表示同等重要,SDCN 的改进取决于相互增强两个模块。
-
ε =0,时为标准的GCN模型,存在过渡平滑现象,与ε =1相比,我们可以发现即使将自动编码器学习到的少量表示注入 GCN 也有助于缓解过度平滑问题