GraphSAGE:Inductive graph model 归纳式图模型

论文:Inductive Representation Learning on Large Graphs
链接:https://arxiv.org/abs/1706.02216.

图源源论文

Inductive model

在GNN基础介绍中我们曾提到,基础的GNN、GCN是transductive learning,可以理解为半监督学习。在我们构建的graph中包含训练节点和测试节点,虽然我们不知道测试节点的label,但是我们从这些节点中获取了信息,这种transductive模型一个很明显的局限性就在于无法进行在线测试。当输入新节点之后,我们需要重新构图训练模型,而GraphSAGE则是一个Inductive的模型,具有更强的落地应用价值。

GraphSAGE

SAGE:SAmple and aggreGatE

Instead of training individual embeddings for each node, we learn a function that generates embeddings by sampling and aggregating features from a node’s local neighborhood.

论文摘要部分提到了这一模型的关键思想在于学习一个能从邻节点采样聚合后生成node embedding的函数。图源源论文
整个流程如上图所示,主要包括三个部分

  • 对图中每个顶点邻居顶点进行采样(因为每个节点的度是不一致的,为了计算高效, 为每个节点采样固定数量的邻居)
  • 聚合采样得到的邻居顶点的信息,更新node features
  • 根据顶点的embedding进行下游任务处理

在这里插入图片描述
上面伪代码展示了GraphSAGE前向传播生成embedding的过程。

aggregator

论文中测试了多种聚合函数的性能。另外,聚合函数必须满足

invariant to permutations of its inputs

聚合函数的对称性(symmetry property)确保了神经网络模型可以被训练且可以应用于任意顺序的顶点邻居特征集合上。

  • Mean aggregator 每个维度的均值。均值聚合近似等价在transducttive GCN框架中的卷积传播规则
  • LSTM aggregator。LSTM不具有置换不变性(permutation invariant),因为它们以一个序列的方式处理输入。因此,需要先对邻居节点随机顺序,然后将邻居序列的embedding作为LSTM的输入。
  • Pooling aggregator(max pooling or mean pooling)

train model

论文提供了无监督学习和监督学习两种方式。监督学习应用于下游任务,而无监督的损失:
J G ( z u ) = − log ⁡ ( σ ( z u ⊤ z v ) ) − Q ⋅ E v n ∼ P n ( v ) log ⁡ ( σ ( − z u ⊤ z v n ) ) J_{\mathcal{G}}\left(\mathbf{z}_{u}\right)=-\log \left(\sigma\left(\mathbf{z}_{u}^{\top} \mathbf{z}_{v}\right)\right)-Q \cdot \mathbb{E}_{v_{n} \sim P_{n}(v)} \log \left(\sigma\left(-\mathbf{z}_{u}^{\top} \mathbf{z}_{v_{n}}\right)\right) JG(zu)=log(σ(zuzv))QEvnPn(v)log(σ(zuzvn))

这一graph-based loss function对output representations使用SGD进行优化,使不相邻的节点表示差异增大,使用内积来衡量相似度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值