GCL4SR论文阅读笔记
Enhancing Sequential Recommendation with Graph Contrastive Learning论文阅读笔记
Abstract
现存问题:
现有的序列推荐方法大多只利用单个交互序列的局部上下文信息,并仅根据项目预测损失来学习模型参数。因此,它们通常无法学习适当的序列表示。
提出方法:
本文提出了一种新颖的推荐框架,即用于序列推荐的图形对比学习(GCL4SR)。具体来说,GCL4SR 采用基于所有用户交互序列构建的加权项转换图(WITG),为每次交互提供全局上下文信息,并削弱序列数据中的噪声信息。此外,GCL4SR 还使用 WITG 的子图来增强每个交互序列的表示。此外,GCL4SR 还提出了两个辅助学习目标:最大化 WITG 上由相同交互序列引起的增强表示之间的一致性,以及最小化 WITG 上全局上下文增强表示与原始序列局部表示之间的差异。
Introduction
第一段介绍现存的序列推荐以及其缺点,比如用户之间协作关系以及没有考虑噪声
第二段介绍本文的方法中的构图方式
为了解决上述问题,我们首先建立了一个加权项目转换图(WITG)来描述所有用户交互序列中的项目转换模式。这种过渡图可以为每个用户-物品交互提供全局上下文信息。为了减轻数据稀疏性的影响,对 WITG 进行邻域采样,为每个交互序列建立增强图视图。然后,利用图对比学习来学习用户交互序列的增强表示,这样 WITG 上的全局上下文信息就能自然地融入增强表示中。此外,由于 WITG 采用转换频率来描述每个项目转换的重要性,因此在学习序列表示时,它有助于削弱用户交互序列中噪声交互的影响。
第三段介绍本文提出的方法
在本文中,我们提出了一种名为 GCL4SR(即用于序列推荐的图形对比学习)的新型推荐模型。具体来说,GCL4SR 利用从 WITG 中采样的子图来利用不同序列中的全局上下文信息。通过在 WITG 上对序列的增强视图来适应全局上下文信息,从而改进了序列推荐任务。此外,我们还开发了两个辅助学习目标:最大化 WITG 上由相同交互序列诱导的增强表征之间的一致性,以及最小化 WITG 上由全局上下文增强的表征与原始序列的局部表征之间的差异。
Preliminaries
重点看这个如何构图,以及后面的卷积方式
们首先根据 D 建立一个加权项目转换图 G,以提供所有用户行为序列中项目转换模式的全局视图。全局过渡图 G 的构建策略如下。以序列 S 为例、对S中的每个项目\(v_t\)和\(v_{t+k}\),如果存在链接,则权重更新为:
\(w(v_t,v_{t+k})\leftarrow w(v_t,v_{t+k})+1/k;\)
若不存在,则直接置为\(1/k\)
在权重更新完成后,对权重进行规范化
\(\widehat{w}(v_t,v_j)=w(v_t,v_j)(\frac1{\deg(v_i)}+\frac1{\deg(v_j)}),\)
Method
图 2 显示了 GCL4SR 的整体框架。请注意,GCL4SR 有以下几个主要组成部分: 1) 图增强序列表示学习;2) 用户指定门控;3) 基本序列编码器;4) 预测层。接下来,我们将介绍每个组件的细节。
图增强序列表示学习
基于图的增强
给定加权转换图 G,我们首先通过数据增强为交互序列 S 构建两个增强图视图。这样做的目的是通过对原始序列进行某些变换,创建全面、真实的合理数据。在这项工作中,我们使用以前提出的一个高效邻域采样方法,从给定序列的大型过渡图中生成增强图视图。具体来说,我们将每个节点 v∈S 视为中心节点,并根据经验将采样深度 M 设为 2,每一步的采样大小 N 设为 20,从而对其在 G 中的邻居进行相互采样。在采样过程中,我们在不考虑边权重的情况下对节点进行均匀采样,然后在 G 中保留采样节点之间的边及其权重。对于特定的序列S,采用基于图的增强后,我们可以得到两个增强图视图
共享图神经网络
使用两个共享的编码器来对图进行编码
\(\begin{aligned} &\mathbf{a}_{v_i}^{(t)} =\text{Aggregate}^{(t)}\big(\{\mathbf{h}_{v_j}^{(t-1)}:v_j\in N_{v_i}^{'}\}\big), \\ &\mathbf{h}_{v_i}^{(t)} =\text{Combine}^{(t)}\big(\mathbf{a}_{v_i}^{(t)},\mathbf{h}_{v_i}^{(t-1)}\big), \end{aligned}\)
图对比学习目标
将同一序列的视图视为正对,不同序列的视图视为负对。然后进行对比学习,公式就不列了,传统的对比学习公式
特定于用户的门控
由于每个用户可能只对物品的某些特定属性感兴趣,因此全局上下文信息应该是用户特定的。我们设计了以下用户特定门控机制,以获取符合用户个性化偏好的全局上下文信息
\(\mathbf{Q}_S^{'}=\mathbf{H}_S^{'}\otimes\sigma(\mathbf{H}_S^{'}\mathbf{W}_{g1}+\mathbf{W}_{g2}\mathbf{p}_u^{\top}),\)
\(p_u\)代表用户的通用偏好
表示对齐目标
然后使用最大平均差异(MMD)来定义个性化全局上下文表示(即 Q ′ S 和 Q ′′ S)与局部序列表示\(E_S^{0}\) 之间的距离。形式上,两个特征分布之间的 MMD 可定义如下:
\(\begin{aligned}&MMD(\mathbf{X},\mathbf{Y})=\frac1{m^2}\sum_{a=1}^m\sum_{b=1}^m\mathcal{K}(\mathbf{x}_a,\mathbf{x}_b)\\&+\frac1{\widetilde{m}^2}\sum_{a=1}^{\widetilde{m}}\sum_{b=1}^{\widetilde{m}}\mathcal{K}(\mathbf{y}_a,\mathbf{y}_b)-\frac2{m\widetilde{m}}\sum_{a=1}^m\sum_{b=1}^{\widetilde{m}}\mathcal{K}(\mathbf{x}_a,\mathbf{y}_b),\end{aligned}\)
其中和函数采用高斯核函数,\(\mathcal{K}(\mathbf{x},\mathbf{x}')=e^{-\frac{||\mathbf{x}-\mathbf{x}'||^2}{2\rho^2}}\)
然后,我们将个性化全局上下文表示与局部序列表示之间的距离最小化如下
\(\mathcal{L}_{MM}(S)=MMD\big(\mathbf{E}_{S}^{(0)},\mathbf{Q}_{S}^{'}\big)+MMD\big(\mathbf{E}_{S}^{(0)},\mathbf{Q}_{S}^{''}\big).\)
基础序列编码器
这里就是用Transformer当序列编码器,详细细节见原文
预测层
我们在变换器编码器 Hℓ 的最后一层将从增强图视图和嵌入中得到的表示 Q ′ S 和 Q ′′ S 连接起来,如下所示
\(\mathbf{M}=AttNet(Concat(\mathbf{Q}_S^{^{\prime}},\mathbf{Q}_S^{^{\prime\prime}},\mathbf{H}^\ell)\mathbf{W}_T),\)
AttNet是注意力网络。
那么,给定长度为 n 的用户交互序列 S,用户与物品在第 (n+ 1) 步的交互概率可定义如下
\(\hat{\mathbf{y}}^{(S)}=softmax(\mathbf{M}\mathbf{E}^\top),\)
多任务学习
首先推荐的损失函数是预测下一个物品,这里把序列分为从1到n-1的多段,每段的下一个交互物品作为标签,n为序列长度,损失函数采用交叉熵算函数
\(\mathcal{L}_{main}=-\sum_{S_u\in\mathcal{D}}\sum_{k=1}^{|S_u|-1}\log\bigg(\hat{\mathbf{y}}^{(S_u^{1:k})}(v_u^{k+1})\bigg),\)
最终的损失函数如下:
\(\mathcal{L}=\mathcal{L}_{main}+\sum_{S_{u}\in\mathcal{D}}\sum_{k=1}^{|S_{u}|-1}\lambda_{1}\mathcal{L}_{GCL}(S_{u}^{1:k})+\lambda_{2}\mathcal{L}_{MM}(S_{u}^{1:k}),\)
总结
这篇文章讲的比较清晰,就贴一下原文的conclusion
本文提出了一种新颖的推荐模型,即 GCL4SR,它采用全局过渡图来描述不同用户交互序列中的项目过渡模式。此外,GCL4SR 还利用从过渡图中随机抽取的子图来增强交互序列。为了学习更好的项目和序列表示,我们提出了两个辅助学习目标。