GraphSage: Inductive representation learning on large graphs

背景

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被用来解决这一方面的问题。
GraphSage: Inductive representation learning on large graphs_第1张图片
给定 x v {{\bf{x}}_v} xv ,聚合层的领域节点定义为 x v ∈ X {{\bf{x}}_v} \in {\bf{X}} xvX,非线性的激活函数表示为 σ \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({huk1,uN(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(hvk1,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

你可能感兴趣的:(人工智能,深度学习,机器学习,神经网络)