ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Neural Graph Collaborative Filtering阅读笔记

2021-12-23 22:06:17  阅读:193  来源: 互联网

标签:Filtering embeddings Collaborative Neural 用户 传播 嵌入 物品 交互


动机

本文是2019年SIGIR的一篇文章。在推荐系统中,用户和物品的向量表示(embeddings)是推荐系统的核心,但目前的方法都是根据用户(物品)原有的特征通过映射获取embeddings,并没有将用户与物品交互中的潜在的协同信号编码进embeddings,因此产生的embeddings可能不足以支持捕获协同过滤效果。本文提出一种新的图神经协同过滤模型(NGCF),将协同信号显示地注入在用户物品的向量表示中。

算法

在本文中,作者通过利用用户项目互动的高阶连通性解决上述问题。举个栗子来说明大致思路,左子图是用户与物品交互图,图中\(u_1\)是我们感兴趣的用户,以\(u_1\)为根节点将左图转换成树结构(右图),高阶连通性指的就是那些从任意节点到\(u_1\)且路径长度l大于1的节点,例如\(u_1⬅i_2⬅u_2\),这表示\(u_1\)和\(u_2\)行为相似,因为他们都对\(i_2\)产生过交互。

作者设计了一个嵌入传播层(基于GNN),通过聚合项目的embeddings来改进用户的embeddings,或者是聚合用户的embeddings来改进项目的embeddings。通过堆叠多个嵌入传播层来捕获高阶连接信息,例如,堆叠2层捕获\(u_1⬅i_2⬅u_2\)中用户的行为相似度,堆叠3层\(u_1⬅i_2⬅u_2⬅i_4\)发现潜在的推荐。

一层嵌入传播层

嵌入传播层由两个部分组成:信息构建和信息聚合。
信息构建:对于每一个用户项目交互对(u,i)来说,定义从i到u的数据为

\(m_{u⬅i}\)是信息嵌入,也是之后需要传播的信息。在本篇\(f(·)\)是编码函数,\(e_i\)和\(e_u\)分别是物品与用户的embedding,作为输入。\(p_{ui}\)是衰减因子。在本篇论文中,作者使用以下编码函数

\(W_1\),\(W_2∈\mathbb{R}^{d'×d}\)是可以训练的权重矩阵,用于提取有用信息,\(\odot\)表示向量对应元素相乘。根据图卷积神经网络,将\(p_{ui}\)设为\(1 / \sqrt{\left | \mathcal{N_u} \right | \left | \mathcal{N_i} \right |}\),其中\(\mathcal{N_u}\)和\(\mathcal{N_u}\)代表用户u和物品i的第一跳邻居。我们也可以用相同的方法获得u到i的信息\(m_{i⬅u}\)

信息聚合:定义优化后u的信息表示为

\(e^{(1)}_u\)表示在第一个嵌入传播层后用户u的表示,其中\(m_{i⬅u}=W_1e_u\)。它不仅考虑到用户自己与自己的连接,还考虑到邻居传播的信息。我们也可以用同样的方法得到优化后的物品表示\(e^{(1)}_i\).

多层嵌入传播层

通过堆叠l个嵌入传播层,用户和物品能接收到l跳邻居传播的信息,在第l层中,用户表示为

消息传播表示为

模型预测

通过L个嵌入传播层,我们可以将L个嵌入传播层得到的用户(物品)表示连接起来作为它们最终的embedding

最后,使用内积计算用户对项目的偏好度

优化

在这里,作者通过优化成对的BPR损失来学习模型,损失函数定义如下

其中,\(\mathcal{R}^+\)表示可以观测到的交互,\(\mathcal{R}^-\)表示观测不到的交互,\(\Theta\)表示所有可以训练的参数。

与NGCF相关的工作

与NGCF相关的工作有基于模型的协同过滤方法,基于图结构的协同过滤方法和图卷积网络。基于模型的协同过滤模型利用用户物品交互矩阵,将用户与物品的id投影到一个embedding中,早期工作是利用用户和物品的embedding内积计算用户对物品的偏好度,近期有许多工作使用非线性的深度神经网络作为交互函数,尽管这类方法取得成功,但是嵌入函数的设计不足以产生优秀的embedding。基于图结构的协同过滤方法本质上属于基于邻居的方法,它缺乏模型参数来优化目标函数,在概念上不如基于模型的协同过滤方法。最近提出的HOP-Rec将基于图的方法与基于嵌入的方法相结合来缓解这个问题,但是HOP-Rec没有充分探索高阶连通性,并且极大程度依赖随机游走的结果。最后是图卷积网络,作者在本文中提出的NGCF就属于图卷积网络方法中的一种,另外还有一些其他应用到图卷积网络的工作,GC-MC使用一个卷积层利用用户与物品的直接连接,但它无法发现高阶的连通性。

结果

与当时最先进的模型相比,在本文实验所使用的三个数据集上Gowalla、Yelp2018及Amazon-book,NGCF均取得最好的效果。

因为NGCF中每层嵌入传播层捕捉到不同距离的信息,最后还将每层的嵌入向量聚合在一起,由此得到的用户(物品)表示向量包含了用户物品的交互信息,包含的信息更全面,因此会有更好的结果。更直观的可以从下图看出,该图星星表示用户,与用户连线的点表示为测试集中与该用户有交互的物品,相比与矩阵分解,NGCF-3中相同颜色的点更趋向于聚成一团。

总结

可学习的协同过滤模型有两个关键的组成部分,一个是用户与物品的embeddings的构建,另外一个是用户与物品的embeddings的交互函数。在上周读的《Neural Collaborative Filtering》这篇论文中是使用非线性深度神经网络作为用户与物品的embeddings的交互函数,本文是用图神经网络将用户和物品embeddings传播实现获得包含用户物品交互信息的embeddings,如果将这两篇论文中的方法结合,我认为会有更好的效果,作者也在文章中提到这个想法。将深度学习应用到推荐系统是目前的一个趋势,我在接下来也会探索更多这方面的知识。

标签:Filtering,embeddings,Collaborative,Neural,用户,传播,嵌入,物品,交互
来源: https://www.cnblogs.com/ambition-hhn/p/15725400.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有