论文笔记:Structural Deep Clustering Network

前言

图神经网络已经在很多领域得到了广泛的引用,如计算机视觉,自然语言处理和推荐. 那么,图神经网络能不能提升一些基础机器学习任务(如聚类)的表现呢? 本文首次将GNN用到聚类上,提出了一种基于GNN的深度聚类算法 Structural Deep Clustering Network.
论文链接:https://arxiv.org/abs/2002.01633
github:https://github.com/lxk-yb/SDCN

1.介绍

随着深度学习的突破,神经网络在聚类等许多重要任务上取得了巨大成功,深度聚类引起了人们的广泛关注。深度聚类的基本思想是将深度学习强大的表征能力融入到聚类的目标中。因此,有效的学习数据的表征是深度聚类的关键前提。

尽管深度聚类取得了成功,但现有的工作[1][2][3][4]通常只关注数据自身的特性,在学习表征时很少考虑数据的结构。值得注意的是,在数据表征领域,考虑数据样本之间关系的重要性已经被以往的文献和结果所公认。这种结构揭示了样本之间潜在的相似性,从而为学习表征提供了有价值的指导。一种典型的方法是谱聚类,它将样本作为加权图中的节点,利用数据的图结构进行聚类。

最近,新兴的图卷积网络(GCN)同时对图结构和节点属性进行了编码,用于节点表征。目前已经有一些基于GCN的图数据聚类方法[5][6],他们通过重构图的邻接矩阵来保持数据间的结构,但是这类方法缺少了对数据自身的特性的关注。因此我们考虑如何在保持现有深度聚类框架优点的同时,加入结构化信息。

2.网络架构

论文笔记:Structural Deep Clustering Network_第1张图片
X X X是输入数据, X ^ \hat{X} X^是输出数据 , H ( L ) , H^{(L)} H(L)是经过 L L L层DNN的输出, Z ( L ) Z^{(L)} Z(L)是经过 L L L层GCN的输出, P P P是目标分布, Q Q Q节点的类别分布

3.模型详解

3.1 KNN Graph

KNN算法是什么?KNN算法的基本原理是什么?

KNN是有监督学习的K近邻的机器学习算法,K值得是最近的K个样本的意思;它的思想是 ‘近朱者赤近墨者黑’,如果空间中
某些样本具有相近的特征属性(样本距离比较近),我们可以认为它们的目标属性Y是相近的。我们可以用已有的最近K个样本
的目标属性来预测(分类:加权多票表决,回归:加权均值)待测样本的目标属性

在计算相似度矩阵S之后,选择每个样本的前K个相似度点作为其邻居,以构造无向K最近邻图
对于非图类型的数据,基于原始数据计算出一个K最近邻图,以此得到原始数据的之间的约束关系,形式为邻接矩阵。文中提到了两种近期最受欢迎的构造KNN图的方法
论文笔记:Structural Deep Clustering Network_第2张图片
论文笔记:Structural Deep Clustering Network_第3张图片

3.2 DNN Module

在本文中,使用基本的自动编码器来学习原始数据的表示,以便适应不同种类的数据特征。
编码器encoder
在这里插入图片描述
解码器decoder
在这里插入图片描述
其中原始数据特征矩阵为 H ( 0 ) H^{(0)} H(0),同时 W W W, b b b分别代表编码器和解码器的权重和偏置

损失函数
在这里插入图片描述

3.3 GCN Module

此模块说明了如何将DNN模块生成的结果应用到GCN模块中。 一旦将DNN模块学习到的结果集成到GCN中,则此时GCN通过迭代所生成的结果将同时包含两部分信息:图中节点的拓朴关系和节点自身特征,这将有利于图聚类任务,即数据本身和数据之间的关系。 特别是在权重矩阵W的情况下,可以通过以下卷积运算来获得GCN的第layer层学习到结果:
在这里插入图片描述
这就是常规的GCN形式,以切比雪夫不等式的一阶近似作为卷积核对图进行卷积操作

为了实现上面提到的模块学习结果的集成,提出了如下方法
在这里插入图片描述
作者在文章中提到一般加权比重为0.5,如此可以实现集成学习:
在这里插入图片描述
因为每个DNN都学习了表示形式层是不同的,为了尽可能保留信息,从每个DNN层学到的表示转换为相应的GCN层进行信息传播,这也就解释了上面提到的网络架构中,每一层都要进行信息的融合

第一层:
在这里插入图片描述
最后一层:
在这里插入图片描述

3.4 Dual Self-Supervised Module

