目录
23. GraphSage
24.简述图神经网络的推理机制在其他领域中的应用
与传统NN的区别(GNN优点)
23. GraphSage
GraphSage出现之前的图网络方法需要图中所有的顶点在训练embedding的时候都出现,这些的方法本质上是transductive,不能自然地泛化到未见过的顶点。GraphSAGE是一个inductive的框架,可以利用顶点特征信息(比如文本属性)来高效地为没有见过的顶点生成embedding。
GraphSAGE是为了学习一种节点表示方法,即如何通过从一个顶点的局部邻居采样并聚合顶点特征,而不是为每个顶点训练单独的embedding。GraphSAGE的具体做法是,训练了一组aggregator functions,这些函数学习如何从一个顶点的局部邻居聚合特征信息。每个聚合函数从一个顶点的不同的hops或者说不同的搜索深度聚合信息。测试或是推断的时候,使用训练好的系统,通过学习到的聚合函数来对完全未见过的顶点生成embedding。
GraphSAGE 是Graph SAmple and aggreGatE的缩写,其运行流程如上图所示,可以分为三个步骤:
- 对图中每个顶点邻居顶点进行采样,因为每个节点的度是不一致的,为了计算高效, 为每个节点采样固定数量的邻居
- 根据聚合函数聚合邻居顶点蕴含的信息
- 得到图中各顶点的向量表示供下游任务使用
GraphSAGE 的采样方法:
出于对计算效率的考虑,对每个顶点采样一定数量的邻居顶点作为待聚合信息的顶点。设需要的邻居数量,即采样数量为S,若顶点邻居数少于S,则采用有放回的抽样方法,直到采样出S个顶点。若顶点邻居数大于S,则采用无放回的抽样。(即采用有放回的重采样/负采样方法达到 S)。当然,若不考虑计算效率,完全可以对每个顶点利用其所有的邻居顶点进行信息聚合,这样是信息无损的。GraphSAGE经常在大规模数据使用,因此,经常采样一个固定大小的邻域集,以保持每个batch的计算占用空间是固定的(即 graphSAGE并不是使用全部的相邻节点,而是做了固定size的采样)。
GraphSAGE 的聚合函数:
在过对邻接节点采样后,GraphSAGE 通过聚合函数将采样得到的节点的信息聚合到中心节点,主要的聚合函数有:Mean aggregator,LSTM aggregator,Pooling aggregator。
Mean aggregator
mean aggregator将目标顶点和邻居顶点的第k−1层向量拼接起来,然后对向量的每个维度进行求均值的操作,将得到的结果做一次非线性变换产生目标顶点的第k层表示向量。
24.简述图神经网络的推理机制在其他领域中的应用
与传统NN的区别(GNN优点)
节点
- CNN和RNN等都需要节点的特征按照一定的顺序进行排列
- 但对于图结构,并没有天然的顺序。所以,GNN采用*在每个节点上分别传播(propagate)*的方式进行学习,由此忽略了节点的顺序,相当于GNN的输出会随着输入的不同而不同。
边(图结构的边表示节点之间的依存关系)
- 传统的神经网络不是显式地表达中这种依存关系,而是通过不同节点特征来间接地表达节点之间的关系,这些依赖信息只是作为节点的特征。
- GNN 可以通过图形结构进行传播,而不是将其作为节点特征的一部分,通过邻居节点的加权求和来更新节点的隐藏状态
推理
推理是高级人工智能的一个非常重要的研究课题,人脑中的推理过程几乎都是基于从日常经验中提取的图形。标准神经网络已经显示出通过学习数据分布来生成合成图像和文档的能力,同时它们仍然无法从大型实验数据中学习推理图。然而,GNN 探索从场景图片和故事文档等非结构性数据生成图形,这可以成为进一步高级 AI 的强大神经模型。
print('下一文: 生成模型')