
题目: Heterogeneous Graph Attention Network
会议: WWW 2019
论文地址:Heterogeneous Graph Attention Network
前面的一篇文章里提到了图注意力网络GAT:ICLR 2018 | GAT:图注意力网络,GAT引入了Attention机制来给不同的邻居节点赋予不同的重要性,然后节点在聚合邻居节点特征的过程中会更多地提取重要邻居的特征,从而带来整体效果的提示。
GAT只考虑了同质图,也就是所有节点都同属于一类,即注意力机制在同类邻居节点中提取重要的部分。关于异质图的表示学习,前面的一篇文章里提到了metapath2vec:KDD 2017 | metapath2vec:异质图的可扩展表示学习,metapath2vec定义了meta-path scheme及其对应的随机游走策略,该策略能够捕获不同类型节点及关系的结构和语义相关性。
基于GAT和metapath2vec,本文提出了一种异质图注意力网络HAN(Heterogeneous Graph Attention Network),HAN将GAT中提出的注意力机制从同质图扩展到了异质图。
元路径meta-path是连接两个对象的复合关系,是一种广泛用于捕获语义的结构。以图1(a)所示的电影数据IMDB为例:

上面的异质网络包含电影、演员和导演三种类型的节点。两部电影之间的关系可以通过元路径Movie-Actor-Movie(MAM)来揭示,而Movie-Director-Movie(MDM)则表示两部电影由同一位导演执导。可以看到,根据元路径的不同,异质图中节点之间的关系可以具有不同的语义。由于异质图的复杂性,传统的图神经网络不能直接应用于异质图。
基于以上分析,在设计异质图的注意机制图神经网络体系结构时,需要考虑以下新的要求:
meta-path来反映。异质图中不同的元路径可以提取不同的语义信息,如何为特定任务选择最有意义的元路径并融合语义信息是一个有趣的研究方向。语义级注意力的目的是了解每个元路径的重要性,并为它们分配适当的权重。还是以IMDB为例,《终结者》可以通过Movie-Actor-Movie连接到《终结者2》(均由施瓦辛格主演),也可以通过Movie-Year-Movie连接到《鸟人》(均拍摄于1984年)。但是,在确定电影《终结者》的类型时,MAM通常比MYM发挥更重要的作用。因此,平等对待不同的元路径是不现实的,并且会削弱一些有用的元路径提供的语义信息。基于上面提出的问题,本文提出了异质图注意力网络HAN,HAN同时考虑了节点级和语义级的注意力。
异质图:

即图中节点类型数和边类型数之和大于2。
元路径:在异质图中,两个对象可以通过不同的语义路径连接起来,这种语义路径称为元路径。具体来讲,一个元路径
Φ
\Phi
Φ被定义为:
V
1
→
R
1
V
2
→
R
2
.
.
.
V
t
→
R
t
V
t
+
1
.
.
.
→
R
l
−
1
V
l
V_1\overset{R_1}{\rightarrow }V_2\overset{R_2}{\rightarrow}...V_t\overset{R_t}{\rightarrow}V_{t+1}...\overset{R_{l-1}}{\rightarrow}V_l
V1→R1V2→R2...Vt→RtVt+1...→Rl−1Vl
需要注意的是,元路径中相邻节点的类型是不一样的,即
V
i
V_i
Vi和
V
i
+
1
V_{i+1}
Vi+1属于不同类型的节点,
R
i
R_i
Ri表示两个节点间的关系。
如图1(a)所示:

