聚合方式

平均

先对邻居embedding中每个维度取平均,然后与目标节点embedding拼接后进行非线性转换。
GraphSage - 图1

GCN归纳式聚合

直接对目标节点和所有邻居emebdding中每个维度取平均(替换伪代码中第5、6行),后再非线性转换:
.image.png

LSTM

LSTM函数不符合“排序不变量”的性质,需要先对邻居随机排序,然后将随机的邻居序列embedding image.png作为LSTM输入。

pooling

先对每个邻居节点上一层embedding进行非线性转换(等价单个全连接层,每一维度代表在某方面的表示(如信用情况)),再按维度应用 max/mean pooling,捕获邻居集上在某方面的突出的/综合的表现 以此表示目标节点embedding。
image.png

无监督和有监督设定

无监督loss

希望节点u与“邻居”v的embedding也相似(对应公式第一项),而与“没有交集”的节点 GraphSage - 图5不相似(对应公式第二项)。
image.png

  • GraphSage - 图7 为节点u通过GraphSAGE生成的embedding。
  • 节点v是节点u随机游走访达“邻居”。
  • image.png 表示负采样:节点 GraphSage - 图9是从节点u的负采样分布 GraphSage - 图10采样的,Q为采样样本数。
  • embedding之间相似度通过向量点积计算得到

    有监督loss

    无监督损失函数的设定来学习节点embedding 可以供下游多个任务使用,若仅使用在特定某个任务上,则可以替代上述损失函数符合特定任务目标,如交叉熵。

    采样

    采样方式,是按k=K…1,步骤倒序生成所有要计算的采样点集合,所以在前向计算embedding的时候,按k=1…K计算,就是先计算了N跳、N-1跳…到1跳