作者丨纪厚业

单位丨北京邮电大学博士生

研究方向丨异质图神经网络,异质图表示学习和推荐系统

引言

协同过滤作为一种经典的推荐算法在推荐领域有举足轻重的地位。协同过滤(collaborative filtering)的基本假设是相似的用户会对物品展现出相似的偏好。
总的来说,协同过滤模型主要包含两个关键部分:1)embedding,即如何将 user 和 item 转化为向量表示;2)interaction modeling,即如何基于 user 和 item 的表示来重建它们的历史交互。
传统协同过滤算法(如经典的矩阵分解和神经矩阵分解)本质还是给 user 和 item 初始化一个 embedding,然后利用交互信息来优化模型。它们并没有把交互信息编码进 embedding 中,所以这些 embedding 都是次优的。
直观地理解,如果能将 user-item 的交互信息编码进 embedding 中,将提升 embedding 的表示能力进而提升模型的预测能力。本文的主要创新点在于利用二部图神经网络将 User-Item 的历史交互信息编码进 Embedding 进而提升推荐效果。更重要的是,本文显式地考虑 User-Item 之间的高阶连接性来进一步提升 embedding 的表示能力。

图 1 展示了一个 user-item 的二部图及 u1 的高阶连接性。u1 的高阶连接性表示 u1 通过长度大于 1 的路径连接到的节点。例如,u1 通过长度 l=2 的路径连接到 u2 和 u3,这代表 u1 的 2 阶连接性;u1 通过长度 l=3 的路径连接到 i4,i5,这代表 u1 的 3 阶连接性。需要注意的是,虽然 i4 和 i5 都是 u1 的 3 阶邻居,但是 i4 可以通过更多的路径连接到 u1,所以 i4 与 u1 的相似度更高。

模型

模型主要分为 3 个部分:1)Embedding Layer:将 user 和 item 的 ID 映射为向量表示;2)Embedding Propagation Layers:将初始的 user 和 item 表示基于图神经网络来更新;3)Prediction:基于更新后的 user 和 item 表示来进行预测。模型架构图见 Figure 2。

Embedding Layer
这里对 User 和 Item 分别初始化相应的 Embedding Matrix,然后通过 User 或者 Item 的 ID 进行 Embedding Lookup 将它们映射到一个向量表示。

注意,这里初始化的 Embedding 可以认为是 0 阶表示,即
Embedding Propagation Layers
受 GNN 的 message-passing 架构的启发,NGCF 针对 User-Item 二部交互图设计了 Embedding Propagation 来学习 User 和 Item 的表示。这里作者首先详细的描述了一阶传播,然后泛化到高阶传播。
一阶传播主要包含:消息构建和消息聚合。给定(u,i),从 i 传播到 u 的消息可以定义为:

其中,都是可学习的参数矩阵,分别代表 u 和 i 的度。这里 可以理解为归一化系数。

基于上面构建的消息,下一步就是聚合消息来更新节点表示:
其中,代表经过 1 次聚合之后的节点表示。因为单层的消息聚合只能聚合 1 阶邻居的信息,所以这里实际代表了 u 的一阶表示。需要注意的是,这里除了聚合邻居的信息,更重要的是考虑节点自身的信息
高阶传播实际就是将上述的一阶传播堆叠多层。这样经过 l 次聚合,每个节点都会融合其 l 阶邻居的信息,也就得到了节点的 l 阶表示
Figure 3 清晰地展示了如何在高阶传播中融合高阶邻居的信息。

上面的传播过程也可以写成矩阵的形式,这样在代码实现的时候可以高效的对节点 Embedding 进行更新。
其中,是 l 阶的 user 和 item 的表示,是 user-item 交互矩阵,D 是对角度矩阵。
Model Prediction
模型的预测非常简单,将 L 阶的节点表示分别拼接起来作为最终的节点表示,然后通过内积进行预测。
实际这里采用了类似 18 ICML Representation Learning on Graphs with Jumping Knowledge Networks 的做法来防止 GNN 中的过平滑问题。GNN 的过平滑问题是指,随着 GNN 层数增加,GNN 所学习的 Embedding 变得没有区分度。过平滑问题与本文要捕获的高阶连接性有一定的冲突,所以这里需要在克服过平滑问题。
最终的损失函数就是经典的 BPR 损失函数:

