Heterogeneous Graph Attention Network
- 作者:Xiao Wang、Houye Ji、Chuan Shi、Bai Wang、Yanfang Ye、Peng Cui、Philip S Yu
- 来源:The World Wide Web Conference(CCF-A)
- 时间:2019年
- 链接:Heterogeneous Graph Attention Network (arxiv.org)
Abstract
图神经网络作为一种基于深度学习的强大图表示技术,表现出优越的性能,引起了广泛的研究兴趣。然而,对于包含不同类型节点和链接的异构图,图神经网络并没有充分考虑这一问题。异构性和丰富的语义信息为设计面向异构图的图神经网络带来了巨大挑战。文中首先提出了一种基于层次注意力的异构图神经网络,包括节点级注意力和语义级注意力。具体来说,节点级注意力旨在学习节点与其基于元路径的邻居节点之间的重要性,而语义级注意力能够学习不同元路径的重要性。结合从节点级和语义级注意力中学习到的重要性,得到节点和元路径的重要性可以充分考虑。然后,提出的模型可以通过分层地聚合基于元路径的邻居的特征来生成节点嵌入。
Introduction
图注意力网络(GAT)是一种新颖的卷积风格的图神经网络,利用注意力机制对只包含一种类型节点或链接的同构图进行建模。尽管注意力机制在深度学习中取得了成功,但在面向异构图的图神经网络框架中还没有考虑到注意力机制。事实上,现实世界的图通常包含多种类型的节点和边,也被广泛称为异质信息网络(HIN)。为方便起见,将其统一称为异构图。由于异构图包含更全面的信息和丰富的语义,在许多数据挖掘任务中得到了广泛的应用。
元路径是一种连接两个对象的复合关系,是一种广泛使用的捕获语义的结构。对于包含电影、演员和导演三种类型的节点的图,电影-演员-电影的元路径(meta-path Movie-Actor-Movie, MAM)描述了电影的协同演员关系,可以揭示两部电影之间的关系; 电影-导演-电影(MDM)是指由同一位导演执导的电影。可以看到,根据元路径不同,异构图中节点之间的关系可以具有不同的语义。由于异构图的复杂性,传统的图神经网络不能直接应用于异构图。
节点级注意力:给定一条元路径,每个节点有许多基于元路径的邻居。如何区分这些邻居节点之间的细微差异并选择一些有价值的邻居节点是一个需要解决的问题。对于每个节点,节点级注意力旨在学习基于元路径的邻居的重要性,并为其分配不同的注意力值。
语义级注意力:异构图中涉及不同的有意义且复杂的语义信息,通常通过元路径来反映。异构图中不同的元路径可以提取不同的语义信息。语义级注意力旨在学习每个元路径的重要性,并为它们分配适当的权重。
论文贡献:
- 首次尝试研究基于注意力机制的异构图神经网络。
- 提出了一种包含节点级和语义级注意的异构图注意力网络。
- 最先进的性能和良好的可解释性。通过分析分层注意力机制,HAN 展示了其对异构图分析潜在的良好可解释性。
The Proposed Model
- (a)将所有类型的节点投影到一个统一的特征空间中,通过节点级注意力学习基于元路径的节点对的权重。
- (b)联合学习每个元路径的权重,并通过融合特定语义的节点嵌入语义级注意力。
- ©计算所提出HAN的损失和端到端优化。
1. 节点级注意力
-
对每个类型的节点(例如,类型为 ϕ i \phi_i ϕi 的节点),本文设计了特定类型的转换矩阵 M ϕ i M_{\phi_i} Mϕi 将不同类型的特征节点映射到相同的特征空间中。投影过程如下:
h i ′ = M ϕ i ⋅ h i \mathbf{h}_i^′=\mathbf{M}_{\phi_i}·\mathbf{h}_i hi′=Mϕi⋅hi
其中 h i \mathbf{h}_i hi 和 h i ′ \mathbf{h}_i^′ hi′ 分别是节点 i i i 的原始特征和投影特征。 -
给定通过元路径 Φ \Phi Φ 连接的节点对 ( i , j ) (i,j) (i,j),节点级别的注意力 e i j Φ e_{ij}^\Phi eijΦ,这意味着节点 j j j 将对节点 i i i 有多重要。基于元路径的节点对 ( i , j ) (i,j) (i,j) 的重要性可以表述如下:
e i j Φ = a t t n o d e ( h i ′ , h j ′ ; Φ ) e_{ij}^\Phi=att_{node}(\mathbf{h}_i^′,\mathbf{h}_j^′;\Phi) eijΦ=attnode(hi′,hj′;Φ)
其中 a t t n o d e att_{node} attnode 表示执行节点级注意力的深度神经网络。 e i j Φ e_{ij}^\Phi eijΦ 是不对称的,即节点 i i i 对节点 j j j 的重要性和节点 j j j 对节点 i i i 的重要性不同。 -
将结构信息注入到模型中掩蔽注意力这意味着我们只计算节点 i i i 基于元路径 Φ \Phi Φ 的一阶邻居节点(包括它自己)。在得到基于元路径的节点对之间的重要性后,对其进行归一化得到权重系数 α i j Φ \alpha_{ij}^\Phi αijΦ 通过 softmax 函数:
α i j Φ = s o f t m a x ( e i j Φ ) = exp ( σ ( a Φ T ⋅ [ h i ′ ∥ h j ′ ] ) ) ∑ k ∈ N i Φ exp ( σ ( a Φ T ⋅ [ h i ′ ∥ h j ′ ] ) ) \alpha_{ij}^\Phi=softmax(e_{ij}^\Phi)=\frac{\exp(\sigma(\mathbf{a}_\Phi^\Tau·[\mathbf{h}_i^′\parallel\mathbf{h}_j^′]))}{\sum_{k\in{N_i^\Phi}}\exp(\sigma(\mathbf{a}_\Phi^\Tau·[\mathbf{h}_i^′\parallel\mathbf{h}_j^′]))} αijΦ=softmax(eijΦ)=∑k∈NiΦexp(σ(aΦT⋅[hi′∥hj′]))exp(σ(aΦT⋅[hi′∥hj′]))
其中 σ \sigma σ 表示激活函数, ∥ \parallel ∥ 表示连接操作, a Φ T \mathbf{a}_\Phi^\Tau aΦT 是元路径 Φ \Phi Φ 的节点级注意力向量。 -
通过邻居的投影特征及其对应的系数聚合节点 i i i 的元路径嵌入:
z i Φ = σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) \mathbf{z}_i^\Phi=\sigma(\sum_{j\in{N_i^\Phi}}\alpha_{ij}^\Phi·\mathbf{h}_j^′) ziΦ=σ(j∈NiΦ∑αijΦ⋅hj′)
论文中进行了多头注意力拼接。 -
给定元路径集 { Φ 1 , … , Φ P } \{\Phi_1,\dots,\Phi_P\} {Φ1,…,ΦP},将节点特征输入节点级注意力后,我们可以获得 P P P 组特定语义的节点嵌入,记作 { Z Φ 1 , … , Z Φ P } \{\mathbf{Z}_{\Phi_1},\dots,\mathbf{Z}_{\Phi_P}\} {ZΦ1,…,ZΦP}。
2. 语义级注意力
-
以从节点级注意力中学习到的 P P P 组特定语义的节点嵌入作为输入,每个元路径 ( β Φ 1 , … , β Φ P ) (\beta_{\Phi_1},\dots,\beta_{\Phi_P}) (βΦ1,…,βΦP) 的学习权重可以如下所示:
( β Φ 1 , … , β Φ P ) = a t t s e m ( Z Φ 1 , … , Z Φ P ) (\beta_{\Phi_1},\dots,\beta_{\Phi_P})=att_{sem}(\mathbf{Z}_{\Phi_1},\dots,\mathbf{Z}_{\Phi_P}) (βΦ1,…,βΦP)=attsem(ZΦ1,…,ZΦP)
其中 a t t s e m att_{sem} attsem 表示执行语义级注意力的深度神经网络。 -
为学习每个元路径的重要性,首先通过非线性转换(例如,单层MLP)转换特定于语义的嵌入。然后,我们衡量特定语义嵌入的重要性,即转换后的嵌入与语义级注意力向量 q \mathbf{q} q 的相似性。对所有语义特定的节点嵌入的重要性进行了平均,可以解释为每个元路径的重要性。每个元路径的重要性记为 w Φ i w_{\Phi_i} wΦi,如下所示:
w Φ i = 1 V ∑ i ∈ V q T ⋅ tanh ( W ⋅ z i Φ p + b ) w_{\Phi_i}=\frac{1}{V}\sum_{i\in{V}}\mathbf{q}^\Tau·\tanh(\mathbf{W}·\mathbf{z}_i^{\Phi_p}+\mathbf{b}) wΦi=V1i∈V∑qT⋅tanh(W⋅ziΦp+b)
其中 W \mathbf{W} W 为权重矩阵, b \mathbf{b} b 为偏置, q \mathbf{q} q 为语义级注意力向量。 -
在得到每个元路径的重要性后,通过 softmax 函数对其进行归一化。利用 softmax 函数对所有元路径的上述重要性进行归一化,得到元路径的权重 Φ i \Phi_i Φi 记为 β Φ i \beta_{\Phi_i} βΦi:
β Φ p = exp ( w Φ p ) ∑ p = 1 P exp ( w Φ p ) \beta_{\Phi_p}=\frac{\exp(w_{\Phi_p})}{\sum_{p=1}^{P}\exp(w_{\Phi_p})} βΦp=∑p=1Pexp(wΦp)exp(wΦp) -
融合这些特定于语义的嵌入以获得最终的嵌入 Z \mathbf{Z} Z:
Z = ∑ p = 1 P β Φ P ⋅ Z Φ P \mathbf{Z}=\sum_{p=1}^{P}\beta_{\Phi_P}·\mathbf{Z}_{\Phi_P} Z=p=1∑PβΦP⋅ZΦP
Eexperiments
Datasets
- DBLP:抽取一个包含14328篇论文§,4057位作者(a),20个会议(C),8789个术语(T)的DBLP子集。论文分为四个方面:数据库,数据挖掘,机器学习,信息检索。
- ACM:抽取发表在 KDD 上的论文,将论文分为数据库类、无线通信类﹑数据挖掘类。构建了一个包括3025篇论文(P)、5835个作者(a)和56个主题的异构图。
- IMDB:提取了一个 IMDB 的子集,其中包含4780部电影(M),5841个演员(a)和2269个导演(D)。电影根据类型分为三类(动作、喜剧、戏剧)。
Baselines
- DeepWalk:一种基于随机游走的同构图网络嵌入方法。
- ESim:一种能从多个元路径中捕获语义信息的异构图嵌入方法。
- Metapath2vec:一种基于元路径的随机漫步,利用 skip-gram 嵌入异构图的异构图嵌入方法。
- HERec:一种采用类型约束策略过滤节点序列,利用 skip-gram 嵌入异构图的异构图嵌入方法。
- GCN:一个为同构图设计的半监督图卷积网络。
- GAT:一种考虑同构图上注意力机制的半监督神经网络。
- HANnd:它是HAN的一种变体,去掉了节点级的注意力,并给每个邻居赋予相同的重要性。
- HANsem:它是HAN的一种变体,去掉了语义级别的注意力,并为每个元路径分配相同的重要性。
- HAN:所提出的半监督图神经网络该模型同时使用了节点级注意力和语义级注意力。
Method
- 节点分类
- 用 𝑘=5 进行 KNN 分类器进行节点分类。由于图结构数据的方差可能相当高,因此重复该过程10次,并报告平均 Macro-F1 和微 f1。
- 聚类
- 使用 KMeans 来执行节点聚类,集群的数量 K 被设置为类的数量。使用与节点分类相同的基本事实,并采用 NMI 和 ARI 来评估聚类结果的质量。由于 KMeans 的性能受初始质心的影响,我们重复该过程10次。
- 可视化
- 为了更直观地进行对比,进行了可视化任务,旨在将异构图布局在低维空间上。基于提出的模型学习节点嵌入,并将学习到的嵌入投影到二维空间。在这里,利用 t-SNE 将 DBLP 中的作者可视化,并根据他们的研究领域对节点进行着色。
Conclusion
本文解决了异构图分析中的几个基本问题,提出了一种完全基于注意力机制的半监督异构图神经网络。所提出的 HAN 能够捕捉异构图背后的复杂结构和丰富语义。该模型利用节点级注意力和语义级注意力分别学习节点和元路径的重要性。同时,该模型统一利用了结构信息和特征信息。实验结果包括分类和聚类证明 HAN 的有效性。通过分析学习到的注意力权重包括节点级和语义级,提出的 HAN 已经证明了其潜在的良好可解释性。