题目: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的无监督的损失函数:
J G ( z u ) = − l o g ( σ ( z u T z v ) ) − Q ⋅ E v n ∼ P n ( v ) l o g ( σ ( − z u T z v n ) ) J_{\mathcal{G}}(\mathbf{z}_u) = - {\rm log}(\sigma(\mathbf{z}_u^ \mathrm{ T } \mathbf{z}_v)) - Q \cdot \mathbb E_{v_n \sim P_n(v)} {\rm log} (\sigma(-\mathbf{z}_u^\mathrm{ T }\mathbf{z}_{v_n})) JG(zu)=−log(σ(zu