29 | 图神经网络:Pinterest是如何应用图神经网络的?
搭桥还是平推?技术途径上的抉择
我把这类 Graph Embedding 的方法归类为基于随机游走的间接性 Graph Embedding 方法。它其实代表了我们在解决一类技术问题时的思路,就是面对一个复杂问题时,我们不直接解决它,而是“搭一座桥”,通过这座桥把这个复杂问题转换成一个简单问题,因为对于简单问题,我们有非常丰富的处理手段。这样一来,这个复杂问题也就能简单地解决了。显然,基于随机游走的 Graph Embedding 方法就是这样一种“搭桥”的解决方案。
GraphSAGE 的主要步骤
在整体的图数据上,从某一个中心节点开始采样,得到一个 k 阶的子图,示意图中给出的示例是一个二阶子图;有了这个二阶子图,我们可以先利用 GNN 把二阶的邻接点聚合成一阶的邻接点(图 2-2 中绿色的部分),再把一阶的邻接点聚合成这个中心节点(图 2-2 中蓝色的部分);有了聚合好的这个中心节点的 Embedding,我们就可以去完成一个预测任务,比如这个中心节点的标签是被点击的电影,那我们就可以让这个 GNN 完成一个点击率预估任务总的来说,GraphSAGE 的主要步骤就是三个“抽样 - 聚合 - 预测”。
GraphSAGE 的模型结构
这个 CONVOLVE 操作是由两个步骤组成的:第一步叫 Aggregate 操作,就是图 4 中 gamma 符号代表的操作,它把点 A 的三个邻接点 Embedding 进行了聚合,生成了一个 Embedding hN(A);第二步,我们再把 hN(A) 与点 A 上一轮训练中的 Embedding hA 连接起来,然后通过一个全联接层生成点 A 新的 Embedding。
实践决定最终结构。
GraphSAGE 的预测目标
GraphSAGE 在 Pinterest 推荐系统中的应用
小结
这节课,我们讲解了图神经网络的经典方法 GraphSAGE,我们抽丝剥茧地把 GraphSAGE 的细节全部剖开了。关于 GraphSAGE,我们重点要记住它的特点和主要步骤。首先,GraphSAGE 是目前来说最经典的 GNN 解决方案。因此,它具有 GNN 最显著的特点,那就是它可以直接处理图数据,不需要把图数据转换成更简单的序列数据,再用序列数据 Embedding 方法进行处理。其次,GraphSAGE 的主要步骤是三步“采样 - 聚合 - 预测”。其中,采样是指在整体图数据上随机确定中心节点,采样 k 阶子图样本。聚合是指利用 GNN 把 k 阶子图样本聚合成中心节点 Embedding。预测是指利用 GNN 做有监督的标签预测或者直接生成节点 Embedding。在这三步之中,重点在于聚合的 GNN 结构,它使用 CONVOLVE 操作把邻接点 Embedding 聚合起来,跟中心节点上一轮的 Embedding 连接后,利用全连接层生成新的 Embedding。为了方便你及时回顾,我也把这节课中的重要知识点总结了下面的表格中,你可以看看。