论文题目:Heterogeneous Graph Attention Network (HAN)异构图注意力网络
作者:北京邮电大学Xiao Wang,Houye Ji等人
来源:WWW2019
论文链接:https://arxiv.org/pdf/1903.07293.pdf
tensorflow版代码Github链接:https://github.com/Jhy1993/HAN
介绍视频:https://www.bilibili.com/video/av53418944/
最近,深度学习中最令人兴奋的进步之一是注意机制,它的巨大潜力在各个领域。
本文首先提出了一种基于层次注意力的异构图神经网络,包括节点级注意力和语义级注意力。具体地说:
通过从节点级和语义级两个层次上学习重要性,可以充分考虑节点和元路径的重要性。该模型通过对基于元路径的邻域特征进行分层聚合,生成节点嵌入。在三个真实世界的异质图上的大量实验结果不仅显示了我们所提出的模型比现有的模型更优越的性能,而且也显示了它潜在的良好的图分析的可解释性。
现实世界中的数据通常与图表结构(如社交网络、引文网络和万维网)结合在一起。图形神经网络(GNN)作为一种强大的图形数据深度表示学习方法,在网络分析方面表现出了优异的性能,引起了广泛的研究兴趣。例如,[10,20,24]利用深度神经网络来学习基于节点特征和图结构的节点表示。一些文献[6,14,18]将卷积运算推广到图上,提出了图卷积网络。深度学习的一个最新研究趋势是注意机制,它处理可变大小的数据,并鼓励模型关注数据中最显著的部分。它在深层神经网络框架中的有效性得到了证明,并被广泛应用于文本分析[1]、知识图[25]和图像处理[38]等领域。图注意网络(GAT)[35]是一种新颖的卷积型图神经网络,它利用了只包含一类节点或链接的齐次图的注意机制。
尽管注意机制在深度学习中取得了成功,但在异构图的图神经网络框架中却没有得到考虑。事实上,现实世界中的图通常带有多种类型的节点和边,也被广泛称为异构信息网络(HIN)[28]。为了方便起见,本文统一称之为异构图。由于异构图包含的信息更加全面,语义更加丰富,因此在许多数据挖掘任务中得到了广泛的应用。元路径[32]是连接两个对象的复合关系,是一种广泛使用的语义捕获结构。根据元路径的不同,异构图中节点之间的关系可以有不同的语义。由于异构图形的复杂性,传统的图形神经网络不能直接应用于异构图形。基于以上分析,在设计具有注意机制的异构图神经网络体系结构时,需要解决以下新的需求。
以 Graph Convolutional Network,Graph Attention Network 为代表的图神经网络已经引起了学术界与工业界的广泛关注。然而,目前的图神经网络主要针对同质图(节点类型和边类型单一)设计,但真实世界中的图大部分都可以很自然地建模为异质图(多种类型的节点和边)。如图 1 所示,IMDB 数据中包含三种类型的节点 Actor、Movie 和 Director,两种类型的边 Actor-Movie 和 Movie-Director。
相对于同质图神经网络,异质图神经网络具有更强的现实意义可以更好的满足工业界需求。如阿里巴巴正在建设亿级节点十亿级边的异质图神经网络平台 AliGraph 来满足整个阿里集团各种商业化场景需求。因此亟需展开面向异质图的图神经网络模型研究,而异质图的异质性却又给设计图神经网络带来了巨大的挑战。
在异构图中,两个节点可以通过不同的语义路径连接,称为元路径(meta-path),如图1中,Movie-Actor-Movie(MAM)和Movie-Year-Movie (MYM)都是不同的meta-path。不同的meta-path有不同的语义。如图1中, meta-path Movie-Actor-Movie (MAM)表示电影的演员相同, meta-path Movie-Director-Movie (MDM) 表示电影的导演相同。
在设计异质图神经网络的时候,从异质图的复杂结构出发,需要满足下面三个要求:
本文提出了一种同时考虑节点级和语义级注意的异构图注意网络HAN。特别是,给定输入的节点特征,我们使用类型特定的转换矩阵将不同类型的节点特征投影到同一空间。然后,节点级注意能够学习节点与其基于元路径的邻居之间的注意值,而语义级注意旨在学习异构图中特定任务的不同元路径的注意值。基于这两个层次的学习注意值,我们的模型能够以层次化的方式得到邻域和多个元路径的最优组合,使得学习节点嵌入能够更好地捕捉到异构图中复杂的结构和丰富的语义信息。在此之后,整个模型可以以端到端的方式进行优化,我们的工作总结如下:•据我们所知,这是基于注意机制的异构图神经网络研究的第一次尝试,我们的工作使图神经网络能够直接应用于异构图,进一步促进了异构图的应用节点级和语义级注意力。由于这种层次性的关注,被提议的HAN可以同时考虑节点和元路径的重要性。此外,我们的模型是高效的,对于基于元路径的结点对的数目具有线性复杂度,可以应用于大规模的异构图。通过与现有模型的比较,证明了该模型的优越性。更重要的是,通过分析层次注意机制,提出的HAN证明了它对异质图分析具有潜在的良好解释能力。
图神经网络(GNNs)旨在扩展深度神经网络来处理任意图结构的数据。李玉佳等。[20] 提出了一种包含门控递归单元的跨节点信息传播模型。近年来,在图结构数据上出现了大量的广义卷积运算。图卷积神经工作一般分为两类,即谱域和非谱域。一方面,谱方法处理图的谱表示。琼·布鲁纳等人。[2] 通过寻找相应的fourier基,将卷积推广到一般图。Michaël等人。〔6〕利用K阶切比雪夫多项式在谱域中逼近平滑滤波器。Kipfet等人。〔18〕提出了一种谱图卷积网络,它是通过谱图卷积的一阶近似来设计一个图卷积网络,另一方面,我们也有非谱方法,它直接在图上定义卷积,在空间上的近邻组上操作。Hamilton等人。[14] 介绍GraphSAGE,它在固定大小的节点邻居上执行基于神经网络的聚合器。它可以学习一个函数,该函数通过聚集来自节点Zs局部邻域的特征来生成嵌入。注意力 机制,如自我注意[34]和软注意[1],已经成为深度学习中最有影响力的机制之一。已有的一些工作介绍了基于图的应用的注意机制,如建议[15,16],受注意机制的启发,提出了图注意网络[35]来学习节点与其邻域之间的重要性,并融合邻域进行节点分类。然而,上述图神经网络不能处理各种类型的节点和边,只能应用于同构图。
网络嵌入,即网络表示学习(NRL),是将网络嵌入到一个低维空间中,同时保留网络的结构和性质,从而将学习到的嵌入应用到下游网络任务中。例如,基于随机游走的方法[12,23]、基于深神经网络的方法[36]、基于矩阵分解的方法[22,37]和其他方法,例如LINE[33]。然而,所有这些算法都是针对齐次图提出的。一些详细的评论可以在[5,11]中找到。异构图嵌入主要关注基于元路径的结构信息的保存。
综上所述,这些算法都没有考虑异构图表示学习中的注意机制。
HAN模型遵循一个层次注意力结构:节点级注意力→语义级注意力。图2展示了HAN的整个框架。首先,我们提出节点级注意力来学习基于元路径的邻域的权值,并对其进行聚合得到语义特定的节点嵌入,然后,HAN通过语义级注意力来区分元路径的不同,从而得到特定任务的语义特定的节点嵌入的最优加权组合。
文中的一些相关定义如下:
给定某条元路径,我们可以利用节点级别注意力来学习特定语义下(Semantic-specific)的节点表示。我们首先将不同类型的节点属性通过投影矩阵变换到统一的属性空间。
其中,是投影矩阵,和分别是投影前后的节点特征。这里基于自注意力机制(self-attention)设计了节点级别注意力。具体来说,节点级别注意力将节点对的表示拼接起来并利用注意力向量来学习节点与其邻居间的重要性。
其中,是节点对 (i, j) 的注意力权重。注意这里的注意力是非对称的,这也符合图数据的实际特性。最后,通过节点级别的聚合操作(如图 3 (a) 所示)来学习 Semantic-specific 的节点表示。每个节点的表示都是由其邻居表示加权融合得到。
其中,是节点在某条元路径下的表示。给定某条元路径,节点级别注意力可以学习到节点在某个语义下的表示。但是,在实际异质图中往往存在多条不同语义的元路径,单条元路径只能反映节点某一方面的信息。为了全面的描述节点,我们需要融合多条元路径的语义信息。
为了使训练过程更稳定,使用multi-head机制,即重复节点级attention K次,并将所学到的embeddings进行连接,形成特定语义的embedding:
给定meta-path集合{Φ0,Φ1,…,ΦP},在进行节点级别attention之后,可以得到P组特定语义的节点embedding{Z1,Z2,...,Zp}。
给定元路径集合,节点级别注意力用来学习到不同语义下的节点表示。进一步,我们可以利用语义级别注意力来学习语义的重要性并融合多个语义下的节点表示。语义级别注意力的形式化描述如下:
其中,是各个元路径的注意力权重。具体来说,我们利用单层神经网络和语义级别注意力向量来学习各个语义(元路径)的重要性并通过 softmax 来进行归一化。
为了学到每一个meta-path的重要性,使用一个线性转换(文中使用一层MLP)来转换特点语义的embedding。
文中将学到的特定语义的embeddings度量为使用一个语义级的attention向量q转换了的embedding的相似度:
通过对多个语义进行加权融合(融合过程如图 3 (b) 所示),可以得到最终的节点表示。需要注意的是,这里的元路径权重是针对特定任务优化的。不同任务需要的语义信息不尽相同,元路径的加权组合形式也会有所差异。
最后,我们基于半监督的分类 loss 来优化整个模型。
整个算法模型的流程如下:
本文在三个数据集上做了大量充分的实验(包括节点分类,节点聚类,可视化)来验证模型的有效性。同时为了验证节点级别和语义级别的作用,作者分别去除节点和语义级别助理并进行实验。最后,作者通过对节点和语义级别的注意力机制进行了分析来说明 HAN 的可解释性。
实验中所用的三个数据集的统计信息如下:
节点分类:利用k=5的KNN分类器
节点聚类:使用k-means聚类算法
表 3 和表 4 分别为节点分类和聚类实验,可以看出:相对于当前最优算法,本文所提出的模型表现更好。同时,去除节点级别和语义级别注意力后,模型的效果有不同程度的降低。这验证了节点级别注意力和语义级别注意力的有效性。
我们还进一步分析了层次注意力的合理性。节点级别和语义级别注意力分析分别如图 4 和图 5 所示。可以看出:节点级别注意力赋予了同类型的邻居更高的权重。在语义级别,对较为重要的元路径,也就是该条元路径在聚类任务上具有较大的 NMI 值,HAN 会赋予他们相应较大的权重,因此 HAN 可以自动选取较为重要的节点邻居及元路径。
图 6 展示了各个算法可视化结果。我们可以清楚地看到:HAN 所学习到的节点表示具有更强的表示能力,可以清晰的将不同领域的作者分为 4 类。
异质图在真实世界无处不在,异质图的分析也是数据挖掘的热门方向。作者设计了一种异质图神经网络,同时在节点和语义级别利用注意力机制来对邻居信息和语义信息进行加权融合,进而学习到更加细致全面的节点表示。同时,通过对两层的注意力机制进行分析,所提模型具有较好的可解释性。
现实生活中,很多场景均可以被建模为异质图,如淘宝网就可以建模为用户,商品和商家交互的异质图。本文所提出的异质图注意力网络 HAN 具有广泛的适用性,可以根据不同场景(如商品推荐和异常账户检测)的需求设计不同的损失函数来学习节点表示。
按照本文的思路,未来可以进一步尝试利用 meta-graph 或者 motif 来抽取不同的结构信息或者针对不同场景的差异化需求设计相应的图神经网络。更多关于异质图分析的论文及相关代码数据见 www.shichuan.org。