现在已经在神经网络架构中将自动编码器与GCN连接起来。 但是,它们不是为聚类而设计的。 基本上,自动编码器主要用于数据表示学习,这是一种无监督的学习方案,而传统的GCN则处于半监督的学习方案。 它们都不能直接应用于聚类问题。 在这里,提出了一个双重自我监督模块,该模块将自动编码器和GCN模块统一在一个统一的框架中,并有效地端对端地训练了这两个模块以进行聚类任务的学习

对于第 i i i个样本和第 j j j个聚类,使用Student的t分布作为内核来测量数据表示 h i h_i hi和聚类中心向量 µ j µ_j µj之间的相似性,如下所示:
在这里插入图片描述
其中 h i h_i hi H ( L ) H(L) H(L)的第 i i i行, μ j μ_j μj由K-means在训练前自动编码器学习的表示形式上初始化, v v v是学生 t t t分布的自由度。 可以将 q i j q_{ij} qij视为将样本 i i i分配给聚类 j j j的概率,即软分配。 我们将 Q = [ q i j ] Q = [q_{ij}] Q=[qij]视为所有样本分配的分布

在获得聚类结果分布 Q Q Q之后,我们旨在通过从高可信度分配中学习来优化数据表示。 具体来说,我们希望使数据表示更接近聚类中心,从而提高聚类凝聚力。 因此,我们计算目标分布 P P P如下:
在这里插入图片描述在这里插入图片描述
在目标分布 P P P中,对 Q Q Q中的每个分配进行平方和归一化,以便分配具有更高的置信度,采用KL散度来比较两类概率:
在这里插入图片描述
通过最小化 Q Q Q P P P分布之间的KL散度损失,目标分布 P P P可以帮助DNN模块学习更好的聚类任务表示,即使数据表示围绕聚类中心更近。 这是一种自我监督机制,因为目标分布 P P P由分布 Q Q Q计算,并且 P P P分布监督依次更新分布 Q Q Q

至于训练GCN模块,一种可能的方法是将聚类分配视为真实标签。 但是,此策略将带来噪音和琐碎的解决方案,并导致整个模型崩溃。 如前所述,GCN模块还将提供聚类分配分布 Z Z Z。因此,我们可以使用分布 P P P来监督分布 Z Z Z,如下所示:
在这里插入图片描述
目标函数有两个优点:

  • (1)与传统的多分类损失函数相比,KL散度以更“温和”的方式更新整个模型,以防止数据表示受到严重干扰。
  • (2)GCN和DNN模块都统一在同一优化目标中,使得它们的结果在训练过程中趋于一致。 由于DNN模块和GCN模块的目标是近似目标分布P(在两个模块之间具有很强的联系),因此我们将其称为双重自监督机制。

3.5 算法

论文笔记:Structural Deep Clustering Network_第4张图片

4. 实验

论文笔记:Structural Deep Clustering Network_第5张图片
论文笔记:Structural Deep Clustering Network_第6张图片
论文笔记:Structural Deep Clustering Network_第7张图片
论文笔记:Structural Deep Clustering Network_第8张图片
论文笔记:Structural Deep Clustering Network_第9张图片
论文笔记:Structural Deep Clustering Network_第10张图片

5.参考

https://zhuanlan.zhihu.com/p/107648120

[1] Bo Yang, Xiao Fu, Nicholas D Sidiropoulos, and Mingyi Hong. 2017. Towards k-means-friendly spaces: Simultaneous deep learning and clustering. In ICML. 3861–3870.

[2] Junyuan Xie, Ross Girshick, and Ali Farhadi. 2016. Unsupervised deep embedding for clustering analysis. In ICML. 478–487.

[3] Xifeng Guo, Long Gao, Xinwang Liu, and Jianping Yin. 2017. Improved deep embedded clustering with local structure preservation. In IJCAI. 1753–1759.

[4] Zhuxi Jiang, Yin Zheng, Huachun Tan, Bangsheng Tang, and Hanning Zhou.2017. Variational deep embedding: An unsupervised and generative approach to clustering. IJCAI (2017).

[5] Thomas N Kipf and Max Welling. 2016. Variational graph auto-encoders. arXiv preprint arXiv:1611.07308 (2016).

[6] Chun Wang, Shirui Pan, Ruiqi Hu, Guodong Long, Jing Jiang, and Chengqi Zhang.

  1. Attributed Graph Clustering: A Deep Attentional Embedding Approach. IJCAI (2019).

你可能感兴趣的:(图与生成模型,图神经网络,算法,聚类,神经网络,深度学习)