SR-GNN 论文阅读

Info

本文首发于公众号:code路漫漫,欢迎关注

原文:Session-based Recommendation with Graph Neural Networks
官方code:https://github.com/CRIPAC-DIG/SR-GNN
思维导图地址:https://github.com/hhmy27/MyNotes

SR-GNN 是 session based recsys 里面常见的baseline

具体步骤是:

  1. 生成 session graph
  2. 生成 node embedding
  3. 生成 session embedding
  4. 进行预测

用到的技术有:gate GNN,soft-attention

模型图:
模型图

实验结果:

实验结果

后续有一篇论文 GC-SAN 是SR-GNN 的改进版本,两篇论文的思路、框架都非常相似,这里是 GC-SAN 的文章链接:
https://blog.csdn.net/hhmy77/article/details/117412390
另外对官方放出的 code 做了一点阅读,这是笔记链接:
https://blog.csdn.net/hhmy77/article/details/116891862

1 Motivation

在序列推荐中,传统工作直接把 session 处理成序列然后对用户建模,忽略了复杂的物品转移模式

传统序列推荐的几个 limitations:

  1. session 如果不够长,那么很难有效的生成用户表示
  2. 忽略了物品复杂的转移模式,远距离的依赖往往被忽略

基于此,论文提出了 SR-GNN 框架,它能够:

  1. 捕捉复杂的用户转移
  2. 把 session 建模成 graph 结构,从而使用 GNN 技术,而不是建模成序列
  3. 引入注意力机制,捕捉远距离的依赖(global interests)

2 Contribution

  1. 把 session 构造成 graph 结构,使用 GNN 去捕捉复杂的物品转移模式
  2. 不仅生成用户表示,还生成 session 表示用于推荐
  3. SR-GNN 达到了 SOTA

3 Solution

具体步骤

具体步骤:

  1. 对于每个 session,构造 session graph 和邻接矩阵
  2. 对于 session graph 上的每个 node,生成它们的 embedding
  3. 对于 node embedding,分别获取 global interests embedding 和 local interests embedding
  4. 将 global and local interests 结合起来生成 session embedding
  5. 最后通过 session embedding 进行预测

3.1 构造 session graph

图例
一个构造例子:

例子

很直观的构造方式,这里构造的是有向图,然后出入度矩阵的值经过归一化

注意出入度矩阵是拼在一起的,稍后会一起作为参数计算

3.2 生成 node embedding

图例

这里用了 gate GNN 用来生成 node 的 embedding,本质上还是 GNN

GNN生成node embedding

5 个公式,最后公式 5 生成每个 node 的 embedding

生成 global interests embedding

回到论文提出的问题:

以往的工作往往忽略了远距离的依赖

论文提出的解决方法就是对 node embedding 使用 attention 机制,让 attention 机制去发现它们的依赖关系

具体而言,这里采用的是 soft-attention 机制,下面公式6的形式
在这里插入图片描述

得到的 S g S_g Sg 是 session 的 global embedding

生成 session embedding

在论文中,session embedding = global embedding + local embedding

local embedding 就直接简单的使用 session 中最后一个 item 的 embedding 作为表示

在这里插入图片描述

最终 S h S_h Sh 就是 session 的 embedding

预测以及目标函数

预测就把 session embedding 和候选物品相乘

预测结果表示
预测值
目标函数选用交叉熵

目标函数

4 Evaluation

实验结果

直接看实验结果吧

消融实验:

Comparison with Different Session Embeddings

  • local embedding only——SR-GNN-L
  • global embedding with average pooling——SR-GNN-AVG
  • global embedding with the attention mechanism——SR-GNN-ATT

SR-GNN采用的是上面三种方法的混合

消融实验结果

5 Summarization

区别于之间使用 RNN 的工作,SR-GNN 考虑了 session 中的长期依赖,使用 GNN 去捕捉复杂的物品转移模式,使用注意力机制生成长期依赖,最终效果超过了以往的 baseline

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值