Structural Deep Clustering Network:SDCN

发布时间 2023-04-16 18:21:30作者: 我爱读论文

论文阅读02-Structural Deep Clustering Network

模型创新点

  1. 我们提出了一种用于深度聚类的新型结构深度聚类网络 (SDCN)。所提出的 SDCN 有效地将自动编码器和 GCN 的优势新颖的交付算子和双自监督模块结合在一起。据我们所知,这是第一次明确地将结构信息应用于深度聚类

  2. 我们对提出的 SDCN 进行了理论分析,并证明 GCN 为 DNN 表示提供了近似的二阶图正则化,并且在 SDCN 中学习的数据表示等同于具有不同阶结构信息的表示的总和。基于我们的理论分析,SDCN中GCN模块的过度平滑问题将得到有效缓解

深度聚类

1. 存在问题:这篇论文之前

尽管深度聚类取得了成功,但他们通常关注数据本身的特征,因此在学习表示时很少考虑数据的结构

2. 结构信息添加到深度聚类解决问题

  1. 深度聚类需要考虑哪些结构信息?

(众所周知,结构信息表明数据样本之间的潜在相似性。然而,数据的结构通常非常复杂,即不仅存在样本之间的直接关系(也称为一阶结构),而且还存在高阶结构

二阶结构为例,这意味着对于没有直接关系的两个样本,如果它们有很多共同的邻居样本,它们应该仍然具有相似的表示。仅在深度聚类中利用低阶结构是远远不够的,如何有效地考虑高阶结构是首要问题

本篇论文如何解决:

为了捕获结构信息,我们首先构建了一个 K 最近邻 (KNN) 图,它能够揭示数据的底层结构。为了从 KNN 图中捕获低阶和高阶结构信息,我们提出了一个由多个图卷积层组成的 GCN 模块,以学习 GCN 特定的表示。

  1. 结构信息和深度聚类之间的关系是什么?

深度聚类的基本组成部分是深度神经网络 (DNN),例如自动编码器。自编码器的网络架构非常复杂,由多层组成。每层捕获不同的潜在信息。并且数据之间还存在各种类型的结构信息。那么,autoencoder中不同结构和不同层之间的关系是什么?可以使用结构以某种方式对自动编码器学习的表示进行正则化,但是,另一方面,也可以直接从结构本身学习表示。

本篇论文如何解决:

为了将结构信息引入深度聚类,我们引入了一个自动编码器模块来从原始数据中学习自动编码器特定的表示

模型

1. 模型架构图

image-20230315143854736

模型框架中可以看出该模型主要包含四个模块KNN模块、DNN模块、GCN模块和双重自监督模块

  1. 我们首先基于(非图数据)原始数据构建 KNN 图。如果是图数据直接输入到GCN
  2. 然后我们将原始数据和 KNN 图分别输入自动编码器和 GCN。
  3. 然后我们将自动编码器的每一层与相应的 GCN 层连接起来,将自动编码器特定的表示结构感知表示中。
  4. 最后,我们通过了一种双重自监督机制来监督自动编码器和 GCN 的训练进度

2. 模型模块详细介绍

1.KNN模块

该模块主要是对非图数据进行处理,通过K近邻算法构建一个K近邻的图,首先要构造相似性矩阵,从相似性矩阵中选择节点前K个作为邻居。: 根据节点特征 计算任意节点之间的相似度关系,选择与自身最大的k个连接成边。

image-20230315145504207

2.DNN 模块: 自动编码器AE

image-20230315152157602

3. GCN模块

image-20230315161441574 image-20230315162713623

4.双重自监督模块

  1. 第一重自监督模块

​ 我们使用t-分布来衡量嵌入节点Hi簇中心节点Uj 之间的相似性。

image-20230315222043866

其他论文中公式:

image-20230308105502219

*qij表示节点i属于簇j的概率,将其看作是每个节点的软聚类分配标签,如果值越大,那么可信度越高 。通过平方运算将这种可信度放大:

image-20230315162906791

image-20230315165412843

自训练聚类模块的损失函数采用KL 散度:

image-20230315162923459

聚类损失然后迫使当前分布 Q 逼近目标分布 P ,从而将这些“置信分配”设置为软标签来监督 Q 的嵌入学习

  1. 第二重自监督模块

image-20230315221527375

目标函数优势:

(1)与传统的多分类损失函数相比,KL散度以更“温和”的方式更新整个模型,防止数据表示受到严重扰动;

(2) GCN和DNN模块都统一在同一个优化目标上,使得它们的结果在训练过程中趋于一致。因为DNN模块和GCN模块的目标是逼近目标分布P,这两个模块之间有很强的联系,所以我们称之为双重自监督机制

5. SCDN 损失函数

image-20230315222211636

6.SCDN 算法流程

image-20230315222808748

7. SCDN实验结果

image-20230316111630188

  1. 我们的方法 SDCN 和 SDCNQ 在所有六个数据集中都取得了最好的结果,原因是 SDCN 成功地将结构信息整合到深度聚类中,双自监督模块引导自编码器和 GCN 的更新,使它们相互增强。
  2. SDCN 通常比 SDCNQ 获得更好的聚类结果。原因是 SDCN 使用包含 GCN 学习的结构信息的表示,而 SDCNQ类似于DAEGC 主要使用自动编码器学习的表示。在Reuters数据集上============应用GCN的一个重要前提是构建噪声较小的KNN图。

3. 实验数据详细分析

1.变体分析:

image-20230319154446755

和两种变体相比,SDCN 都取得了最好的性能。这证明了SDCN中的交替传递算子和 GCN 在提高聚类质量方面都发挥了重要作用。

2. 传播层数分析

为了研究 SDCN 是否受益于多层 GCN,我们改变了 GCN 模块的深度,同时保持 DNN 模块不变。

image-20230319155454166

结果分析:

  1. 增加 SDCN 的GCN深度可以显着提高聚类性能。由于autoencoder中每一层学习到的representations不同,为了尽可能的保留信息,我们需要将autoencoder中学习到的representations全部放到对应的GCN层中。
  2. scdn-2 比scdn-3的效果好。 1. 存在SDCN-3存在图过平滑问题,2. SDCN-3它使用的是H(2),是编码器的中间层。该层生成的表示处于从原始数据到语义表示的过渡阶段,不可避免地会丢失一些底层信息,缺乏语义信息

3. AE输入到GCN中的交替算子中平衡因子

image-20230319155826172

image-20230319155849673

结果分析:

  1. 发现平衡因子为0.5时效果最好:在四个数据集(Reuters、ACM、DBLP、Citeseer)中参数 ε = 0.5 的聚类精度达到最佳性能,这表明 GCN 模块和 DNN 模块的表示同等重要,SDCN 的改进取决于相互增强两个模块。

  2. ε =0,时为标准的GCN模型,存在过渡平滑现象,与ε =1相比,我们可以发现即使将自动编码器学习到的少量表示注入 GCN 也有助于缓解过度平滑问题