移动学习网 导航

推荐系统论文阅读(十)-基于图神经网络的序列推荐算法

2024-05-20m.verywind.com
~ 论文:

论文地址: https://arxiv.org/abs/1811.00855

论文题目:《Session-based Recommendation with Graph Neural Networks》SR-GNN

github: https://github.com/CRIPAC-DIG/SR-GNN

基于会话的推荐一般是将序列会话建模,将整个session进行编码,变成一个隐向量,然后利用这个隐向量进行下一个点击预测。但是这种方法没有考虑到item直接复杂的转换(transitions)关系,也就是item之间在点击的session中除了时间顺序外还有复杂的有向图内的节点指向关系,所以之前的方法不足以很好的对点击序列进行建模。

现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺点:

1)当一个session中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。如当使用RNN模型时,用户行为的表示即最后一个单元的输出,论文认为只有这样并非十分准确。

2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的 单向转移关系 进行建模,而忽略了会话中其他的物品。

为了克服上述缺陷,本文提出了用图神经网络对方法对用户对session进行建模:

下面具体介绍怎么进行图序列推荐

V = {v1,v2...vm}为全部的item,S = { }为一个session里面按时间顺序的点击物品,论文的目标是预测用户下一个要点击的物品vs,n+1,模型的任务是输出所有item的预测概率,并选择top-k进行推荐。

我们为每一个Session构建一个子图,并获得它对应的出度和入度矩阵。

假设一个点击序列是v1->v2->v4->v3,那么它得到的子图如下图中红色部分所示:

另一个例子,一个点击序列是v1->v2->v3->v2->v4,那么它得到的子图如下:

同时,我们会为每一个子图构建一个出度和入度矩阵,并对出度和入度矩阵的每一行进行归一化,如我们序列v1->v2->v3->v2->v4对应的矩阵如下:

这个矩阵里面的值是怎么计算的呢?下面讲一下:

看左边的出度矩阵,第一行为 0 1 0 0 ,代表着v1->v2,因为v1,只有一个指向的item,所以为1;看第二行,0 0 1/2 1/2,因为v2有指向v3和v4的边,所以进行归一化后每一个值都变成了1/2。入度矩阵的计算方法也是一样的,就不再说了。

本文采用的是GRU单元进行序列建模,将图信息嵌入到神经网络中,让GRU充分学习到item之间的关系,传统的GRU只能学到相邻的两个物品之间的关系,加入图信息后就能学到整个session子图的信息。

计算公式如下:

为了刚好的理解这个计算过程,我们还是使用之前那个例子:v1->v2->v3->v2->v4来一步步分析输入到输出的过程。

(1) 是t时刻,会话s中第i个点击对应的输入, 是n✖️2n的矩阵,也就是会话子图的完整矩阵,而 是其中一行,即物品vi所对应的那行,大小为1✖️2n,n代表序列中不同物品的数量。

如果按照例子来看,如果i取2,那么 为 [0 0 1/2 1/2 1/2 0 1/2 0]

进一步的,可以把 :拆解为[ , ]

(2) 可以理解为序列中第i个物品,在训练过程中对应的嵌入向量,这个向量随着模型的训练不断变化,可以理解为隐藏层的状态,是一个d维向量。

   (3)  H是d*2d的权重向量,也可以看作是一个分块的矩阵,可以理解为H=[Hin|Hout],每一块都是d*d的向量。

那么我们来看看计算过程:

1)[ ..., ] ,结果是d * n的矩阵,转置之后是n*d的矩阵,计作

2) : H相当于[   ],即拆开之后相乘再拼接,因此结果是一个1 * 2d的向量。

上面就是完整的第i个点击的输入的计算过程,可以看到,在进入GRU计算之前,通过跟As,i矩阵相乘,把图信息嵌入到了神经网络中取,加深了神经网络学习到的item之间的交互信息。

此外,就是GRU的计算过程了,跟原始的GRU不一样的地方在于输入从xt变成了嵌入了图信息的as,i。

通样也有更新门和重置门,计算方法跟原始GRU一模一样。

这里的 其实就是相当于原始gru中的 ,只不过在SR-GNN里面,进行一轮运算的时候i是没有变化,相当于每个物品单独进去GRU进行计算,得到自己的向量,也就是说在GRU的计算过程中, 是不断变化的,看一下源码更易于理解:

hidden就是公式里面的 ,在gru的每一个step计算中都会进行更新,这里我有个疑问,如果所有item的hidden都更新的话,那么应该是整个序列中所有的item并行进入GRU中进行计算,每一个step都得到自己的vector,当每个item的vector更新后,下一个step就重新根据新的 计算 ,接着计算下一个step。

计算过程大概就是下面这样:

这里有四个GRU并行计算,没次更新自己的hidden状态,输入则考虑所有的hidden和图信息。

从上面的图看来,每一个item都要进行T个step得到自己的item-vec,所以经过T个step后,我们就得到了序列中所有item的向量,即:

图中用蓝色框框画出来的向量,有了这些向量后,我们怎么得到预测结果呢?这就引入了下一个问题。

观察上面的模型结构,我们看到attention,没错,我们认为一个session中的这些item-vec并不都对预测结果产生影响,有些item对结果影响很大,有些影响很小,所以我们进行了加权求和。同时,论文认为session对最后一个item-vec,s1=vn是重要的,所以单独拿出来:

公式(6)就是简单的attention操作,其实从公式上来看就是计算每个vi跟最后一个向量vn的权值,然后进行加权求和。

