【原文】Chun Wang, Shirui Pan, Ruiqi Hu, Guodong Long, Jing Jiang, Chengqi Zhang. Attributed Graph Clustering: A Deep Attentional Embedding Approach.
Comments: Accepted to IJCAI-19
Subjects: Machine Learning ; Machine Learning
Cite as: arXiv:1906.06532
图聚类是网络中发现社区和群体的的一项基本任务。最近的研究主要集中在紧凑图嵌入(compact graph embedding)的深度学习方法,在此基础上应用了经典的聚类算法「k-means, 谱聚类」。由于图嵌入不是目标导向的,导致这些两步框架很难操作,并且通常会导致次优的性能。
本文提出了一种目标导向的深度学习方法----深度注意嵌入图聚类(简称DAEGC)。方法侧重于属性图,以充分探究图中信息的两个方面。通过使用注意力网络捕获相邻节点对目标节点的重要性,将图形中的拓扑结构和节点内容编码为紧凑的表示形式,训练内部乘积解码器以重构图形结构。此外,将根据图嵌入本身生成软标签,以监督自训练图聚类过程,从而迭代地优化聚类结果。
图聚类的目的是将图中的节点划分为互不相交的组。典型的应用包括社区检测、群体细分、企业社交网络中的功能群体发现。此外,对于属性图聚类,关键问题是如何捕获结果关系并利用节点内容信息。
为解决这一问题,现有研究采用了深度学习技术来学习紧凑表示,以挖掘内容和结构数据的丰富信息。
然而所有这些基于图嵌入的方法都是两步方法。为了实现两个步骤的互相促进,目标导向的训练框架是非常可取的。传统的目标导向训练模型大多应用于分类任务。现有的关于图聚类的目标定向嵌入方法的研究较少。
在此基础上,本文提出了一种基于属性图聚类的目标定向图注意自动编码器。为了利用多类图数据之间的关系,本文进一步提出了一种用于学习潜在表示的图注意自动编码器。该编码器利用图注意网络的结构和节点信息,多层编码器进行堆叠,以构建一个用于嵌入学习的深度架构。另一边的解码器则对拓扑图信息进行重构,并对潜在图表示进行操作。本文进一步采用了一个自训练模块,它对“有信心“的集群作为软标签来指导优化过程。本文的主要贡献总结如下:
- 开发了一种基于图注意力的自动编码器,以有效地整合结构和内容信息,用于深度潜在表征学习
- 提出了一种目标导向带属性图聚类框架。该框架将嵌入学习和图聚类进行了联合优化,实现了两个组件的双赢
- 实验结果表明,该算法的性能优于最新的图形聚类方法。
本文考虑带属性图的聚类问题。图表示为 = (, , ),其中 由一组节点组成, 是节点间的一组边。图的拓扑结构可以用邻接矩阵 表示, = 1 则表示节点和节点之间存在边, 是属性值,其中是顶点v相关的实质属性向量。
对于图,图聚类的目的是将图中的节点划分为个不相交的组,使得同一簇内的节点一般为: 「图结构上相近,距离较远」。「更有可能具有相似的属性值」。
本文的框架如下图所示,由两部分组成: 一个图注意力自动编码器和一个自训练聚类模块。解释如下:
图注意自动编码器:本文的自动编码器以属性和图结构作为输入,通过最小化重构损失来学习潜在嵌入
自训练聚类:自训练模块根据学习到的表示进行聚类,同时根据当前聚类结果操作潜在表示。
为了同时表示图结构和节点内容,本文提出了一个图注意网络的变体作为图编码器。其思想是通过关注其邻居来学习每个节点的隐藏表示,并在隐藏表示中将属性值与图结构相结合。最直接的策略是将它的表示与他的所有邻居整合起来。为了度量不同邻居的重要性,在分层图注意策略中,对邻居表示给出了不同的权重:
其中,左边表示节点的输出表示,表示节点的邻居,表示注意力系数,表示邻居节点对解节点的重要程度,是一个非线性函数。为了计算,我们从属性值和拓扑距离两个方面度量了节点的重要性。
从拓扑上,邻居节点通过边来表示目标节点。GAT只考虑图注意的1跳邻居节点。由于图具有复杂的结构关系,本文建议在编码器中利用高阶邻居。考虑图中的 阶邻居节点,得到邻近矩阵:
这里 是转移矩阵,如果 ∊ ,则 = / . 其中是节点 的度,否则为0。因此为节点与节点在阶内的拓扑相关性。其中可以针对不同的数据集灵活选择,以平衡模型的精度和效率。
注意力系数通常书用softmax函数对所有邻域 ∊ 进行归一化,使其在节点间易于比较:
加上拓扑权重和激活函数,系数可以表示为:
本文有 = ⁰ 作为问题的输入,将两个图注意层堆叠起来:
通过这种方式,本文的编码器将结构和节点属性编码为一个隐藏的表示,即 = ⁽²⁾
现在有各种各样的解码器,它们重构图的结构、属性值或两者都重构。由于之前的潜在嵌入已经包含了内容和结构的信息,所以本文选择了一种简单的内积解码器来预测节点之间的链接:
其中Α_hat为图的重构结构矩阵。
我们通过度量A和A_hat之间的不同来最小化重构误差。
图聚类任务是无监督的,在训练过程中无法反馈学到的嵌入是否得到了很好的优化。为了了应对这一挑战,本文开发了一种自优化的嵌入算法作为解决方案。
除了优化重构误差之外,本文还将我们的隐藏嵌入放到自优化聚类模块中,使以下目标最优化:
这里,度量节点嵌入与聚类中心的相似度。
可以看作是每个节点的软聚类分配分布(soft clustering assignment distributions)。另一方面,是目标分布,定义为:
在Q中,高概率的软分配被认为是值得信任的。因此,目标分配P将Q提高2次方,以强调那些“自信分配”的作用。聚类损失迫使当前分布Q接近目标分布P,从而将这些“自信赋值”设置为软标签来监督Q的内嵌学习。
为此,本文首先训练不带自优化聚类部分的字编码器,以获得获得像(7)所述的有意义的。然后执行自优化聚类来改进这种嵌入。通过(11)得到的所有节点Q的软聚类分配分布,在训练整个模型之前,对嵌入进行一次k-means聚类,得到初始的聚类中心布局。
在接下来的训练中,使用基于相对于和的梯度的随机梯度下降更新聚类中心和。
根据(12)计算目标分布 ,根据(10)计算聚类损失。
目标分布P在训练过程中作为“ground-truth label”,但也依赖于当前的软分配,每次迭代都会更新。在每一次迭代中更新是危险的,作为目标的不断变化会阻碍学习和收敛。为了避免自优化过程中的不稳定性,本文在实验中每5次更新。
综上所述,本文将聚类损失最小化,帮助自动编码器利用嵌入自身的特性来操纵嵌入空间,分散嵌入点,从而获得更好的聚类性能。
本文联合优化了自动编码器和聚类学习,并将最终优化函数定义为:
其中和分别为聚类损失和重构损失,≥0为控制两者平衡的系数。可以从上次优化的中直接得到聚类结果,对于节点的估计的标签可以得到:
这就是最后一个软分配分布中最有可能的分配。我们在算法1中得到总结,本文的算法有以下优点:
相互剥削。基于图注意网络的自动编码器有效地利用了结构信息和内容信息之间的相互作用。
聚类专门化嵌入。提出的自训练聚类组件对嵌入进行操作,提高了聚类性能。
共同学习。该框架在统一框架下联合优化了loss函数的两部分,学习嵌入和聚类。