SIGIR‘19 | 图神经网络协同过滤算法-Neural Graph Collaborative Filtering

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。

 

Wang X, He X, Wang M, et al. Neural Graph Collaborative Filtering[J]. arXiv preprint arXiv:1905.08108, 2019.

 

引言


 

在推荐系统的研究工作中,协同过滤算法(collaborative filtering, CF)的地位非常重要,我们公众号也介绍过如何利用协同过滤算法来进行音乐推荐:QQ音乐上市,让我们来谈谈音乐播放器中的推荐算法。

协同过滤算法的直接理解就是:推荐用户和与他具有相同兴趣的用户浏览过的商品。

求解该算法比较流行的思路是使用矩阵分解(Matrix Factorization,MF),通过对user和item的rating矩阵进行分解,从而得到了user embedding 和item embedding。

但是由于MF只能够对user和item之间的线性交互(linear interaction)进行运算,忽略了user和item的非线性交互(non-linear interaction),所以在神经网络或者说深度学习模型的帮助下,可以使用一些神经网络框架来学习非线性的协同过滤模型,如Neural Collaborative Filtering (NCF)

He, Xiangnan, et al. "Neural collaborative filtering." Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017.

本篇文章不仅处理了非线性的交互方式,同时也结合了最新的图卷积模型,来共同帮助学习user embedding和item embedding。

 

介绍


 

现有的协同过滤算法模型要么是基于矩阵分解(MF)来学习user/item之间的线性关系,要么是使用神经网络来建立非线性函数。

但是现有的算法在学习user和item embedding时,对协同过滤信号(collaborativefiltering signal)并不是显式(explicitly)表达,而是只在最后的目标函数中使用了协同过滤信号来学习user和item的embedding。

这个时候user和item只是使用一些id来确定,而没有完全使用user和item embedding之间的交互信息

除此之外,已有的一些协同过滤算法,大多数都忽视了user/item之间的高阶连接关系(high-orderconnectivity)。而通过高阶连接是能够在user-item交互的连接图中得到更多的协同过滤信号。

SIGIR‘19 | 图神经网络协同过滤算法-Neural Graph Collaborative Filtering_第1张图片

如图中,左图是user-item的交互二分图,而右图是展开后的user-item高阶交互图。可以看到,右图中l=1,2,3表示了第1,2,3阶的交互信号。当l=3时,也就是捕捉了三阶交互信号,这时候因为从i4到u1有两条路径,而从i5到u1只有一条路径,所以通过对三阶交互信号的捕捉,我们能够得出,u1更喜欢i4而不是i5。

 

HOP-Rec算法


 

现有的一些工作对协同过滤算法中的高阶信息尝试进行了一些研究,比如RecSys’18的best paper:

Yang J H, Chen C M, Wang C J, et al. HOP-rec: high-order proximity for implicit recommendation[C]//Proceedings of the 12th ACM Conference on Recommender Systems. ACM, 2018: 140-144.

这篇文章就建立了图上的高阶信息矩阵,然后对该高阶信息矩阵进行矩阵分解,从而能够利用到更多的高阶信息,如图:

(a)图和(c)图表示的是一般的协同过滤算法的矩阵表示,只对1st,也就是一阶信号进行了矩阵分解。而(b)(d)图则表示了可以对更高阶的信息进行矩阵分解。

但是Hop-Rec模型仍然是基于矩阵分解的算法,高阶的信息并没有完全显示利用。同时很明显的是Hop-Rec模型在scalability上还是会有局限性。本篇文章提出的模型将能够很好地利用高阶信息,同时能够保证scalability。

 

NGCF模型


 

NGCF(Neural Graph Collaborative Filtering)模型分为三个主要的部分:

  1. user/item的embedding 层。这个部分将提供user和item的初始化信息;

  2. 信息传播层(Embedding Propagation Layers)。该部分将通过高阶信息来重新学习user和item的embedding信息;

  3. 预测层(Model Prediction)。该部分将聚集不同传播层的embedding,然后预测user和item之间的匹配度,从而完成预测。

 

第一个模块:Embedding层

 

这一层,主要是初始化user和item的embedding,既可以是随机初始化,也可以是使用user和item自身的一些feature来初始化。该embedding层可以为之后的交互层提供所需要的embedding

