论文阅读_GraphSAGE

GraphSAGE是2017年提出的图神经网络算法,解决了GCN的局限性,允许进行归纳式学习。算法通过节点采样、邻居聚合和学习过程生成节点的表示向量。采样过程采用minibatch策略,限制每层邻居数量以控制复杂度。聚合函数包括Mean、GCN、LSTM和Pooling,用于融合节点信息。GraphSAGE的泛化性能强,适用于新节点的表示学习。
摘要由CSDN通过智能技术生成

GraphSAGE

GraphSAGE是2017年提出的一种图神经网络算法,解决了GCN网络的局限性: GCN训练时需要用到整个图的邻接矩阵,依赖于具体的图结构,一般只能用在直推式学习(Transductive Learning)。GraphSAGE使用多层聚合函数,每一层聚合函数会将节点及其邻居的信息聚合在一起得到下一层的特征向量,GraphSAGE采用了节点的邻域信息,不依赖于全局的图结构。

预备知识

图神经网络的任务一般有Transductive(直推式)和Inductive(归纳式)。

Transductive(直推式):传统的图嵌入算法(基于矩阵分解、随机游走的算法)在迭代的过程中需要用到所有节点的信息,学习得到所有节点的向量表示,但是对于新加入的节点需要对所有的节点重新计算,泛化性差。

inductive(归纳式):学习的结果不再是每个节点的嵌入,而是“聚合函数”。根据已知各个节点的特征和邻居关系,得到一个新节点的表示。因此,graphSAGE泛化性好,对新加入的节点,可以根据其邻居聚合直接给出其表示学习,而不必对整个网络重新迭代。

算法流程

img

算法分为三个部分:1)节点采样;2)节点邻居聚合;3)根据聚合信息对节点进行学习

嵌入生成算法

上图中的包括两层聚合,对应的聚合函数为 aggregator1 和 aggregator2。通过 k 层聚合之后,可以得到节点最终的表示向量,GraphSAGE 的伪代码如下:
请添加图片描述

伪代码中的 h0 表示节点 v 的初始特征向量,包含 K 层聚合操作。在第 k 次聚合生成 v 节点特征向量时,会采用聚合函数把 v 节点的邻居信息融合在一起。

采样算法

这一操作也可改成minibatch的,给定一个输入节点的集合,采样它们的邻居节点(一阶邻居),对于一阶邻居,采样他们的邻居(二阶邻居),直到K阶邻居采样完成。伪代码如下:
在这里插入图片描述
随着层数的增加,采样的邻居数量会呈指数增加,一般定义S-k表示每一层固定的邻居采样数量。当某一节点的邻居小于S-k时,采用重复采样。作者发现,取K=2,S-1*S-2<=500,就可以得到很好的性能表现。

聚合函数

GraphSAGE 提供了四种聚合节点的函数:

Mean aggregator: 对节点 v 进行聚合时,对节点 v 和邻域的特征向量求均值。
在这里插入图片描述
GCN aggregator: 采用了类似 GCN 卷积的方式进行聚合,公式和 Mean aggregator 类似:
在这里插入图片描述
LSTM aggregator: 作者任务 LSTM 有比较好的抽取特征能力,因此也使用了 LSTM 进行聚合,但是因为节点之间没有明显的顺序关系,因此会打乱之后放入 LSTM。

Pooling aggregator: 先把所有邻居节点的特征向量传入一个全连接层,然后使用 max-pooling 聚合。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值