PyTorch图神经网络(四)

PyTorch图神经网络(四)

1.GraphSAGE

​ 从这里开始的第三篇,开始将更加偏向实际使用的图神经网络了。GraphSAGE是一种图神经网络架构,旨在处理大型图。

邻居采样:

​ 这里引入了一个基本概念:小批量。在大型图中,我们无法考虑图中的所有信息,因此,我们只能考虑节点以及他的邻居。书中的n跳意思就是走过n条边能够到达的点(这些边可以重复)。因此,每个图神经网络层都是根据节点的邻居计算该节点的嵌入,有n个GNN层就能够计算n跳的邻居。

​ 随着n的增大,n hop得到的邻居数量会迅速增长,因此,GarphSAGE提出了邻居采样,仅采样预定义数量的邻居。这使得聚合在大型图中能够实现。但是,这不是在大型图中融合特征的唯一方法,书中还说了Pinterst公司用随机游走实现了这一点。但本质上,都是通过人为的限制使得采集到的节点数量在能够计算的范围内。

聚合:

​ 上面已经说了如何选择相邻的节点,我们现在只需要知道如何计算嵌入即可。GraphSAGE作者提出了三种方案:

​ 1.均值聚合器

​ 2.长短期记忆(LSTM)聚合器

​ 3.池化聚合器

​ 还有其他更多的聚合器,但目的都是聚合相邻节点的嵌入来产生当前节点的嵌入。

​ 在书中对PubMed数据集进行分类训练的时候,是用邻居采样得到小型的图输入到网络中,预测中心点的类别;最终推理的时候把整张图都输入到网络中来预测每一个点的类别。

​ 后面关于蛋白质数据集的分类,虽然是多标签的数据集,但是本质和单标签的数据集一样,并且都是对节点进行分类,所以看懂代码就行了,重点是理解邻居采样和聚合的过程。

posted @ 2025-09-23 20:05  爱露查  阅读(14)  评论(0)    收藏  举报