两个电影可以通过多个元路径连接,如电影-演员-电影(Movie-Actor-Movie, MAM)和电影-导演-电影(Movie-Director-Movie, MDM)。不同的元路径总是揭示不同的语义。例如,MAM意味着合作演员关系,而电影-导演-电影(MDM)意味着它们由同一个导演执导。
基于元路径的邻居: 给定一个元路径 Φ \Phi Φ,每个节点存在一组基于元路径的邻居,这些邻居可以揭示异质图中不同的结构信息和丰富的语义。给定一个异质图中的节点 i i i和一个元路径 Φ \Phi Φ,节点 i i i基于元路径的邻居 N i Φ N_i^{\Phi} NiΦ定义为通过元路径 Φ \Phi Φ与节点 i i i连接的节点集合。注意,节点的邻居包括它自己。例如对于上图中的节点 m 1 m_1 m1,给定元路径Movie-Actor-Movie, m 1 m_1 m1的基于元路径的邻居节点包括 m 1 m_1 m1(本身)、 m 2 m_2 m2和 m 3 m_3 m3。同样,基于元路径Movie-Director-Movie的 m 1 m_1 m1的邻居节点包括 m 1 m_1 m1和 m 2 m_2 m2。
HAN的总体框架如下所示:

可以发现,本文提出的HAN分为三部分:节点级注意力+语义级注意力+预测。具体来讲,首先通过节点级注意力学习基于元路径的邻居对异质图中每个节点的重要性,然后聚合这些邻居节点的表示,最后通过语义级注意力将所有元路径的聚合结果加权得到节点的最终更新状态。
在汇总每个节点的元路径邻居的信息之前,应该注意到每个节点基于元路径的邻居在特定任务的节点嵌入学习中扮演着不同的角色,表现出不同的重要性。HAN中引入了节点级注意力,可以学习基于元路径的邻居对异质图中每个节点的重要性,并聚合这些有意义的邻居的表示,以形成一个节点嵌入。
由于节点的异质性,不同类型的节点具有不同的特征空间。因此,对于每种类型的节点(例如类型
ϕ
i
\phi_i
ϕi),HAN设计了特定类型的转换矩阵
M
ϕ
i
M_{\phi_i}
Mϕi,将不同类型节点的特征映射到同一特征空间中:
h
i
′
=
M
ϕ
i
⋅
h
i
h_i^{'}=M_{\phi_i}\cdot h_i
hi′=Mϕi⋅hi
其中
h
i
′
h_i^{'}
hi′和
h
i
h_i
hi表示映射前后节点
i
i
i的特征。
所有节点的特征完成映射后,利用self-attention来学习每个邻居节点的权重。给定一个通过元路径
Φ
\Phi
Φ连接的节点对
(
i
,
j
)
(i,j)
(i,j),节点级注意力
e
i
j
Φ
e_{ij}^{\Phi}
eijΦ可以学习到节点
j
j
j对节点
i
i
i的重要性:
e
i
j
Φ
=
a
t
t
n
o
d
e
(
h
i
′
,
h
j
′
;
Φ
)
e_{ij}^{\Phi}=att_{node}(h_{i}^{'},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的重要性可以有很大的差异。研究表明,节点级注意力可以保持异质图的不对称性,而不对称性是异质图的一个关键特性。
与GAT一致,HAN在只关注节点的基于元路径的邻居节点,而不是所有节点,即
j
∈
N
i
Φ
j \in N_i^{\Phi}
j∈NiΦ。在得到基于元路径的节点对之间的重要性后,通过softmax函数对其进行归一化,以得到每个基于元路径的邻居节点的权重系数
α
i
j
Φ
\alpha_{ij}^{\Phi}
αijΦ:
α
i
j
Φ
=
s
o
f
t
m
a
x
(
e
i
j
Φ
)
=
e
x
p
(
σ
(
a
Φ
T
⋅
[
h
i
′
∣
∣
h
j
′
]
)
)
∑
k
∈
N
i
Φ
e
x
p
(
σ
(
a
Φ
T
⋅
[
h
i
′
∣
∣
h
k
′
]
)
)
\alpha_{ij}^{\Phi}=softmax(e_{ij}^{\Phi})=\frac{exp(\sigma(a_{\Phi}^T \cdot[h_i^{'}||h_{j}^{'}]))}{\sum_{k \in N_i^{\Phi}}exp(\sigma(a_{\Phi}^T \cdot[h_i^{'}||h_{k}^{'}]))}
αijΦ=softmax(eijΦ)=∑k∈NiΦexp(σ(aΦT⋅[hi′∣∣hk′]))exp(σ(aΦT⋅[hi′∣∣hj′]))
这里和GAT操作类似,都是先将节点
i
i
i的特征和其基于元路径的邻居节点
j
j
j的特征进行一个concat操作,然后乘上一个权重系数
a
Φ
T
a_{\Phi}^T
aΦT,然后再经过一个激活函数以得到一个具体的表示节点
j
j
j对节点
i
i
i重要程度的数值,最后再利用softmax进行归一化以得到归一化的权重系数
α
i
j
Φ
\alpha_{ij}^{\Phi}
αijΦ。
得到每个基于元路径的节点的归一化权重系数后,再将它们的特征进行线性加权,即可得到节点基于某一元路径学习到的嵌入表示:
z
i
Φ
=
σ
(
∑
j
∈
N
i
Φ
α
i
j
Φ
⋅
h
j
′
)
z_i^{\Phi}=\sigma(\sum_{j\in N_i^{\Phi}}\alpha_{ij}^{\Phi}\cdot h_{j}^{'})
ziΦ=σ(j∈NiΦ∑αijΦ⋅hj′)
节点级聚合过程可以概括如下(a):

由于异质图具有无标度的特性,因此图数据的方差很大。为了解决该问题,同GAT一致,HAN中也将节点级注意力扩展到了多头注意力,使训练过程更加稳定。具体来说就是重复
K
K
K次节点级注意力,并将学习到的嵌入连接为特定语义的嵌入:
z i Φ = ∣ ∣ k = 1 K σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) z_i^{\Phi}=||_{k=1}^{K} \sigma(\sum_{j\in N_i^{\Phi}}\alpha_{ij}^{\Phi}\cdot h_{j}^{'}) ziΦ=∣∣k=1Kσ(j∈NiΦ∑αijΦ⋅hj′)
给定元路径集合 { Φ 0 , Φ 1 , . . . , Φ P } \left \{\Phi_0,\Phi_1,...,\Phi_P \right \} {Φ0,Φ1,...,ΦP},将节点特征输入到节点级注意力后,可以得到 P P P组特定语义的节点嵌入,记作: { Z Φ 0 , Z Φ 1 , . . . , Z Φ P } \left \{Z_{\Phi_0},Z_{\Phi_1},...,Z_{\Phi_P} \right \} {ZΦ0,ZΦ1,...,ZΦP}。
一般情况下,异质图中的每个节点都包含多种类型的语义信息,即每个节点都可以得到多个具有特定语义的节点嵌入,而基于语义的节点嵌入只能从一个方面反映节点的特性。为了学习更全面的节点嵌入,我们需要融合元路径所揭示的多种语义。为了解决异质图中元路径选择和语义融合的问题,HAN中提出了一种新的语义级注意力机制,用于自动学习不同元路径的重要性,并为特定任务融合它们。
将从节点级注意力中学习到的
P
P
P组语义特定的节点嵌入作为输入,学习到的每个元路径的权重如下所示:
(
β
Φ
0
,
β
Φ
1
,
.
.
.
,
β
Φ
P
)
=
a
t
t
s
e
m
(
Z
Φ
0
,
Z
Φ
1
,
.
.
.
,
Z
Φ
P
)
(\beta_{\Phi_0},\beta_{\Phi_1},...,\beta_{\Phi_P})=att_{sem}(Z_{\Phi_0},Z_{\Phi_1},...,Z_{\Phi_P})
(βΦ0,βΦ1,...,βΦP)=attsem(ZΦ0,ZΦ1,...,ZΦP)
这里的
a
t
t
s
e
m
att_{sem}
attsem表示执行语义级注意力的深度神经网络。
假设每个元路径的重要性记为
w
Φ
i
w_{\Phi_i}
wΦi,则有:
w
Φ
i
=
1
V
∑
i
∈
V
q
T
⋅
t
a
n
h
(
W
⋅
z
i
Φ
+
b
)
w_{\Phi_i}=\frac{1}{\mathcal{V}}\sum_{i \in \mathcal{V}}q^T \cdot tanh(W \cdot z_{i}^{\Phi}+b)
wΦi=V1i∈V∑qT⋅tanh(W⋅ziΦ+b)
即对于每一个元路径
Φ
i
\Phi_i
Φi,其有着
∣
V
∣
|\mathcal{V}|
∣V∣(节点个数)组节点嵌入表示。为了计算这条元路径的重要性,对于每一个节点,首先将其在该元路径下的嵌入表示经过一个非线性层,然后乘上一个语义级注意力向量
q
q
q,最后再将所有节点的转换结果进行平均,以得到这条元路径的重要性。
需要注意的是,所有参数对于所有元路径和语义特定的嵌入都是共享的,即
W
,
b
,
q
W,b,q
W,b,q对所有元路径来说是共享的。在得到所有元路径的重要性之后,利用softmax函数对其进行归一化,以得到每条元路径的归一化权重系数
β
Φ
i
\beta_{\Phi_i}
βΦi:
β
Φ
i
=
e
x
p
(
w
Φ
i
)
∑
i
=
1
P
e
x
p
(
w
Φ
i
)
\beta_{\Phi_i}=\frac{exp(w_{\Phi_i})}{\sum_{i=1}^{P}exp(w_{\Phi_i})}
βΦi=∑i=1Pexp(wΦi)exp(wΦi)
学习到每条元路径的重要性后,我们可以将所有基于元路径的节点嵌入表示进行加权:
Z
=
∑
i
=
1
P
β
Φ
i
⋅
Z
Φ
i
Z=\sum_{i=1}^{P}\beta_{\Phi_i} \cdot Z_{\Phi_i}
Z=i=1∑PβΦi⋅ZΦi
语义级聚合过程可以概括如下(b):

在得到所有节点的嵌入表示后,为了进行半监督节点分类,定义如下损失函数:
L
=
−
∑
l
∈
y
L
Y
l
l
n
(
C
⋅
Z
l
)
L=-\sum_{l \in \mathcal{y}_L}Y^{l}ln(C \cdot Z^{l})
L=−l∈yL∑Ylln(C⋅Zl)
其中
C
C
C为分类器参数,
y
L
\mathcal{y}_L
yL为有标签的节点的索引集合,
Y
l
Y^l
Yl和
Z
l
Z^l
Zl分别表示节点的标签和嵌入向量。
HAN的总体过程如下所示:

HAN的分析如下:

实验结果如下所示:

由上表可知:
在得到所有节点的嵌入表示后,使用K-Means来执行节点聚类,簇的数量K被设置为类的数量,并采用NMI和ARI方法对聚类结果进行质量评价,实验结果如下所示:

可以发现:
本文针对异质图分析中的几个基本问题,提出了一种完全基于注意力机制的半监督异质图神经网络HAN,HAN能够捕获异质图背后的复杂结构和丰富语义。
具体来讲,一个异质图中通常有多种元路径,每一种元路径下每个节点都有基于该元路径的邻居节点。HAN首先通过节点级注意力对基于元路径的邻居节点的重要性进行区分并加权处理,以得到某种元路径下节点的聚合特征;然后通过语义级注意力对所有元路径的重要性进行区分,最后将节点在所有元路径下的聚合特征进行加权处理,以得到该节点最终的更新表示。
通过与现有模型的比较,HAN表现出了较大的优越性。更重要的是,通过分析分层注意力机制,HAN对异质图分析具有良好的可解释性。