Heterogeneous Graph Neural Network是发表在KDD 2019的一篇文章,提出了HetGNN模型,采用LSTM进行节点级别的聚合,采用注意力机制进行语义级别的聚合。
作者认为现在的网络几乎都没有同时考虑异构网络的结构信息以及每个节点的异构内容信息(大概就是属性的意思吧)。
当前先进的GNNs并没有对异构图解决以下几个问题:
G = ( V , E , O V , R E ) ; O V : t h e s e t o f o b j e c t t y p e s ; R E : t h e s e t o f l i n k s t y p e s ; \begin{aligned} &G=(V,E,O_V,R_E);\\ &O_V:the{\,}set {\,}of {\,}object {\,}types;\\ &R_E:the{\,}set{\,}of {\,}links{\,}types;\\ \end{aligned} G=(V,E,OV,RE);OV:thesetofobjecttypes;RE:thesetoflinkstypes;
总体来看,作者引入带有重启策略的随机游走方法为每个节点采样固定长度的异构邻居,然后利用节点异构内容编码器编码节点的异构内容,从而得到节点的初始嵌入表示,用LSTM作为聚合器聚合meta-path内的节点级信息,用注意力机制进行语义级别的聚合。
下面作者根据提出的三个问题一一给出了解决方案,最终提出了HetGNN模型。
作者设计了一个异构邻居采样策略(RWR):
这个策略的好处是:
对于节点
v
v
v,其属性集
C
v
C_v
Cv,对于
C
v
C_v
Cv中第
i
i
i个属性的表示,用
x
i
x_i
xi表示,
f
1
(
v
)
f_1(v)
f1(v)表示节点
v
v
v的内容编码。
f
1
(
v
)
=
∑
i
∈
C
v
[
LSTM
→
{
F
C
θ
x
(
x
i
)
}
⊕
LSTM
←
{
F
C
θ
x
(
x
i
)
}
]
∣
C
v
∣
f_{1}(v)=\frac{\sum_{i \in \mathcal{C}_{v}}\left[\overrightarrow{\operatorname{LSTM}}\left\{\mathcal{F} C_{\theta_{x}}\left(\mathbf{x}_{i}\right)\right\} \oplus \overleftarrow{\operatorname{LSTM}}\left\{\mathcal{F} C_{\theta_{x}}\left(\mathbf{x}_{i}\right)\right\}\right]}{\left|C_{v}\right|}
f1(v)=∣Cv∣∑i∈Cv[LSTM{FCθx(xi)}⊕LSTM{FCθx(xi)}]作者认为属性集的遍历顺序并不重要。
聚合过程包括两个连续的步骤:(1)相同类型邻居节点聚合;(2)不同类型邻居节点聚合。
相同类型节点聚合
f
2
t
(
v
)
=
A
G
v
′
∈
N
t
(
v
)
t
{
f
1
(
v
′
)
}
f_{2}^{t}(v)=\mathcal{A} G_{v^{\prime} \in N_{t}(v)}^{t}\left\{f_{1}\left(v^{\prime}\right)\right\}
f2t(v)=AGv′∈Nt(v)t{f1(v′)}节点
v
v
v类别
t
t
t的邻域表示为
N
t
(
v
)
N_t(v)
Nt(v),
A
G
t
\mathcal{A} G^t
AGt可以被理解成是泛化的关于类别
t
t
t的聚合器,而这里作者采用Bi-LSTM:
f
2
t
(
v
)
=
∑
v
′
∈
N
t
(
v
)
[
L
S
T
M
→
{
f
1
(
v
′
)
}
⊕
LSTM
←
{
f
1
(
v
′
)
}
]
∣
N
t
(
v
)
∣
f_{2}^{t}(v)=\frac{\sum_{v^{\prime} \in N_{t}(v)}\left[\overrightarrow{L S T M}\left\{f_{1}\left(v^{\prime}\right)\right\} \oplus \overleftarrow{\operatorname{LSTM}}\left\{f_{1}\left(v^{\prime}\right)\right\}\right]}{\left|N_{t}(v)\right|}
f2t(v)=∣Nt(v)∣∑v′∈Nt(v)[LSTM{f1(v′)}⊕LSTM{f1(v′)}]
不同类型邻居节点聚合
不同类别的邻居会对节点
v
v
v最终的表示起不同程度的作用,因而作者这里采用注意力机制。
E
v
=
α
v
,
v
f
1
(
v
)
+
∑
t
∈
O
V
α
v
,
t
f
2
t
(
v
)
\mathcal{E}_v=\alpha^{v,v}f_1(v)+\sum_{t∈O_V}\alpha^{v,t}f_2^t(v)
Ev=αv,vf1(v)+t∈OV∑αv,tf2t(v)节点本身的内容编码
f
1
(
v
)
f_1(v)
f1(v)和type-based聚合嵌入
f
2
t
(
v
)
f_2^t(v)
f2t(v)放入一个结合
F
(
v
)
\mathcal{F}(v)
F(v),最终节点
v
v
v的表示可以写成:
E
v
=
∑
f
i
∈
F
(
v
)
α
v
,
i
f
i
α
v
,
i
=
exp
{
Leaky
ReL
U
(
u
T
[
f
i
⊕
f
1
(
v
)
]
)
}
∑
f
j
∈
F
(
v
)
exp
{
LeakyReLU
(
u
T
[
f
j
⊕
f
1
(
v
)
]
)
}
\begin{array}{c} \mathcal{E}_{v}=\sum_{f_{i} \in \mathcal{F}(v)} \alpha^{v, i} f_{i} \\ \alpha^{v, i}=\frac{\exp \left\{\text { Leaky } \operatorname{ReL} U\left(u^{T}\left[f_{i} \oplus f_{1}(v)\right]\right)\right\}}{\sum_{f_{j} \in \mathcal{F}(v)} \exp \left\{\text { LeakyReLU }\left(u^{T}\left[f_{j} \oplus f_{1}(v)\right]\right)\right\}} \end{array}
Ev=∑fi∈F(v)αv,ifiαv,i=∑fj∈F(v)exp{ LeakyReLU (uT[fj⊕f1(v)])}exp{ Leaky ReLU(uT[fi⊕f1(v)])}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务