GraphSAGE(Graph SAmple and aggreGatE)理论

GraphSAGE(Graph SAmple and aggreGatE) 理论

一、核心思想

1、GCN的缺点 – 得到新节点的表示的难处

由于每个节点的表示是固定的,所以每添加一个节点,意味着许许多多与之相关的节点的表示都应该调整,开销极大。

2、GraphSAGE的思想

思想:不得到每个节点的一个固定的表示,而是去学习节点的表示方法。即学习一个节点的信息是怎么通过其邻居节点的特征聚合而来的 (聚合函数)。通过训练聚合节点邻居的函数(卷积层),使GCN扩展成归纳学习任务,对未知节点起到泛化作用。

节点的特征 + 邻居节点特征 — 聚合函数 – > 新的节点表示

3、GraphSAGE的前向传播算法(Embedding generation)

GraphSAGE(Graph SAmple and aggreGatE)理论_第1张图片
GraphSAGE(Graph SAmple and aggreGatE)理论_第2张图片

a、如何聚集:在这里插入图片描述

b、整体的迭代过程

(1)先对邻居随机采样,降低计算复杂度(图中一跳邻居采样数=3,二跳邻居采样数=5)
(2)生成目标节点emebedding:先聚合2跳邻居特征,生成一跳邻居embedding,再聚合一跳邻居embedding,生成目标节点embedding,从而获得二跳邻居信息。graphsage的迭代应该是一个归纳式的过程,如果k=2,第一层的时候,顶点聚集hop1,hop1聚集hop2,然后第二层的时候顶点聚集更新后的hop1,这样两层网络就完成了两跳信息的更新
(3)将embedding作为全连接层的输入,预测目标节点的标签。

4、聚合函数的选择

mean-aggregator跟GCN十分类似。在GCN中,是直接把邻居的特征进行求和,而实际不是A跟H相乘,而是A帽子,A帽子是归一化的A,所以跟H的向量相乘之后,相当于是“求平均”。GraphSAGE进一步拓展了“聚合”的方法,提出了LSTM、Pooling等聚合方式,不是简单地求平均,而是更加复杂的组合方式,所以有一些效果的提升也是在情理之内的。
GraphSAGE(Graph SAmple and aggreGatE)理论_第3张图片

5、邻居的选择

设置一个定值,每次选择邻居的时候就是从周围的直接邻居(一阶邻居)中均匀地采样固定个数个邻居。但是其实K层的节点聚合了k-1层的节点信息。
K不必取很大的值,当K=2时,效果就灰常好了,也就是只用扩展到2阶邻居即可。
GraphSAGE(Graph SAmple and aggreGatE)理论_第4张图片

6、GraphSAGE的创新之处在于采样。

(1)采样的思路符合常理,邻居信息太多了反而没用;
(2)训练阶段采样增加了随机性,进而增加了模型的泛化能力。不同于直推式学习,归纳式学习可以泛化到未知网络上。
(3)也可以降低新增节点对于原始节点的影响。

二、与GCN的主要区别

1、GCN每次选择节点的所有一阶邻居。上图所示,节点v聚合4个节点的信息(一阶邻居)。
2、GraphSAGE是每次随机采样,选择一阶邻居时是进行随机采样,而不是所有的。

你可能感兴趣的:(深度学习,神经网络,深度学习)