导读
论文:
Inductive Representation Learning on Large Graphs
任务:
对GCN进行改进,完成在大图上的归纳表示学习(inductive)
本文:
提出GraphSAGE模型
机构:
斯坦福大学
代码:
https://github.com/cenyk1230/GATNE
官方介绍链接:
http://snap.stanford.edu/graphsage/
发表:
NIPS 2017
一、动机
动机一:
大型图中节点的embedding在机器学习中有许多应用(例如,节点分类、聚类、链接预测)。
然而大多数embedding框架本质上是推导式的(transductive),并且只能为单个的固定的图生成embedding表示。
如GCN,利用了图的整个邻接矩阵和图卷积操作融合相邻节点的信息,因此一般用于 Transductive 任务,而不能用于处理 Inductive 任务。(后面有解释)
这些方法不能有效地推广到模型训练中没见过的节点,如演化图(evolving graphs)中。并且这些方法不能在不同的图中学习推广。
动机二:
现有的GCN模型是全图训练方式,即只有一轮迭代。这意味着所有数据的损失只能贡献一次梯度,无法做到DNN常见的小批量更新,且效率低下。这对大规模的图结构来说并不友好。
因此:本文提出 GraphSAGE 模型。
相比之下,
GraphSAGE是一个归纳(inductive)框架,可以利用节点属性信息高效地生成以前未见过的数据的表示。
GraphSAGE也通过对邻居的采样控制达到了小批量训练,高效的完成大图上的归纳表示学习。
它需要在一个示例图或一组图上进行训练。
训练后,该模型可用于为「以前未见过的节点」或「全新的输入图」生成节点embedding,只要这些图与训练数据具有相同的属性模式(have the same attribute schema as the training data)。
该模型对GCN主要的改动在两方面:
- 将GCN的全图训练方法改为小批量训练方式,使大规模图数据的分布式训练成为可能
- 对聚合邻居的操作进行拓展,提出了替换原有聚合操作的几种新方式
二、简介
截止目前(2017年),图卷积网络(GCN)仅应用于固定的图与transductive任务。
本文将GCN扩展到可归纳的(inductive)无监督学习的任务,并提出了一个框架。
该框架将GCN方法推广到使用可训练的(除了简单的卷积外的)其他聚合函数。
本论文提出了一个通用的框架:GraphSAGE(SAmple and aggreGatE,采样和聚合),用于归纳(inductive)节点embedding。
与基于矩阵分解的embedding方法不同,本文利用节点特征(例如,文本属性、节点配置文件信息、节点度)来学习可推广到不可见节点embedding的函数。
通过在学习算法中加入节点特征,模型可以同时学习每个节点邻域的拓扑结构以及节点特征在邻域中的分布。
虽然该方法关注特征丰富的图,但也可以利用所有图形中存在的结构特征(例如,节点的度)。
因此,该算法也适用于没有节点特征的图。
在训练阶段:
该模型不是为每个节点训练一个不同的embedding向量,而是训练一组聚合器函数,学习从节点的局部邻域聚合特征信息(如下图1)。
每个聚合器函数聚合来自给定节点的不同跳数或搜索深度的信息。
在infer阶段:
使用经过训练的模型,通过应用学到的聚合函数,可以为完全没见过的节点生成embedding向量。