第二个模块:信息传播层(Embedding Propagation Layers)。

这一层主要是通过user和item之间的连接关系来迭代计算user和item之间的关系。虽然原文是按照一阶连接关系以及高阶连接关系来阐述的,但是一阶的计算关系也是包含在高阶的关系之中的。

这个传播层主要分为两个步骤:

第一步是信息构成。这一步比较好理解,因为每个user都与其他的item相连接,这样子的话,user的embedding就可以从连接它的所有的itemembedding来获得。从itemi到user u的信息传播表示成:

其中,用ei和eu的element-wise点乘来表示两者之间的相似程度,再用两个矩阵分别对该相似信息和item信息进行转换,变成user的信息。Nu和Ni分别是与u相连接的user数量和item数量。

第二步是信息聚集这一步其实就是讲所有与useru相邻的item的信息,全都通过神经网络来聚集到user里。

eu就是user的embedding,用muu表示user自己的信息,第二项表示所有item到user的信息的和。最后通过一个LeakyReLU神经网络聚集成新的userembedding。

重复迭代这样的步骤,就获得了高阶连接信息,如图。

第三个模块:预测层。

这一层能够将多次迭代学到的embedding连接起来,userembedding再与item embedding共同通过预测层的网络,来预测user和item之间的分值。

整个模型的框架结构如下图:

因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号“论文收割机”点击目录来阅读原文。

实验


 

该篇文章的实验使用了Gowalla,Yelp2018和Amazon Books的数据集。

而对比的方法也是使用了主流的对比实验的方法:MF,NeuMF,CMN,HOP-Rec,PinSAGE,GCMC。SpectralCF方法据作者介绍,因为需要大量的时间来做特征值分解,所以没有被作为baseline来比较。

整体的实验对比数据如图:

可以看出,HOP-Rec效果确实比其他baseline效果要好,同时CMN效果也相对较好。

除此之外,文中还对比了对实验参数的选择,比如很重要的一个到底用几层的propagation效果比较好:

SIGIR‘19 | 图神经网络协同过滤算法-Neural Graph Collaborative Filtering_第2张图片

可以看出来层数比较多的时候效果还是比较好。但是如果能够再加上NGCF-5的时候来看一下实验的效果就更好了。

还有一个就是aggregation的时候,到底用什么样的aggregator比较好的实验:

SIGIR‘19 | 图神经网络协同过滤算法-Neural Graph Collaborative Filtering_第3张图片

通过对比实验可以看出,还是基于文中提到的矩阵mapping再组合的关系更好。不过也有可能是其他baseline的参数没有调好:)。

 

结论


 

这篇文章介绍了如何将协同过滤算法和图卷积结合。其中针对协同过滤算法设计的aggregator在实验中被证明是比较有效的设计,这其实是文章非常重要的创新点。

其次,文中对协同过滤算法的不足的分析,以及为什么图卷积神经网络能够应用在协同过滤算法上说明的比较清晰。因为图卷积神经网络能够更加显式地建立user和item之间的互动关系,而且能够发现更加高阶的互动信号。

再加上非常直观有效的图示和模型,整体的文章结构清晰,对比实验充分,细节实验分析到位。综合来看,这都是非常值得学习的文章和模型。

 


相关文章:

  • 网络表达学习系列(三):从图卷积网络GCN到GraphSAGE

  • GraphSAGE | 图神经网络到底有多强大

  • QQ音乐上市,让我们来谈谈音乐播放器中的推荐算法

  • 基于记忆优先级的短序列推荐(Session-based Recommendation)

  • Tutorial 3 | Graph Neural Network

  • KDD'18 | 从蒸馏网络到推荐系统

阅读更多,欢迎关注公众号:论文收割机(paper_reader)

因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号“论文收割机”点击目录来阅读原文。

参考文献


 

[1] Wang, Xiang, et al. "Neural Graph Collaborative Filtering." arXiv preprint arXiv:1905.08108 (2019).

[2] Yang, Jheng-Hong, et al. "HOP-rec: high-order proximity for implicit recommendation." Proceedings of the 12th ACM Conference on Recommender Systems. ACM, 2018.

[3] He, Xiangnan, et al. "Neural collaborative filtering." Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017.

阅读原文

你可能感兴趣的:(deep,learning,recommend,system,graph,mining,graph,embedding)