实验

本文在 Gowalla、Yelp2018 和 Amazon-Book 上进行了大量实验来回答以下 3 个问题:
  • 和 state-of-the-art 的方法相比,NGCF 的效果如何?

  • 模型对于超参数(如模型层数,dropout)的敏感性。

  • 高阶连接性对于模型的影响。

本文的 baseline 主要可以分为两大类:非图神经网络的推荐算法(如 MF 和 CMN)和基于图神经网络的推荐算法(PinSage 和 GC-MC)。实验效果如 Table 2 所示:

可以看出,本文所提出的 NGCF 优势很明显,尤其是在 recall 上的提升均超过 10%。同时,作者还对数据进行了稀疏化并进一步验证来说明 NGCF 来稀疏数据上的优势。

从 Figure 4 可以看出,NGCF 在数据稀疏度较高的时候有明显优势,随着稀疏度的下降,NGCF 的优势越来越小甚至被 baseline 超过了。
另外,作者验证了模型层数、卷积形式和 dropout 对 NGCF 的影响,具体见 Table 3、Table 4 和 Figure 5。

最后,作者研究了高阶连接性对 NGCF 的影响,如 Figure 6 所示。

注意这里 MF 可以看做是 NGCF-0。可以看出,随着阶数的增加,相同颜色的节点更好的聚集在一起。也就是说,高阶连接性确实有助于学习 User 和 Item 的 Embedding。

结论

本文提出了基于图神经网络的协同过滤算法 NGCF,它可以显式地将 User-Item 的高阶交互编码进 Embedding 中来提升 Embedding 的表示能力进而提升整个推荐效果。
NGCF 的关键就在于 Embedding Propagation Layer 来学习 User 和 Item 的 Embedding,后面的预测部分只是简单的内积。可以说,NGCF 较好地解决了协同过滤算法的第一个核心问题。
另外,本文的 Embedding Propagation 实际上没有考虑邻居的重要性,如果可以像 Graph Attention Network 在传播聚合过程中考虑邻居重要性的差异,NGCF 的效果应该可以进一步提升。

参考文献

[1] http://staff.ustc.edu.cn/~hexn/slides/sigir19-ngcf-slides.pdf
[2] https://github.com/xiangwang1223/neural_graph_collaborative_filtering 

点击以下标题查看更多往期内容:

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 | 阅读原文 | 下载论文 & 源码

