GCN:Graph Convolutional Neural Networks for Web-Scale Recommender Systems简介

Graph Convolutional Neural Networks for Web-Scale Recommender Systems

摘要

作者们开发了一个数据高效的GCN算法PinSage,该算法联合有效的random walk以及图卷积来生成涵盖图结构和结点特征的嵌入结点。相对于之前的GCN方法,作者提出了高效的random walk方法同时设计了一个新颖的训练策略以提高模型的收敛性和鲁棒性。

介绍

之前的基于GCN模型的推荐系统都是要求完整的图的拉普拉斯矩阵,那么针对整体结构一直变的系统就不适用了。那么作者提出PinSage算法——一个可伸缩的GCN框架来解决问题。

  • on-the-fly convolutions:对于一个结点的相邻结点进行局部卷积,动态构建计算图
  • Producer-consumer minibatch construction:利用生产者消费者架构来最大化GPU利用率
  • Efficient MapReduce inference:设计有效的MapReduce流水线

同时为了作者介绍了新的训练技术与算法层面的革新。

  • Constructing convolutions via random walks:节约计算开销,同时对于每个结点有不同的权重以用于池化或整合阶段
  • Importance pooling:基于random walk相似性计算方法来衡量结点特征重要性
  • Curriculum training:算法被给予越来越难的例子

方法

模型架构

Forward propagation algorithm:

GCN:Graph Convolutional Neural Networks for Web-Scale Recommender Systems简介_第1张图片

主要思路是对u结点的邻居v通过一层神经网络以及对应的函数得到相应邻居的向量表示。然后将结点u的表示向量与 n u n_u nu联合在一起再次通过一层神经网络同时进行归一化以得到更加稳定与有效的表示向量。

Importance-based neighborhoods:

之前的GCN中是通过k-hop,本片论文使用random walk找到top T nodes

Stacking convolutions:

使用多层卷积,k层的的输入取决于k-1层的输出。

上图的Q,q,W,w在结点间共享,但是不在层间共享。

GCN:Graph Convolutional Neural Networks for Web-Scale Recommender Systems简介_第2张图片

算法2详细描述了如何堆叠卷积操作,针对一个 minibatch 的顶点 M 生成 embeddings。首先计算每个顶点的邻居,然后使用 K个卷积迭代来生成目标顶点的 K 层表示。最后一层卷积层的输出之后会输入到一个全连接神经网络来生成最后的 embedding z u z_u zu,∀u∈M。

模型训练

Loss function:为了训练模型的参数,我们使用了一个基于最大边界的损失函数。基本的思想是我们希望最大化正例之间的内积,也就是说,查询物品的 embedding 和对应的相关物品的 embedding 之间的内积。与此同时我们还想确保负例之间的内积,也就是查询物品的 embedding 和那些不相关物品 embedding 之间的内积要小于通过提前定义好的边界划分出的正例的内积。

在这里插入图片描述

你可能感兴趣的:(论文学习)