【网络表示学习】GraphSAGE
题目:Inductive Representation Learning on Large Graphs
作者:Hamilton, William L. and Ying, Rex and Leskovec, Jure
来源:NIPS 2017
目前大多数图嵌入方法在训练过程中需要图中所有节点参与,属于直推学习(transductive),无法直接泛化到之前未见的节点。本文提出一种适用于大规模网络的归纳式(inductive)模型-GraphSAGE,能够为新增节点快速生成embedding,而无需额外训练过程。
GraphSage训练所有节点的每个embedding,还训练一个聚合函数,通过从节点的相邻节点采样和收集特征来产生embedding。本文训练一组aggregator函数来从一个节点的邻节点aggregate特征信息,每个aggregator函数从不同的hops或搜索深度aggregate信息。
模型
不同于为每个节点训练独立的embedding,本文训练的是一系列不同深度的聚合函数,学习节点邻居的聚合特征。
Embedding生成
算法直观上是在每次迭代中,节点聚合邻居信息。随着不断迭代,节点得到图中来自越来越远的邻居信息。
邻居采样:在每个epoch中,均匀地选取固定大小的邻居数目,每次迭代选取不同的均匀样本。
损失函数
两两节点u和v的embedding向量表示z的无监督的损失函数:
其中 ,v是u的固定长度邻居节点, 是sigmoid函数,是负采样分布, 是负样本数目。
无监督损失函数目的是支持面向多种应用,在特定应用上可以采用特定的loss如交叉熵。
Aggregator结构
Mean aggregator
邻居集合的均值,与GCN中卷积传播的规则相似。将下式代入伪代码4~5行
是节点v的邻居节点集合
该aggregator与本文介绍算法的区别:没有考虑前一层的该节点表示(伪代码行5)
LSTM aggregator
Pooling aggregator