在最后的输出层,使用sh和每个物品的embedding进行内积计算,这里vi应该是item的embedding层出来的向量,而不是后面一直更新的hidden:

最后通过一个softmax得到最终每个物品的点击概率:

损失函数为交叉熵损失函数:

从数据上来看,SR-GNN超过了经典的GRU4REC,这也说明了图信息的嵌入能带来更好的推荐效果。

本论文很巧妙的将图信息嵌入的神经网络中,更高地让GRU学习到每个item之间的关系,不再局限于相邻的物品之间进行学习。近年来,图神经网络的思想和方法屡屡被用在推荐系统中,学好图神经网络应该是推荐系统的下一个热潮。

  • RIMA:按需个性化的推荐解释
  • 答:WSDM2023| IALS:革新可解释性评价方法</CRGCN:多行为推荐的级联残差图卷积网络</SIGIR 2023 | 联邦推荐:对抗合成恶意用户的新策略</IEEE2023| AGNN-GC:增强注意力的全局上下文图神经网络</武汉大学 | 架构违规代码审查推荐的创新</...通过这些研究,我们可以看到推荐系统正在不断进化,朝着更加...

  • 基于知识图谱的推荐系统
  • 答:基于利用KG信息的方式不同,可以将知识图谱与推荐系统的结合方法分为三类:分别是基于嵌入的方法、基于路径的方法和统一方法。 1.基于嵌入的方法 基于嵌入的方法通常直接使用来自 KG 的信息来丰富项目或用户的表示。为了利用 KG 信息,需要使用知识图嵌入 (KGE) 算法将 KG 编码为低秩嵌入。根据用户...

  • 推荐系统经典论文
  • 答:Possible Extensions。最经典的推荐算法综述 2、Collaborative Filtering Recommender Systems. JB Schafer 关于协同过滤最经典的综述 3、Hybrid Recommender Systems: Survey and Experiments 4、项亮的博士论文《动态推荐系统关键技术研究》5、个性化推荐系统的研究进展.周涛等 6、Recommender systems L Lü, M ...

  • 对新手来说,图神经网络入门容易吗?
  • 答:实践是检验真理的唯一标准,从构建和调整基础模型开始,你会逐渐掌握其内在逻辑。在学习路线方面,开始时可以先从阅读相关论文入手。理解图嵌入类模型的思想,比如通过Deepwalk探索图的结构;接着,通过GCN这类图卷积模型提升你的实践能力。深入学习时,如GCN的原理解析,会帮助你建立起坚实的理论基础。图神...

  • 论文阅读:ImageNet Classification with Deep Convolutional Neural...
  • 答:计算公式: bi x,y表示第i个卷积核进行卷积计算再通过ReLU之后的输出在位置(x,y)处神经元的激活值 ai x,y表示归一化之后的值 n表示与卷积核i毗邻的k个卷积核,超参数,一般设为5 N表示卷积核的总数 α = 10−4, and β = 0.75 两个超参数 重叠池化就是指相邻...

  • 协同过滤(2): KDD2020- HyperGraph CF 基于超图
  • 答:这篇工作基于超图结构,提出了一种新的CF框架,与基于图神经网络的CF相比,超图结构更符合实际情况;此外,双通道的思路也值得借鉴,之前也分析的一篇双通道BPR的论文。近年来,基于图神经网络的推荐已经成为研究主流,而其中超图相关的工作少之又少,最近看到的另一篇是SIGIR2020上的一篇Next Item ...

  • 推荐系统论文阅读(二十)-阿里妈妈基于用户长序列历史行为的推荐SIM
  • 答:这是阿里妈妈发表在2020SIGIR上面的又一篇佳作,让我们来阅读一下这篇论文吧。 在CTR/CVR预估领域中,用户历史行为对CTR/CVR预估的建模是很有指导意义的,用户的历史行为序列中潜藏着用户丰富的”兴趣点“,用户的每一次行为都是某个方面兴趣的一种反应。比如我喜欢各种口红产品、喜欢洗面奶、但是又对某个牌子不是特别...

  • 推荐系统资料集合链接
  • 答:推荐系统遇上深度学习(四十一)-Improved Recurrent Neural Networks for Session-based Recommendations https://www.jianshu.com/p/e73f47050e0a 推荐系统遇上深度学习(四十二)-使用图神经网络做基于会话的推荐 https://www.jianshu.com/p/9186b2e40178 推荐系统遇上深度学习(四十三)-考虑用户微观行为的电商推荐...

  • GCN图卷积网络入门详解
  • 答:图上的特征工程。(图片来自[1]) 如果能以某种方式同时得到图的节点特征和结构信息作为输入,让机器自己去判断哪些信息是有用的,那就更好了。 这也是为什么我们需要图表示学习的原因。 我们希望图能够自己学习 "特征工程"。(图片来自[1]) 论文:基于图神经网络的半监督分类 (2017)[3] GCN是一种卷积神经网络,它...

  • CNNs-卷积神经网络
  • 答:卷积神经网络:图像处理的革新力量 在当今的机器学习领域,CNN(卷积神经网络)如同璀璨的明星,广泛应用于图片分类、目标检测和个性化推荐系统中。其核心在于卷积与池化操作,它们如同精密的信号处理工具,通过卷积核巧妙地提取图像特征,而池化则负责降低维度,增强特征的稳定性和计算效率。损失函数上,交叉熵...

    户户网菜鸟学习
    联系邮箱
    返回顶部
    移动学习网