SIGIR 2019 开源论文 | 基于图神经网络的协同过滤算法相关推荐

  1. ACL 2019开源论文 | 基于图匹配神经网络的跨语言知识图对齐

    作者丨王文博 学校丨哈尔滨工程大学硕士生 研究方向丨知识图谱.表示学习 动机 在本篇文章之前,跨语言知识图谱对齐研究仅依赖于从单语知识图谱结构信息中获得的实体嵌入向量.并且大多数研究将实体映射到低维空 ...

  2. 吴恩达机器学习(十四)推荐系统(基于梯度下降的协同过滤算法)

    目录 0. 前言 1. 基于内容的推荐算法(Content-based recommendations) 2. 计算电影特征 3. 基于梯度下降的协同过滤算法(Collaborative filter ...

  3. SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高

    1.背景知识 在讲SVD++之前,我还是想先回到基于物品相似的协同过滤算法.这个算法基本思想是找出一个用户有过正反馈的物品的相似的物品来给其作为推荐.其公式为: 其中 rui 表示预测用户u对物品i的 ...

  4. 基于矩阵分解的协同过滤算法

    基于矩阵分解的协同过滤算法 基于矩阵分解的CF算法实现(一):LFM LFM原理解析 损失函数 随机梯度下降法优化 基于矩阵分解的CF算法实现(二):BiasSvd BiasSvd 损失函数 随机梯度 ...

  5. java基于springboot+vue的协同过滤算法的图书推荐系统 nodejs

    "互联网:"的战略实施后,很多行业的信息化水平都有了很大的提升.但是目前很多行业的管理仍是通过人工管理的方式进行,需要在各个岗位投入大量的人力进行很多重复性工作,使得对人力物力造成 ...

  6. SIGIR 2019 开源论文 | 用户注意力指导的多模态对话系统

    作者丨张琨 学校丨中国科学技术大学博士生 研究方向丨自然语言处理 论文动机 对话系统一直是自然语言理解领域一个重要的研究内容,它可以使人们更便捷的与机器进行交互,多模态的对话系统就是其中非常重要的一个 ...

  7. SIGIR 2019 开源论文 | 结合答案信息的重复问题检测方法

    作者丨张琨 学校丨中国科学技术大学博士生 研究方向丨自然语言处理 论文动机 社区问答一直是一个非常热门的地方,人们在这里提出问题,寻找答案,例如知乎,Quora 等.但是社区问答一直有一个很严重的问题 ...

  8. CVPR 2019 开源论文 | 基于空间自适应归一化的图像语义合成

    作者丨武广 学校丨合肥工业大学硕士生 研究方向丨图像生成 深度学习在算力的推动下不断的发展,随着卷积层的堆叠,模型的层数是越来越深,理论上神经网络中的参数越多这样对数据的拟合和分布描述就能越细致.然而 ...

  9. ACL 2019 开源论文 | 基于知识库和大规模网络文本的问答系统

    作者丨张琨 学校丨中国科学技术大学博士生 研究方向丨自然语言处理 论文动机 当前问答系统面对的一大问题就是如何利用先验知识.我们人类可以通过不断的学习,掌握非常多的先验知识,并通过这些知识来回答问题. ...

最新文章

  1. React模式:集中式PropTypes
  2. 第二十一课.粒子滤波器
  3. Android开发资料学习(转载/链接)
  4. OpenJudge 1.7 09:密码翻译 题解
  5. 腾讯游戏自研学术成果:基于图分割的网络表征学习初始化技术
  6. python共享文件权限_利用Python实现在同一网络中的本地文件共享方法
  7. CF641D. Little Artem and Random Variable
  8. Object之MemberwiseClone方法
  9. [社团工作指南]日常工作*组织构架
  10. 在Ubuntu 18.04上搭建SonarQube服务
  11. fastNLP工具包, 快速实现序列标注模型
  12. Android layout优化
  13. [.NET] : 设定Windows Service启动类型
  14. Macbook开启HIDPI(2K显示器)
  15. mmsi是代表船舶什么_船舶常见的一些缩写
  16. 台式cpu温度过高的两个原因及解决方法
  17. Oracle数据库-第三章:单值函数
  18. 计算机专业全真模拟试卷答案,最新高职考试全真模拟试卷计算机类试题(二、六、七、八、九、十,山东省,有答案)...
  19. Adobe Flash Player
  20. 【Word】实习证明简易模板

热门文章

  1. layui的表格可以动态添加行吗_答疑分享052:插入表格,数据分析更方便
  2. 判断java日期跨月_18 个 Java8 日期处理的实践,太有用了!
  3. 无向图的邻接矩阵存储,4个顶点、4条边
  4. DLNg[结构化ML项目]第二周迁移学习+多任务学习
  5. NumPy学习笔记 一
  6. could not open C:\Program Files\Java\jdk1.6.0-11\lib\i386\jvm.cfg
  7. java中的静态初始化是什么意思,Java中static静态变量的初始化完全解析
  8. mysql数据库上传ftp服务器中_备份部分mysql表并上传至指定ftp服务器目录中
  9. cesium js 路径_Cesium开发学习路径
  10. 诸葛io的技术架构图_【总结】MySQL技术内幕二:InnoDB存储引擎技术特性