背景
Hamilton W L, Ying R, Leskovec J. Inductive representation learning on large graphs[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. 2017: 1025-1035.
模型
GraphSage被提出\upcite{20}, 是一种在大图上基于归纳式子表示学习的算法。主要解决的问题可以被描述为:给定图,输入特征
X
\bf{X}
X, 图
G
(
V
,
E
)
{\mathcal G}({\mathcal V},{\mathcal E})
G(V,E),在GraphSage 中包含两种操作,一种是采样操作者,另外一种是聚合操作。在采样过程中,GraphSage依据节点之间的信息连接对当前节点的邻居节点进行采样操作。在使用聚合函数操作时,使用的是多层聚合函数。通过多层聚合函数,对相邻节点的信息进行融合。在GCN中,网络训练在每一层都需要依靠
A
^
{\bf{\hat A}}
A^,这表明GCN 依赖全局图的使用, 因此GraphSage 解决这一方面的问题。GraphSage 聚合的过程采用两层聚合的方式。在GCN中,使用全局图,和全部样本,这是一种Transductive任务。对于Inductive任务,训练模型不需要使用全部样本,因此GraphSage被用来解决这一方面的问题。
给定
x
v
{{\bf{x}}_v}
xv ,聚合层的领域节点定义为
x
v
∈
X
{{\bf{x}}_v} \in {\bf{X}}
xv∈X,非线性的激活函数表示为
σ
\sigma
σ ,可微分的聚合函数被表示为
A
G
G
k
{\rm{AG}}{{\rm{G}}_k}
AGGk,表示对第
k
k
k个邻域进行聚合。每个邻域节点的聚合向量的更新表示为
h N ( v ) k = A G G k ( { h u k − 1 , ∀ u ∈ N ( v ) } ) {\bf{h}}_{{\mathcal N}(v)}^k = {\rm{AG}}{{\rm{G}}_k}(\{ {\bf{h}}_u^{k - 1},\forall u \in {\mathcal N}(v)\} ) hN(v)k=AGGk({huk−1,∀u∈N(v)})
上述表明,在聚合第
k
k
k个邻域时,当前节点的更新操作。向量的初始化
h
v
0
=
x
v
{\bf{h}}_v^0 = {{\bf{x}}_v}
hv0=xv。
对于节点
v
v
v的更新被表示为
h
v
k
=
σ
(
W
k
C
A
T
(
h
v
k
−
1
,
h
N
(
v
)
k
)
)
{\bf{h}}_v^k = \sigma ({{\bf{W}}^{\bf{k}}}{\rm{CAT}}({\bf{h}}_v^{k - 1},{\bf{h}}_{{\mathcal N}(v)}^k))
hvk=σ(WkCAT(hvk−1,hN(v)k))
通过
k
k
k次操作,并进行归一化操作后,可以得到最终关于节点
v
v
v特征向量的表示。对于GraphSage, 提出四种聚合函数,第一种聚合函数是均值聚合函数,指对于当前节点
v
v
v对应的邻域节点求均值操作。第二种聚合函数是图卷积神经网络聚合方式,指对于邻域节点和当前节点先进行拼接,然后再求均值操作并进行图卷积操作。第三种聚合方式是指LSTM (Long Short-Term Memory)。LSTM是一种序列模型,一般被用于序列任务,例如文本序列,时间序列,语音序列,可以很好的提取序列信息,因此被广泛的应用于各种领域。第四种聚合方式是池化聚合方式,通过全连接层将邻居节点的进行特征映射,然后进行池化操作。
GraphSage的训练方式包括有监督的方式和无监督的方式,有监督训练可以采用例如交叉熵损失等目标损失函数,无监督训练采用负采样的方式来进行训练。GraphSage通过采样和聚合函数学习单个节点的嵌入,并且性能优于一般基线的方法。
笔记
https://baijiahao.baidu.com/s?id=1672015491978890854&wfr=spider&for=pc