Graph SAGE:工业应用,是目前所有工业上图模型的雏形。归纳式学习,可以泛化到没有未参与训练的节点上。卷积部分可以有很多种,比如平均,pooling,lstm聚合,以及GCN聚合等。
GraphSAGE(Graph SAmple and aggreGatE)框架,工业应用,附带python 开源实现。归纳式学习,可以泛化到没有未参与训练的节点上。卷积部分可以有很多种,比如平均,pooling,lstm聚合,以及GCN聚合等。
区别于 GCN 使用邻接矩阵 A 使用图全局结构信息,这里是对 GCN 做了进一步精简,每次迭代只抽样取直接相邻的节点,通过训练聚合节点邻居的函数(卷积层),使GCN扩展成归纳学习任务,对未知节点起到泛化作用。
SAGE实现的归纳式,除了在一般的直推式学习到embedding的表示之外,多了一个学习的过程,即学习由邻居节点表示embedding的function要如何表示。所以,整个过程由两部分组成:1. embedding的表示的学习;2. 邻居节点泛化表示embedding function的学习。这两个学习过程可以放到一个学习过程中进行。
Aggregate邻居结点的状态,作为邻居结点的一个“和”状态。
将这个“和”状态和当前结点的状态通过Concat操作和带非线性激活的全连接层融合到一起更新当前结点的状态。
抽样 1 阶、2 阶邻居节点,深度遍历迭代聚合 2 阶邻居。利用 2 阶邻特征,生成 1 阶邻居embedding,再聚合 1 阶embedding,生成目标节点 embedding。
需要注意的点
- 局部图卷积 PinSage,聚合邻居特征的方式生成节点embedding。
- 对于一阶、二阶采用不同的卷积核,这里可以改进为一阶好友、二阶好友、关注收藏夹,关注话题,多个通道(原文的一阶和二阶本身用不同的卷积核,类似于通道思想)