1.前言
论文链接:https://arxiv.org/pdf/1903.07293v1.pdf
github:https://github.com/Jhy1993/HAN
图神经网络作为一种基于深度学习的功能强大的图表示技术,表现出了优越的性能,引起了广泛的研究兴趣。然而,对于包含不同类型节点和链接的异质图,图神经网络并没有充分考虑到这一点。
异构性和丰富的语义信息给异质图的图神经网络设计带来了很大的挑战。最近,深度学习领域最令人兴奋的进展之一是注意力机制,其巨大的潜力在各个领域都得到了很好的展示。本文首先提出了一种基于分层注意力的异质图神经网络,包括节点级关注和语义级关注。具体来说:
- 节点级注意的目的是学习节点与基于元路径的邻居之间的重要性
- 语义级注意能够学习不同元路径的重要性。
通过节点级注意和语义级注意的学习重要性,可以充分考虑节点和元路径的重要性。然后将基于元路径的相邻节点的特征分层聚合,生成节点嵌入。在三个真实世界的异质图上的广泛实验结果不仅显示了我们所提出的模型的优越性能,而且也显示了它对图分析的潜在良好的可解释性。
2. 介绍
深度学习的一个最新研究趋势是注意力机制,它处理可变大小的数据,并鼓励模型关注数据中最突出的部分。该方法在深度神经网络框架中验证了其有效性,并被广泛应用于文本分析[1]、知识图[25]、图像处理[38]等各种应用中。图注意网络(GAT)[35]是一种新颖的卷积型图神经网络,它利用注意机制对只包含一种类型节点或链接的同构图进行处理。
尽管注意机制在深度学习中取得了成功,但在异质图的图神经网络框架中并没有考虑到它。事实上,现实世界的图通常带有多种类型的节点和边,也被广泛称为异构信息网络(HIN)[28]。为了方便起见,本文一致称其为异质图。异质图由于包含更全面的信息和丰富的语义,在许多数据挖掘任务中得到了广泛的应用。
元路径[32]是连接两个对象的复合关系,是一种广泛使用的捕获语义的结构。
以图1(a)所示的电影数据IMDB1为例,它包含三种类型的节点,包括movie、actor和director。两个电影之间的关系可以通过元路径电影-演员-电影(MAM)来表示,它描述的是联合演员关系,而电影-导演-电影(MDM)表示它们由同一位导演执导。可以看出,根据元路径的不同,异质图中节点之间的关系可能具有不同的语义。由于异质图的复杂性,传统的图神经网络不能直接应用于异质图。
基于以上分析,在设计具有异质图注意机制的图神经网络体系结构时,需要满足以下新需求。
- Heterogeneity of graph
异构性是异质图的内在属性,即具有各种类型的节点和边。例如,不同类型的节点具有不同的特征,其特征可能落在不同的特征空间中。仍然以IMDB为例,演员的特征可能涉及到性别、年龄和国籍。另一方面,电影的特征可能涉及到情节和演员。如何处理如此复杂的结构信息,同时保留多样的特征信息,是一个迫切需要解决的问题。 - Semantic-level attention
异质图中涉及到不同的有意义和复杂的语义信息,这些语义信息通常通过[32]元路径反映出来。异质图中不同的元路径可以提取不同的语义信息。如何为具体任务选择最有意义的元路径并融合语义信息是一个有待解决的问题[4,19,26]。语义级注意的目的是学习每个元词的重要性,并为它们分配适当的权重。还是以IMDB为例,《终结者》既可以通过电影-演员-电影MAM(都由施瓦辛格主演)连接到《终结者2》,也可以通过电影-电影(都拍摄于1984年)MYM连接到《鸟人》。然而,在确定电影《终结者》的类型时,MAM通常比MYM扮演更重要的角色。因此,平等对待不同的元路径是不现实的,而且会削弱一些有用的元路径所提供的语义信息。 - Node-level attention
在异质图中,节点可以通过不同类型的关系进行连接,例如元路径。给定一个元路径,每个节点都有许多基于元路径的邻居。如何区分这些邻居之间的细微差别,选择具有信息的邻居是需要解决的问题。对于每个节点,节点级注意的目的是了解基于元路径的邻居的重要性,并为它们分配不同的注意值。还是以IMDB为例,当使用元路径电影 - 导演 - 导演 - 电影(同一位导演拍摄的电影)时,《终结者》将通过导演詹姆斯•卡梅隆连接到《泰坦尼克号》和《终结者2》。为了更好地把《终结者》定义为科幻电影,模型应该多关注《终结者2》,而不是《泰坦尼克号》。因此,如何设计一个能够发现相邻区域细微差异并正确掌握其权重的模型将是我们所需要的。
本文提出了一种新的异质图注意网络HAN,它同时考虑了节点级和语义级的注意。
- 给定作为输入的节点特性,使用特定类型的转换矩阵将不同类型的节点特性投影到相同的空间中。然后节点级注意能够学习节点与其基于元路径的邻居之间的注意值
- 语义级注意旨在学习异质图中特定任务的不同元路径的注意值。基于在这两个层次上学习的注意值,我们的模型可以得到最优的注意值
以分层的方式组合邻居和多个元路径,使得学习到的节点嵌入能够更好地捕获异质图中的复杂结构和丰富的语义信息。然后通过端到端反向传播的方式对整个模型进行优化。本文创新点如下:
- 这是首次尝试研究基于注意机制的异质图神经网络。使得图神经网络可以直接应用于异质图,进一步促进了基于异质图的应用。
- 提出了一种新的异质图注意网络(HAN),它包括节点级注意和语义级注意。得益于这种分层关注,该算法可以同时考虑节点和元路径的重要性。此外,该模型具有较高的效率,相对于基于元路径的节点对的数量,其复杂度是线性的,可以应用于大规模异质图。
- 大量的实验评估提出的模型的性能。通过与现有模型的比较,证明了该模型的优越性。更重要的是,通过对分层注意机制的分析,证明了该算法在异质图分析中具有良好的可解释性。
3. 相关工作(异质图嵌入相关)
异质图嵌入主要关注基于元路径的结构信息的保存。ESim[26]接受用户定义的元路径作为在用户偏好的嵌入空间学习顶点向量用于相似度搜索的指导。即使通过ESim可以使用多个元路径,它也无法了解元路径的重要性。为了获得最佳性能,ESim需要进行网格搜索,找到hmeta-paths的最优权值。很难为特定的任务找到最佳的组合。
Metapath2vec[7]设计了一种基于元路径的随机游走,并利用跳格来执行异质图嵌入。但是,metapath2vec只能使用一个元路径,可能会忽略一些有用的信息。
与Metapath2vec[7]类似,HERec[27]提出了一种类型约束策略,用于过滤节点序列,捕获反映在异质图中的复杂语义。
HIN2Vec[9]执行多个预测训练任务,同时学习节点和元路径的潜在向量。
Chen等人[3]提出了一种投影度量嵌入模型PME,该模型通过欧几里得距离保持节点的贴近度。PME将不同类型的节点投影到同一关系空间中,进行异构链路预测。
为了研究综合描述异质图的问题,Chen等[29]提出了HEER,它可以通过边缘表示嵌入异质图。
Fan等人[8]提出了一种嵌入模型metagraph2vec,该模型最大限度地保留了结构和语义,以用于恶意软件检测。
Sun等[30]提出了基于元图的网络嵌入模型,该模型同时考虑了元图中所有元信息的隐藏关系。
综上所述,上述算法均未考虑异质图表示学习中的注意机制。
4. 变量定义
异质图是一种特殊的信息网络,它包含多种类型的节点或多种类型的边。
4.1 Heterogeneous Graph [31]
将异质图表示为 G = ( V , E ) \mathcal{G=(V,E)} G=(V,E) 其中 V \mathcal{V} V 和 E \mathcal{E} E 分别表示异质图中节点和边的集合。对应的存在节点类型的映射函数 ϕ : V → A \phi:\mathcal{V} \rightarrow \mathcal{A} ϕ:V→A 和边类型的映射函数 ψ : E → R \mathcal{\psi}:\mathcal{E} \rightarrow\mathcal{R} ψ:E→R。其中 A , R \mathcal{A},\mathcal{R} A,R 分别代表预定义的节点类型集和边类型集,根据异质图的性质可以得到 ∣ A ∣ + ∣ R ∣ > 2 |\mathcal{A}| + |\mathcal{R}| > 2 ∣A∣+∣R∣>2
4.2 Meta-path [32]
一条元路径
Φ
\Phi
Φ 被定义为如下形式的路径
可以缩写为
A
1
A
2
.
.
.
A
l
+
1
A_1A_2...A_{l+1}
A1A2...Al+1,其中
R
=
R
1
⋅
R
2
⋅
.
.
.
⋅
R
l
R=R_1\cdot R_2\cdot...\cdot R_l
R=R1⋅R2⋅...⋅Rl 代表了对象
A
1
A_1
A1 和
A
l
+
1
A_{l+1}
Al+1 的组合关系。并且
⋅
\cdot
⋅ 代表关系之间的组合函数
例如。如图1(a)所示,可以通过多个元路径连接两个电影,例如电影-演员-电影(MAM)和电影-导演-电影(MDM)。不同的元路径总是揭示不同的语义。例如,MAM表示合作演员关系,而电影-导演-电影 (MDM)表示它们由同一位导演执导。给定一个meta-path Φ Φ Φ ,在异质图中存在一组meta-path,则基于邻居的每个节点可以揭示不同的结构信息和丰富的语义信息。
4.3 Meta-path based Neighbors
在异质图中给出一个节点 i i i 和一条元路径 Φ \Phi Φ,则在这条元路径下的该节点 i i i 的邻居为 N i Φ \mathcal{N}_i^\Phi NiΦ。注意此时节点的邻居包含自身
例子,以图1(d)为例,给定元路径影片-演员-影片,m1的基于元路径的邻居包括m1(本身)、m2和m3。同样,基于元路径电影-导演-电影的m1的邻居包括m1和m2。显然,基于元路径的邻居可以利用异构图中结构信息的不同方面。我们可以通过一组邻接矩阵序列的乘法得到基于元路径的邻居。
图神经网络被提出来处理任意图结构的数据。但是,它们都是为同构网络设计的[18,35]。由于元路径和基于元路径的邻域是异构图数据的两种基本结构,接下来,我们将提出一种针对异构图数据的新型图神经网络,该网络能够利用节点和元路径之间的细微差异。
5. HAN
本文提出了一种新的异构图半监督神经网络。模型遵循一个分层注意结构:节点级注意→语义级注意。图2给出了HAN的整体框架。大致可以分为以下两个步骤:
- 首先节点级关注来学习基于元路径的邻居的权重,并将它们聚合以得到特定语义的节点嵌入。
- 之后,HAN可以通过semanticlevel attention分辨出元路径的差异,得到针对特定任务的语义特异性节点嵌入的最优加权组合。
5.1 Node-level Attention
在聚合每个节点的元路径邻居信息之前,每个节点的基于元路径的邻居在学习节点嵌入中对于具体任务的作用和重要性是不同的。基于此该模型的优势之一为节点级注意可以了解基于元路径的邻居对异构图中每个节点的重要性,并将这些有意义的邻居的表示进行聚合,形成节点嵌入。
由于节点的异质性,不同类型的节点处于不同的特征空间。因此,对于每种类型的节点(例如,节点类型
ϕ
i
ϕ_i
ϕi) 设计特定的特征映射权重矩阵
M
ϕ
i
M_{ϕ_i}
Mϕi ,由此将不同类型的节点特征映射到同一个特征空间。与[13]不同,特定类型的转换矩阵基于节点类型而不是边类型。投影过程如下:
其中
h
i
′
h_i^{'}
hi′ 和
h
i
h_i
hi 分别代表节点在统一的特征空间中的特征向量和原始特征空间中的特征向量。通过特定类型的投影操作,节点级注意力机制可以处理任意类型的节点。然后利用self-attention[34]来学习各种节点间的权值。给定一个节点对
(
i
,
j
)
(i, j)
(i,j) 是通过 meta-path
Φ
Φ
Φ 连接,节点级的关注
e
i
j
Φ
e_{ij}^Φ
eijΦ 可以学习,重要性
e
i
j
Φ
e_{ij}^Φ
eijΦ 意味着节点
j
j
j 对于 节点
i
i
i 多么重要。基于meta-path节点的重要性对
(
i
,
j
)
(i, j)
(i,j) 可以制定如下:
此处
a
t
t
n
o
d
e
attnode
attnode 为执行节点级关注的深度神经网络。给出的meta-path
Φ
Φ
Φ 和
a
t
t
n
o
d
e
attnode
attnode 被所有基于元路径(meta-path)的节点对共享。这是因为在一个元路径下有一些类似的连接模式。上述(2)表明,当给出meta-path
Φ
Φ
Φ,基于meth-path 的节点对的权重取决于它们自身的特征。其中
e
i
j
Φ
e_{ij}^Φ
eijΦ 是不对称的,也就是说
i
i
i 对于
j
j
j 和
j
j
j 对于
i
i
i的重要性可能不同。异质图中节点集注意力的非对称性是一个非常重要的性质。
之后基于 masked attention 机制在模型中加入结构化信息,这意味着我们只为
j
∈
N
i
Φ
j \in \mathcal{N}_i^\Phi
j∈NiΦ计算
e
i
j
Φ
e_{ij}^\Phi
eijΦ,其中
N
i
Φ
\mathcal{N}_i^\Phi
NiΦ 代表基于元路径
Φ
\Phi
Φ 时包括节点
i
i
i 自身的邻居节点。在获得基于元路径的节点对的重要性之后,对他们进行正则化以通过
s
o
f
t
m
a
x
softmax
softmax 函数得到它们的权重系数
α
i
j
Φ
\alpha_{ij}^\Phi
αijΦ:
其中
σ
\sigma
σ 代表激活函数 ,
∣
∣
||
∣∣代表级联操作,
a
Φ
a_{\Phi}
aΦ 代表对于元路径
Φ
\Phi
Φ 的节点级别注意力向量。通过(3)可以看出 节点对
(
i
,
j
)
(i,j)
(i,j) 的权重系数取决于它们的特征。
那么,节点
i
i
i 的基于元路径
Φ
\Phi
Φ 的嵌入
z
i
Φ
z_i^{\Phi}
ziΦ 可以通过邻居的投影特征进行聚合,其对应的公式如下:
每个结点的嵌入由它们的邻居聚合,因为注意力权重
α
i
j
Φ
\alpha_{ij}^\Phi
αijΦ 又单独的元路径计算得来。它具有语义特异性,能够捕捉到一种语义信息。
由于异构图具有无标度的特性,因此图数据的方差较大。为了解决上述挑战,我们将节点级注意扩展到多线程注意,使训练过程更加稳定。具体来说,我们重复K次节点级别的注意力注意,并将学习到的嵌入连接为语义特异性嵌入:
当给出多条元路径
{
Φ
0
,
Φ
1
,
.
.
.
,
Φ
p
}
\{\Phi_0,\Phi_1,...,\Phi_p\}
{Φ0,Φ1,...,Φp},将节点特征加入到节点级别注意力模型后,可以得到共
p
p
p 个语义级别的节点嵌入,表示为
{
Z
Φ
0
,
Z
Φ
1
,
.
.
.
,
Z
Φ
p
}
\{Z_{\Phi_0},Z_{\Phi_1},...,Z_{\Phi_p}\}
{ZΦ0,ZΦ1,...,ZΦp}
5.2 Semantic-level Attention
一般情况下,异构图中的每个节点都包含多种类型的语义信息,特定语义的节点嵌入只能从一个方面反映节点的特征信息。为了学习更全面的节点嵌入,需要融合多种语义,这些语义可以通过元路径显示出来。针对异构图中元路径选择和语义融合的挑战,本文提出了一种新的语义层关注机制,该机制能够自动学习不同元路径的重要性,并针对特定任务将其融合。采取
P
P
P 组 semantic-specific 节点嵌入从节点级的关注作为输入,每个meta-path的学习权重
(
β
Φ
0
,
β
Φ
1
,
.
.
.
,
β
Φ
P
)
(β_{Φ_0},β_{Φ_1},...,β_{Φ_P})
(βΦ0,βΦ1,...,βΦP)可以显示如下:
其中
a
t
t
s
e
m
attsem
attsem 为执行语义层面关注的深度神经网络。它表明语义层次的注意可以捕获异构图背后的各种类型的语义信息。
为了了解每个元路径的重要性,我们首先通过非线性转换(例如单层MLP)转换特定语义的嵌入。然后将语义特异性嵌入的重要性认为是转换后嵌入与语义级注意向量
q
q
q 的相似性,然后将所有语义特异性节点嵌入的重要性平均,可以解释为每条元路径的重要性。每个meta-path的重要性表示为
w
Φ
i
w_{Φ_i}
wΦi,公式如下:
其中
W
W
W 为权值矩阵,
b
b
b 为偏差向量,
q
q
q 为语义级别的注意力向量。对于有意义的比较,所有以上参数对于所有元路径和特定语义的嵌入都是共享的。在得到每个元路径的重要性后,通过softmax函数对其进行正则化。对于元路径
Φ
i
\Phi_i
Φi 的权重表示为
β
Φ
i
\beta_{\Phi_i}
βΦi
这个公式也可以理解为对于特定的任务来说元路径
Φ
i
\Phi_i
Φi 的贡献大小,显然
β
Φ
i
\beta_{\Phi_i}
βΦi越大则该元路径
Φ
i
\Phi_i
Φi 越重要。因此对于不同的任务来说元路径所对应的权重的值会发生改变。在学习到语义级别的嵌入后我们可以得到最终的嵌入表示
最终的嵌入是通过所有特定于语义的嵌入进行聚合。然后将最终的嵌入应用到具体的任务中,设计出不同的损失函数。对于半监督节点分类,可以选择最小化所有标记节点真值和预测之间的交叉熵:
其中
C
C
C 代表分类器的参数,
Y
L
\mathcal{Y}_L
YL 代表所有带标签的节点,
Y
l
Y^l
Yl 和
Z
l
Z^l
Zl 分别代表标签向量和根据嵌入后向量所得到的节点标签向量。在标签数据的指导下,通过反向传播优化模型,了解节点的嵌入情况。HAN的整体过程如算法1所示
6. 实验
6.1 异质图构建