【论文解读】Inductive Representation Learning on Large Graphs(GraphSAGE)

Inductive Representation Learning on Large Graphs William在2017年发表于NIPS,是一篇关于动态网络表征学习(Dynamic NRL)的论文,属于 property-preserving 方法

论文链接:https://papers.nips.cc/paper/6703-inductive-representation-learning-on-large-graphs.pdf

源码连接:https://github.com/williamleif/GraphSAGE

 


目录

摘要:

1 引言

2 相关工作

3 GraphSAGE

         3.1 嵌入生成

与Weisfeiler-Lehamn同构性测试的关系

邻域的定义

3.2 学习GraphSAGE的参数

3.3 聚合结构

4 实验


摘要:

  • Graph中节点的低维embedding在多种预测任务中十分有用
  • 现有大部分方法需要在训练embedding时,节点时存在的(静态网络的嵌入);这些方法本质上是 transductive(转导性,暂时还不理解什么意思),不能自动为 不可见节点(网络中现在还不存在的节点)生成embedding。即不能为随后会加入网络的节点学习embedding
  • 提出了GraphSAGE,一种利用节点特征信息(文本属性)的归纳框架,来有效地为预先不可见节点生成节点embedding
  • 我们将学习一个函数,该函数通过对节点的局部邻居的特征进行采样和聚合来生成embedding,而不是为每个节点训练单独的embedding。
  • 我们的方法优于……balabala……

1 引言

  • Graph中节点的低维embedding在多种预测任务中十分有用
  • 节点embedding方法的基本思想是使用降维技术将有关节点邻域的高维信息提取为密集的向量embedding
  • 节点的embeddings可以喂给下游的机器学习系统,帮助完成一些任务,比如节点分类、聚类和链路预测

 

  • 之前的工作主要集中在固定Graph的embedding,而许多真实的应用程序需要embedding方法能够很快为不可见节点或全新的子图生成embedding
  • 这种归纳能力对于高吞吐量、生产机器学习系统至关重要,该系统在不断演化的Graph上运行并不断遇到看不见的节点(例如,Reddit上的帖子,Youtube上的用户和视频)。
  • 一种生成节点嵌入的归纳方法还可以促进具有相同特征形式的图的泛化:例如,可以在从模型生物衍生的蛋白质-蛋白质相互作用图上训练嵌入生成器,然后轻松使用训练好的模型为在新生物上收集的数据生成节点的embedding。

 

  • 与转导性设定相比,归纳式节点嵌入问题尤其困难,因为将其泛化到看不见的节点,需要将新观察到的子图“对齐”到 已经被算法优化过的节点嵌入。
  • 归纳式框架需要识别节点邻域的结构属性,这些结构属性既可以显示节点在图中的局部角色,也​​可以显示其全局位置。

 

  • 大部分现有的方法是转导性的。
  • 这些方法中的大多数都使用基于矩阵分解的目标直接优化了每个节点的嵌入,并且不会自然地泛化到看不见的数据,因为它们在单个固定图中对节点进行预测。
  • 这些方法可以被修改成归纳模式中的方法,但计算昂贵,需要额外的梯度下降

当前工作:

  • 为归纳的节点嵌入,提出了GraphSAGE,利用了节点的特征来学习一个嵌入函数,可以推广到不可见节点。
  • 通过在学习算法中融合节点的特征,同时学习了每个节点的邻域 的拓扑结构和邻域中节点特征的分布
  • 可同样适用于无节点特征的graph

 

  • 我们训练一组聚合函数,以学习如何从节点的局部邻域聚合特征信息,而不是为每个节点训练不同的嵌入向量。
  • 每个聚合函数从原来给定节点的不同大小的hops中聚合信息
  • 在测试或推断时,我们使用受过训练的系统通过应用学习到的聚合函数为完全看不见的节点生成嵌入。
  • 在先前的生成节点嵌入的工作之后,我们设计了一种无监督的损失函数,该函数允许对GraphSAGE进行训练而无需执行特定于任务的监督。
  • 我们还展示了可以完全监督的方式训练GraphSAGE。

 

  • 我们还在三个节点分类的benchmarks上评估了我们的算法,测试了GraphSAGE在不可见节点上生成有用嵌入的能力
  • ……

2 相关工作

想要将重点放在方法部分,这部分以后先不细看了


3 GraphSAGE

方法的核心idea: 学习如何从节点的局部邻域中聚合特征信息

3.1 嵌入生成

嵌入生成算法也可以看成前向传播算法。假定已经学到了:K个聚合函数(AGGREGATE_k, k\in{1,...,K})的参数,该函数从节点邻域中聚合信息;权重矩阵W^k, k\in{1,...,K}的参数,用于在模型的不同层(搜索深度)之间传播信息。 3.2节讲了如何训练参数

