用于异质图嵌入的元路径聚合图神经网络
摘要
异质图嵌入是将异质图丰富的结构和语义信息嵌入到低维节点表示中。针对此问题,本文提出了一种新的模型MAGNN。具体来说,MAGNN使用了三个主要组件:
- 用于封装输入节点属性的节点内容转换
- 用于合并中间语义节点的元路径内部聚合
- 用于合并来自多个元路径的消息的元路径间聚合
在三个真实的异质图数据集上进行了大量的节点分类、节点聚类和链路预测实验表明,MAGNN有更准确的预测结果。
1 引言
现有的模型通常是在异质图中定义多个元路径,以捕获复合关系(语义)并指导邻域选择。虽然这些基于元路径的嵌入方法在节点分类和链路预测等各种任务上优于传统的网络嵌入方法,但它们仍然存在以下至少一个限制:
- 忽略节点内容特征,因此很少在具有丰富节点内容特征的异质图上表现良好(e.g.,metapath2vec,ESim,HIN2vec,HERec)。
- 只考虑两个端节点,从而丢弃了元路径上的所有中间节点,从而导致信息丢失(e.g.,HERec,HAN)。
- 只依赖于单个元路径,因此需要人工选择元路径,丢失了来自其他元路径的部分信息,导致性能不佳(e.g.,metapath2vec)。
为了解决以上问题,本文提出了一种新的用于异质图嵌入的元路径聚合图神经网络(MAGNN)。
MAGNN由三个部分组成:
- 节点内容转换
- 元路径内部聚合
- 元路径间的聚合
具体来说,MAGNN首先利用特定类型的线性变换,将不同类型节点的可能不同维度的属性信息投影到相同的潜在向量空间。接下来,对每个元路径应用具有注意力机制的元路径内部聚合。在元路径内部聚合过程中,每个目标节点都会从连接该节点与其基于元路径的邻居的元路径实例中提取和组合信息。通过这种方式,MAGNN从邻居节点和两者之间的元路径上下文中捕获异质图的结构和语义信息。在元内聚合之后,MAGNN进一步利用注意力机制进行元路径间的聚合,将从多条元路径获得的潜在向量融合到最终的节点嵌入中。
贡献:
- 提出了一种新的用于异质图嵌入的元路径聚合图神经网络。
- 设计了几个候选编码器函数,用于从元路径实例中提取信息,其中一个基于复杂空间中的关系旋转思想。
- 在IMDb和DBLP数据集上进行了大量的节点分类和节点聚类的实验,并且在Last.fm数据集上进行了链路预测,以评估提出的模型的性能。实验表明,MAGNN学习到的节点嵌入始终优于其他最先进的 BaseLine 生成的节点嵌入。
2 准备工作
本节给出了与异质图相关的一些重要术语的正式定义。相关定义的图示见图1。
异质图(Heterogeneous Graph):
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),包含节点集
V
V
V和连接集
E
E
E。异质图还包含一个节点类型映射函数
ϕ
:
V
→
A
ϕ:V→A
ϕ:V→A和一个连接类型映射函数
ψ
:
E
→
R
ψ:E→R
ψ:E→R。
A
A
A和
R
R
R表示预定义的对象类型和连接类型的集合,其中
∣
A
∣
+
∣
R
∣
>
2
|A|+|R|>2
∣A∣+∣R∣>2。
元路径(Metapath):
元路径
P
P
P定义为
A
1
R
1
→
A
2
R
2
→
.
.
.
R
l
→
A
l
+
1
\text{ }A_1\text{ }\underrightarrow{R_1}\text{ }A_2\text{ }\underrightarrow{R_2}\text{ }...\text{ }\underrightarrow{R_l}\text{ }A_{l+1}
A1 R1 A2 R2 ... Rl Al+1(缩写为
A
1
A
2
⋅
⋅
A
l
+
1
A_1A_2··A_{l+1}
A1A2⋅⋅Al+1),它描述了对象
A
1
A_1
A1和
A
l
+
1
A_{l+1}
Al+1之间的复合关系
R
=
R
1
◦
R
2
⋅
⋅
R
l
R=R_1◦R_2··R_l
R=R1◦R2⋅⋅Rl,其中
◦
◦
◦表示关系上的组合算子。
元路径实例(Metapath Instance):
给定异质图的元路径
P
P
P,
P
P
P的元路径实例
p
p
p被定义为图中遵循
P
P
P定义的模式的节点序列。
基于元路径的邻居(Metapath-based Neighbor):
给定异质图的元路径
P
P
P,节点
v
v
v的基于元路径的邻居
N
v
P
N_v^P
NvP被定义为通过
P
P
P的元路径实例与节点
v
v
v连接的节点集。由两个不同的元路径实例与
v
v
v相连的同一个邻居节点,被视为
N
v
P
N_v^P
NvP中的两个节点。注意,如果
P
P
P是对称的,
N
v
P
N_v^P
NvP包括
v
v
v本身。
例如,考虑到图1中的元路径UATA,艺术家Queen是用户Bob的基于元路径的邻居。 这两个节点通过元路径实例Bob-Beatles-Rock-Queen连接,Beatles和Rock为这个元路径实例的中间节点。
基于元路径的图(Metapath-based Graph):
给定异质图
G
G
G的元路径
P
P
P,基于元路径的图
G
P
G^P
GP是由图
G
G
G中所有基于元路径
P
P
P的邻居对构造的图(去掉了元路径实例的中间节点,只保留了元路径实例两端的节点,并在两点间建立起连边)。注意,如果
P
P
P是对称的,则
G
P
G^P
GP是齐次图。如图1(d)所示。
异质图嵌入(Heterogeneous Graph Embedding):
给定异质图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)以及节点属性矩阵
X
A
i
∈
R
∣
V
A
i
∣
×
d
A
i
X_{A_i}∈R^{|V_{A_i}|×d_{A_i}}
XAi∈R∣VAi∣×dAi,其中
A
i
∈
A
A_i∈A
Ai∈A表示节点类型,异质图嵌入是为了学习所有
v
∈
V
v∈V
v∈V的
d
d
d维节点表示
h
v
∈
R
d
h_v∈R^d
hv∈Rd(
d
≪
∣
V
∣
d≪|V|
d≪∣V∣),以捕获
G
G
G中涉及的丰富的结构信息和语义信息。
表1总结了本文中常用的符号,以便快速参考。
3 相关工作
3.1 GNN
GNN的目标是为每个节点 v v v学习一个低维向量表示 h v h_v hv,它可以用于许多下游任务,如节点分类、节点聚类和链路预测。这背后的原理是每个节点自然地由其自身的特征及其邻域来定义。遵循这一思想,并基于图信号处理,首次开发了基于频谱的GNNs,用于在图的傅里叶域中进行图卷积。ChebNet利用切比雪夫多项式对图傅里叶域中的图信号(节点特征)进行滤波。GCN约束和简化了ChebNet的参数,以缓解过拟合问题,提高性能。然而,基于频谱的GNNs具有较差的可扩展性和泛化能力,因为它们需要整个图作为每一层的输入,并且它们的滤波器依赖于图拉普拉斯的特征基,这与特定的图结构密切相关。
基于空域的GNNs可以解决这两个问题。这类GNN通过聚合每个节点的邻居的特征信息,直接在图域中定义卷积,从而模仿CNN对图像数据的卷积操作。下面列举了一系列基于空域的方法。
以上提到的所有GNN要么是为齐次图而构建的,要么是为具有特殊结构的图而设计的,就像在用户-商品推荐系统中一样。由于大多数现有的GNN在相同的共享嵌入空间中操作节点特征,因此它们不能自然地适应具有节点特征位于不同空间中的异质图。
3.2 异质图嵌入
异质图嵌入的目的是将异质图中的节点投影到低维向量空间中。metapath2vec生成由单个元路径引导的随机游走,该随机游走随后被输入到skip-gram模型来生成节点嵌入。给定用户定义的元路径,ESIM通过从采样的正、负元路径实例中学习来生成节点嵌入。HIN2vec执行多个预测训练任务来学习异质图的节点和元路径的表示。给定一个元路径,HERec将异质图转换为基于元路径的邻居的齐次图,并应用DeepWalk模型来学习目标类型的节点嵌入。与HERec一样,HAN以类似的方式将异质图转换为多个基于元径的齐次图,但它使用图注意力网络体系结构来聚合来自邻居的信息,并利用注意力机制组合各种元路径。PME通过将节点嵌入投影到相应的关系空间以及优化投影节点之间的接近性来学习节点嵌入。
然而,上述异质图嵌入方法都有以下局限性:要么忽略节点内容特征,要么丢弃元路径上的所有中间节点,要么只使用单个元路径。
4 方法
图2说明了单个节点的嵌入生成。
4.1 节点内容转换
对于与节点属性相关联的异质图,不同的节点类型可能具有不同的特征向量维数。即使它们恰好是相同的维度,它们也可能位于不同的特征空间中。例如,texts的 n 1 n_1 n1维 bag-of-words向量和images的 n 2 n_2 n2维强度直方图向量即使 n 1 = n 2 n_1=n_2 n1=n2也不能直接一起操作。在一个统一的框架中处理不同维度的特征向量是很麻烦的。因此,需要先将不同类型的节点特征投影到相同的潜在向量空间中。
因此,在将节点向量输入MAGNN之前,对每一种类型的节点应用特定类型的线性变换,以将特征向量投射到同一个潜因子空间中。对于节点
v
∈
V
A
v∈V_A
v∈VA,进行如下的转换:
其中,
x
v
∈
R
d
A
x_v∈R^{d_A}
xv∈RdA是原始特征向量,
h
v
′
∈
R
d
′
h'_v∈R^{d'}
hv′∈Rd′是节点
v
v
v的投影潜在向量。
W
A
∈
R
d
′
×
d
A
W_A∈R^{d'×d_A}
WA∈Rd′×dA是
A
A
A类型节点的参数权值矩阵。
节点内容转换处理源自节点内容特征的图的异构性。应用此操作后,所有节点的投影特征都共享相同的维度,从而方便了下一个模型组件的聚合过程。
4.2 元路径内部聚合
给定一个元路径
P
P
P,元路径内部聚合层通过编码
P
P
P的元路径实例,学习在目标节点中嵌入的结构信息和语义信息,基于元路径的邻居,以及它们之间的上下文。设
P
(
v
,
u
)
P(v,u)
P(v,u)是连接目标节点
v
v
v和基于元路径的邻居
u
∈
N
v
P
u∈N_v^P
u∈NvP的元路径实例,
P
(
v
,
u
)
P(v,u)
P(v,u)的中间节点为
{
m
P
(
v
,
u
)
}
=
P
(
v
,
u
)
\
{
u
,
v
}
\{m^{P(v,u)}\}=P(v,u)\backslash\{u,v\}
{mP(v,u)}=P(v,u)\{u,v}。元路径内部聚合使用一个特殊的元路径实例编码器,将沿着元路径实例的所有节点特征转换为单个向量,
其中,
h
P
(
v
,
u
)
∈
R
d
′
h_{P(v,u)}∈R^{d'}
hP(v,u)∈Rd′。为了简单起见,这里使用
P
(
v
,
u
)
P(v,u)
P(v,u)表示单个实例,尽管可能有多个实例连接这两个节点。第4.4节介绍了几种元路径实例编码器的选择。
将元路径实例编码为向量表示后,利用一个图注意力层对针对目标节点
v
v
v的且元路径为
P
P
P的多个元路径实例进行加权和。关键思想是,不同的元路径实例将在不同程度上有助于目标节点的表示。可以通过学习每个元路径实例的归一化重要性权重
α
v
u
P
α_{vu}^P
αvuP,然后对所有实例进行加权求和来建模:
其中,
a
P
∈
R
2
d
′
a_P∈R^{2d'}
aP∈R2d′是元路径
P
P
P的参数化注意力向量,
∥
∥
∥表示向量连接操作。
e
v
u
P
e_{vu}^P
evuP元路径实例
P
(
v
,
u
)
P(v,u)
P(v,u)对节点
v
v
v的重要性,然后用softmax函数对所有
u
∈
N
v
P
u∈N_v^P
u∈NvP进行了归一化。然后,上述归一化重要性权重
α
v
u
P
α_{vu}^P
αvuP被用来计算关于节点
v
v
v的元路径实例的表示的加权组合。最后,通过一个激活函数
σ
(
⋅
)
σ(·)
σ(⋅)输出。
上述注意力机制也可以扩展到多头,这有助于稳定学习过程,减少图的异质性引入的高方差。也就是说,执行
K
K
K个独立的注意力机制,然后将它们的输出进行串联,得出如下公式:
其中,
[
α
v
u
P
]
k
[α_{vu}^P]_k
[αvuP]k是元路径实例
P
(
v
,
u
)
P(v,u)
P(v,u)对第
k
k
k个注意力头处节点
v
v
v的归一化重要性。
总结:
给定投影特征向量
h
u
′
∈
R
d
′
,
∀
u
∈
V
h'_u∈R^{d'},∀u∈V
hu′∈Rd′,∀u∈V以及以节点类型
A
A
A开始或结束的一组元路径
P
A
=
{
P
1
,
P
2
,
.
.
.
,
P
M
}
P_A=\{P_1,P_2,...,P_M\}
PA={P1,P2,...,PM},元路径内部聚合为目标节点
v
∈
V
A
v∈V_A
v∈VA生成
M
M
M个针对特定元路径的向量表示,记做
{
h
v
P
1
,
h
v
P
2
,
.
.
.
,
h
v
P
M
}
\{h^{P_1}_v,h^{P_2}_v,...,h^{P_M}_v\}
{hvP1,hvP2,...,hvPM}。每个
h
v
P
i
∈
R
d
′
h^{P_i}_v∈R^{d'}
hvPi∈Rd′(假设
K
=
1
K=1
K=1)可以解释为节点
v
v
v的
P
i
P_i
Pi-元路径实例的总结,展示了节点
v
v
v所包含的语义信息的一个方面。
4.3 元路径间的聚合
在聚合了每个元路径内的节点和边数据后,需要使用一个元路径间聚合层来组合所有元路径所显示的语义信息。从上一步可知,对于节点类型 A A A,生成了 ∣ V A ∣ |V_A| ∣VA∣组潜在向量: { h v P 1 , h v P 2 , . . . , h v P M } \{h^{P_1}_v,h^{P_2}_v,...,h^{P_M}_v\} {hvP1,hvP2,...,hvPM},其中 v ∈ V A v∈V_A v∈VA, M M M是 A A A类型节点的元路径的数量。一种直接的元路径间聚合方法是采用这些节点向量的元素平均值。我们通过利用注意力机制来为不同的元路径分配不同的权重来扩展这种方法。这种操作是合理的,因为元路径在异质图中并不同等重要。
首先,针对每条元路径
P
i
∈
P
A
P_i∈P_A
Pi∈PA,对所有节点
v
∈
V
A
v∈V_A
v∈VA在特定元路径下的节点向量进行转换,然后取平均:
其中,
M
A
∈
R
d
m
×
d
′
M_A∈R^{d_m×d'}
MA∈Rdm×d′与
b
A
∈
R
d
m
b_A∈R^{d_m}
bA∈Rdm都是可学习的参数。
然后,利用注意力机制融合节点
v
v
v的特定元路径的节点向量:
其中,
q
A
∈
R
d
m
q_A∈R^{d_m}
qA∈Rdm是
A
A
A类型节点的参数化注意向量。
β
P
i
\beta_{P_i}
βPi可以解释为元路径
P
i
P_i
Pi对
A
A
A类型节点的相对重要性。在计算出每个
P
i
∈
P
A
P_i∈P_A
Pi∈PA的
β
P
i
\beta_{P_i}
βPi后,就可以对
v
v
v的所有特定元路径的节点向量进行加权和。
最后,MAGNN使用线性转换和一层非线性函数,将节点嵌入投影到所需输出维数的向量空间:
其中,
W
o
∈
R
d
o
×
d
′
W_o∈R^{d_o×d'}
Wo∈Rdo×d′是权重矩阵。这个映射针对具体任务有所不同,可以看成是用于节点分类的线性分类器,也可以看成是用于链路预测的具有节点相似性度量的空间投影。
4.4 元路径实例编码器
本节对应4.2节(2)中的元路径实例编码函数 f θ f_θ fθ,作者给出了三个候选的编码函数:
- Mean encoder: 该函数取沿元路径实例
P
(
v
,
u
)
P(v,u)
P(v,u)的节点向量的元素均值。
- Linear encoder: 对Mean encoder的扩展,附加一个线性变换。
- Relational rotation encoder: 本文还研究了一种基于在复杂空间的关系旋转的元路径实例编码器,这是一种知识图嵌入操作。上面介绍的Mean encoder和Linear encoder将元路径实例视为一个集合,从而忽略了元路径序列结构中嵌入的信息。关系旋转提供了一种建模这种知识的方法。给定
P
(
v
,
u
)
=
(
t
0
,
t
1
,
.
.
.
,
t
n
)
P(v,u)=(t_0,t_1,...,t_n)
P(v,u)=(t0,t1,...,tn),
t
0
=
u
t_0=u
t0=u,
t
n
=
v
t_n=v
tn=v,令
R
i
R_i
Ri为节点
t
i
−
1
t_{i-1}
ti−1与
t
i
t_i
ti之间的关系,
r
i
r_i
ri为
R
i
R_i
Ri的关系向量,关系旋转编码器表示为
其中, h t i ′ h'_{t_i} hti′与 r i r_i ri均为复杂向量, ⊙ ⊙ ⊙表示元素间乘积。可将一个维数为 d ′ d' d′的实向量看作一个维数为 d ′ / 2 d'/2 d′/2的复向量,其前 d ′ / 2 d'/2 d′/2维为真实的部分,后 d ′ / 2 d'/2 d′/2维为虚构的部分。
MAGNN前向传播算法如下:
4.5 训练
经过上述的三个部分,得到了最终的节点表示,可用于下游任务。根据不同任务的特点和节点标签的可用性,我们可以在两种主要的学习范式中训练MAGNN,即半监督学习和无监督学习。
4.5.1 半监督学习
在一小部分标记节点的指导下,可以通过反向传播和梯度下降来最小化交叉熵来优化模型的权重,从而学习针对异质图的有意义的节点嵌入。这种半监督学习的交叉熵损失被表述为:
其中,
V
L
V_L
VL是带标签的节点集,
C
C
C是类数,
y
v
y_v
yv是节点
v
v
v的one-hot标签向量,
h
v
h_v
hv是节点
v
v
v的预测概率向量(输出向量表示)。
4.5.2 无监督学习
在没有任何节点标签的情况下,可以通过负采样技术来最小化如下的损失函数:
其中,
σ
(
⋅
)
σ(·)
σ(⋅)是sigmoid函数,
Ω
Ω
Ω是观察到的(正)节点对的集合,
Ω
−
Ω^-
Ω−是从所有未观察到的节点对中采样的负节点对的集合(
Ω
Ω
Ω的补充)。
5 实验
实验旨在解决问题:
- MAGNN在节点分类任务上表现如何?
- MAGNN在节点聚类任务上表现如何?
- MAGNN在预测节点对之间的合理链接(链路预测)任务上表现如何?
- MAGNN的三个主要组成部分对其有什么样的影响?
- 如何理解不同图嵌入方法的表示学习能力?
I
M
D
b
IMDb
IMDb和
D
B
L
P
DBLP
DBLP数据集用于节点分类和节点聚类,
L
a
s
t
.
f
m
Last.fm
Last.fm用于链路预测。
参考博客:
【论文解读 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding
论文笔记:WWW 2020 MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding