Rething the Item Order in Session-based Recommendation with Graph Neural Networks (FGNN 2019)

Rething the Item Order in Session-based Recommendation with Graph Neural Networks

本篇文章讲的仍然是使用图神经网络做基于session的推荐,传统的基于session的推荐主要通过利用注意力机制聚焦在序列模式上,但是用户的偏好比仅仅按照连续的时间模式复杂的多。本文通过构造session图来学习复杂的item转换模式,并同时考虑session图中的序列次序和潜在的次序来做推荐。特别的作者提出一个带权重的注意力图层(WGAT)和读出函数(Readout)来学习item和session的嵌入表示。论文的模型如下:
Rething the Item Order in Session-based Recommendation with Graph Neural Networks (FGNN 2019)_第1张图片
首先将session转换为一个带权重的有向图,其中边的权重定义为会话中边出现的频率,图中的每个节点都会带有一个自循环,session的结构图表示如下图所示:
Rething the Item Order in Session-based Recommendation with Graph Neural Networks (FGNN 2019)_第2张图片
图a表示session转换的结构图 ,图b表示为经过两跳X6邻居信息的传递。
在获得session图之后,经过WGAT层可以得到session中每个节点的嵌入表示,WGAT层的内部是如何构造的呢?首先经过自注意力机制将当前节点的所有邻居节点的信息聚合在当前节点上,但是考虑到不同的邻居对当前节点的重要性程度不同,重要程度如何表示呢?公式如下:
邻居节点的重要性程度
为了直接比较不同节点的重要性,应用softmax函数将系数准换为概率形式
在这里插入图片描述
att的选择多种多样,在本实验中我们使用一个MLP(多层感知机)层,然后使用具有负输入斜率a = 0.2的LeakyRelu非线性单元
att的选择
为了利用这些注意力系数,将对应邻居的线性组合应用于更新节点的特征
对应节点的更新
多头注意力机制可以帮助稳定自注意层的训练,因此可以将多头设置应用于WGAT
引入多头注意力机制
如果我们迭代多层WGAT,最终节点的特征维度为K * d``,我们期望的维度是d`,因此我们计算多头注意力结果均值
在这里插入图片描述
通过WGAT层,我们得到所有节点的特征向量,即所有item的嵌入表示,但是Session的嵌入如何表示呢?本论文引入读出函数,读出函数旨在根据正向计算之后的节点特征给出整个session图的特征表示,这里整个计算过程如下:Rething the Item Order in Session-based Recommendation with Graph Neural Networks (FGNN 2019)_第3张图片
在获得整个session图的嵌入之后,在经过打分以及softmax层进行推荐。
总结:本论文通过将session转换为图结构,通过GNN可以有效的捕捉到复杂的item信息转换,但是本论文的模型和SR-GNN模型的缺点类似,都存在信息损失问题和无效的长期依赖问题,该问题的解决方法在后面的论文中会讲解到。以上是我对该论文的理解,如果有什么理解不到位的地方还请指点。

你可能感兴趣的:(推荐系统,推荐系统,人工智能,推荐系统论文)