【论文解读】Inductive Representation Learning on Large Graphs(GraphSAGE)_第1张图片

  • 算法1背后的直觉:每次迭代/搜索深度中,节点从局部邻域中聚合信息,随着此过程的迭代,节点从图的更远范围逐渐获得越来越多的信息。
  • 算法1描述了在给定整个GraphG=(V, E)和节点特征x_v, v \in V为输入的情况下,描述了嵌入生成过程。
  • 我们将在下面介绍如何将其推广到minibatch设定。
  • 算法1外循环的每个步骤如下进行,其中k表示外循环中的当前步骤(或搜索的深度),h^k表示此步骤中节点的表示
  1. 每个节点v在它当前的邻域中聚合节点的表示{h_u^{k-1}, u \in N(v)}为一个单独的向量h_{N(v)}^{k}。这个聚合步骤依赖于有之前外循环(k-1)的迭代生成的表示,而k=0得表示定义为输入节点的特征。
  2. 在聚合了这些特征之后,GraphSAGE将节点当前的表示h_v^{k-1}和聚合的邻域表示h_{N(v)}^{k}相连接,并将连接后的向量喂给了包含非线性激活函数的全连接层,它可将表示转换为用于算法下一步的表示h_v^{k}
  3. 为符号上表示方便,我们将最后的输出h_v^{K}表示为z_v
  4. 邻域表示的聚合可以通过多种聚合体系结构(在算法1中由AGGREGATE占位符表示)来完成,我们将在下面的第3.3节中讨论不同的体系结构选择。

与Weisfeiler-Lehamn同构性测试的关系

  • GraphSAGE受到了测试图的同构性的经典算法的启发

邻域的定义

  • 在算法1中,我们均匀采样一组固定大小的邻域,而不是用所有的邻居。
  • 为保持每个batch的计算空间固定,我们将N(v)定义为一个固定大小,从集合\{u\inV:(u, v)\in E\}均匀得到的邻域,在每个迭代k中得到不同的均匀样本

3.2 学习GraphSAGE的参数

  • 为了在完全无监督的情况下学习有用的预测表示,我们将基于图的损失函数应用于输出表示z_u, v\in V,并通过随机梯度下降调整权重矩阵W^k和聚合函数的参数
  • 基于图的损失函数:使附近的节点有相似的表示,而相距较远的节点表示差别较大:

其中 v 是 u 在固定长度的随机游走上的共现节点,\sigma 是sigmoid激活函数,P_n是负采样分布,Q是负采样的数量

  • 与其他嵌入方法不同的是,喂给损失函数的z_u是由局部邻域的特征生成,而不是每个节点的训练好的嵌入向量
  • 此无监督设置模拟了将节点特征作为服务或在静态存储库中提供给下游机器学习应用程序的情况。
  • 如果表示仅用于特定的下游任务,则可以通过任务特定的目标函数(例如,交叉熵损失)简单地替换或增加无监督损失(等式1)。

3.3 聚合结构

  • 与N-D点阵(句子,图像,3-D体积)上的机器学习不同,节点的邻域没有一个自然的顺序,因此算法1中的聚合函数必须在一个无序的向量集中进行操作
  • 理想情况下,聚合函数应该是对称的(即,对其输入的排列不变),同时仍可训练并保持较高的表示能力。
  • 聚合函数的对称性确保我们的神经网络模型可以被训练并应用于任意排序的节点邻域特征集。
  • 三个候选聚合器函数:
  1. Mean聚合:首选候选聚合函数为平均操作,在{h_u^{k-1}, u \in N(v)}中逐元素取向量的均值;平均聚合函数等价于GCN框架中的卷积传播规则;尤其是,可以推导GCN方法的一个归纳变形,算法1中的4、5行可以替换为下式;我们称其为修正的基于均值的聚合器卷积,因为它是局部频谱卷积的粗略线性近似;该卷积聚合器与我们提出的其他聚合器之间的重要区别是,它不会执行算法第5行中的级联运算,该级联可以看作不同层之间的skip connection,它在性能上有更加显著的收益
  2. LSTM聚合:基于LSTM结构的复杂聚合;与均值聚合相比,有更大表达能力的优势;LSTM不是固有对称的(即,它们不是排列不变的),因为它们以顺序方式处理其输入;通过将LSTM用于节点邻居的随机排列,来将LSTM用于无序集合;
  3. Pooling聚合:对称且可训练;每个邻居的向量被喂给了一个全连接的神经网络;进行此转换之后,将逐元素最大池化操作应用于跨邻居集的聚合信息:,max是逐元素最大化函数。理论上,任意对称的向量函数可以用于max操作的位置,但实验发现mean和max没有很大区别。

4 实验

  • 在三个任务上测试GraphSAGE的性能:将学术论文分为不同的主题;将Reddit博客分为不同的社区;跨各种生物蛋白质-蛋白质相互作用(PPI)图对蛋白质功能进行分类。
  • 在所有这些实验中,我们对训练期间看不到的节点执行预测,对于PPI数据集,我们对完全看不见的图进行测试。

 

  • 为了将归纳基准上的经验结果进行情境化,我们与四个基准进行比较:随机分类器,基于逻辑回归特征的分类器(忽略图结构),DeepWalk算法[28](作为基于因式分解的代表性方法),原始特征和DeepWalk嵌入的串联
  • 还比较了 使用不同的聚合函数的GraphSAGE的变形
  • 由于GraphSAGE的“卷积”变体是Kipf等人的半监督GCN的扩展,归纳版本[17],因此我们将其称为GraphSAGE-GCN。
  • 测试通过公式1的损失函数训练的GraphSAGE的无监督变体,以及通过分类交叉熵函数训练的监督变体
  • 对于所有GraphSAGE变体,我们使用校正的线性单位作为非线性,并设置K = 2,邻域样本大小为S1 = 25和S2 = 10
  • 还比较了不同算法的训练时间,给出了K值以及采样邻居数量的参数敏感性

实验结果如下

【论文解读】Inductive Representation Learning on Large Graphs(GraphSAGE)_第2张图片

 

 

有任何错误欢迎留言

论文链接已在开头给出

转载请联系我授权,并注明出处。

你可能感兴趣的:(机器学习,网络表征学习)