APGL4SR论文阅读笔记

news/2024/9/24 14:50:35

APGL4SR: A Generic Framework with Adaptive and Personalized Global Collaborative Information in Sequential Recommendation论文阅读笔记

Abstract

现存的问题:

​ 现有方法通常只关注序列内建模,而忽略了通过序列间建模来利用全局协作信息,从而导致推荐效果不佳。以往的研究试图通过预定义规则构建的全局协作项目图来解决这一问题。然而,这些方法在捕捉全局协作信息时忽略了两个关键属性,即适应性和个性化,从而产生了次优的用户表征。

提出方法:

​ 为此,我们提出了一个图驱动框架,名为 “顺序推荐的自适应和个性化图学习(APGL4SR)”,它将自适应和个性化的全局协作信息纳入顺序推荐系统。具体来说,我们首先学习所有项目之间的自适应全局图,并以自我监督的方式利用该图捕获全局协作信息,而基于 SVD 的加速器可进一步减轻计算负担。此外,在图的基础上,我们提出以相对位置编码的形式提取和利用个性化的项目相关性,这是一种高度兼容的个性化利用全局协作信息的方式。最后,整个框架是在多任务学习范式下优化的,因此 APGL4SR 的每个部分都可以相互促进。作为一个通用框架,APGL4SR 不仅能以显著的优势超越其他基线,而且还表现出良好的通用性、学习有意义的全局协作图的能力,以及缓解项目嵌入的维度崩溃问题的能力。

Introduction

​ 第一段介绍推荐系统和顺序推荐

​ 第二段介绍推荐系统的常用方法

​ 第三段介绍现存的一些问题

​ 我们认为,从基于规则的图中获得的全局协作信息并不理想,因为它缺乏两个基本特性:

​ (1) 适应性。图应该能够自适应地检测出有噪声的边缘和潜在边缘,例如,T恤和耳机之间的边缘权重可以降低,因为它们在直观上并不相关,而我们可以在直观相似的耳机和智能手表之间添加一条边缘。

​ (2) 个性化。全局协作信息应该对不同的用户产生不同的影响,例如,像用户𝑢4 这样的电子产品爱好者可能会坚持点击另一款电子产品,即使他或她刚刚点击了一件 T 恤。受这些问题的启发,我们打算将自适应和个性化的全局协作信息纳入顺序推荐系统。

​ 第四段介绍现存问题的一些解决方法

​ 第五段介绍纳入全局信息的挑战

​ 我们面临着两大挑战:(1)如何有效且高效地捕捉自适应全局协作信息。基于规则的图构建会导致有偏差的表示,而直接模拟所有项目对之间的隐含联系会导致不可接受的时间和空间复杂性。(2) 如何从全局协作信息中提取和利用个性化信息。如前所述,为了避免信息退化问题,我们需要以更兼容的方式实现对全局协作信息的个性化利用。

​ 后面介绍本文的方案

​ 为了充分挖掘全局协作信息并应对上述挑战,我们提出了一个图驱动框架,名为 “序列推荐的自适应和个性化图学习(APGL4SR)”,该框架通过自监督学习将自适应和个性化全局协作信息纳入序列推荐系统。首先,我们提出了一种自适应全局协作学习器,它能自适应地学习所有条目之间的精炼全局图,并通过互信息最大化来捕捉全局协作信息,然后利用所提出的基于 SVD 的加速策略降低计算复杂度,从而有效、高效地将全局协作信息纳入条目表征中。

​ 然后,我们提出了一种个性化图提取器,以相对位置编码的形式从全局协作图中提取项目相关性,并通过用户特定的嵌入对其进行转换。通过将获得的相对位置编码注入变换器编码器,我们就能以高度兼容的方式为每个用户实现对全局协作信息的个性化利用。最后,我们利用多任务学习范式,以端到端的方式优化整个框架,从而使自适应全局协作学习器和后续的顺序模型相互促进。

​ 本文的主要贡献如下:

  • 我们研究了顺序推荐中的一个新问题,即学习自适应和个性化的全局协作信息。
  • 我们开发了一种自适应全局协作学习器来捕捉全局协作信息。借助该模块,我们可以通过自适应精炼图来学习包含有意义信息的全局协作图,而基于 SVD 的加速器则保证了学习效率。
  • 我们提出了一种个性化图提取器,可针对每个特定用户精心利用全局协作信息。有了我们提出的模块,我们就能以高度兼容的方式从全局图中提取和利用个性化信息。

Preliminaries

基于规则的全局物品转换图

​ 传统的 SR 方法侧重于序列内建模,而忽略了通过序列间建模来利用全局协作信息建模,从而导致用户表征效果不佳。为此,我们建议使用全局项目转换图来捕捉全局协作信息。然而,我们只得到了用户的交互记录,却没有可用的全局项目图。因此,我们打算使用第 2.3 节中介绍的 GSL 学习图,图 1 中提到的噪声边和底层边可以自适应地检测出来。

pAQPC4K.png

​ 由于我们打算利用 GSL 获得理想的全局项目转换图,因此必须构建一个具有相对充分的先验知识的初始图,以便进行稳定的训练。因此,我们利用在 GCL4SR中定义并证明有用的基于规则的图作为主要图。然后,我们将详细说明如何用相邻矩阵 A∈R |V |× |V |构建图 G,该矩阵初始化为全零矩阵。

​ 后面的构图方式参考IJCAI2022的GCL4SR,这里就不多解释了

Method

整体框架

​ 在本文中,我们提出了用于序列推荐的自适应和个性化图学习(APGL4SR)框架,将自适应和个性化全局协作信息纳入带有 SSL 的序列推荐系统,如图 2 所示。

​ 具体来说,我们首先在第 4.2 节中提出了一种新型自适应全局协作学习器(AGCL)。在 AGCL 中,我们利用在第 2.3 节中介绍的 GSL 技术来学习细化的全局项目相关图,通过所提出的基于 SVD 的加速策略,可以进一步降低其计算复杂度。给定原始图和细化图后,我们可以分别生成两个表征,然后最大化它们的互信息,将自适应全局协作信息纳入项目表征中。

​ 有了增强的项目表征,我们在第 4.3 节中利用经典的变换器编码器生成用户表征。然而,不同的用户可能会对全局协作信息表现出不同的兴趣,因此我们在第 4.4 节中进一步提出了个性化图提取器(PGE)。该提取器以相对位置编码的形式从精炼的全局图中为单个用户提取个性化信息,因此它可以与第 4.3 节中的顺序编码器自然地结合起来。

​ 最后,我们将在第 4.5 节中阐述如何通过多任务学习范式优化整个框架。通过这种方式,自适应全局协作学习器和顺序模型可以相互促进。

pAQtPm9.png

自适应的全局协作学习器

​ 尽管序列内建模取得了相当大的结果,但缺乏通过序列间开发获得的全局协作信息将导致较差的结果。我们的目标是学习自适应全局项目图,并以 SSL 的方式将完善的全局协作信息纳入顺序建模。具体实现方法如下。

细粒度的图表示学习

​ 在第 3.2 节中,我们将构建一个基于规则的全局项目图作为初始图。然后,我们打算用小扰动来完善该图,这在第 2.3 节中介绍的直接方法中被正式化:

\(\hat{\mathcal{A}}=\mathcal{A}+\alpha\mathcal{A}^{\prime},\)

​ 其中A为固定的原始图,A‘为完全可学习的扰动图。然后我们使用LightGCN来生成图表示。

基于SVD的加速

​ 然而,公式 4 的计算复杂度与条目数呈二次关系,这对于大规模推荐系统来说是不可接受的。因此,我们提出了一种基于 SVD 的加速方法,以加快扰动图 A′ 的学习过程。具体来说,我们观察到现实世界中项目图中较小的奇异值占所有奇异值的大部分,因此我们对扰动图也做了同样的假设,这使我们能够加速 A′的建模,因为我们只需要对一小部分占主导地位的奇异值建模。这样,我们就不需要构建整个扰动图,而是交替学习其 SVD 分解,其形式化过程如下

\(\mathcal{A}^{\prime}=(\mathcal{A}\mathbf{W}_{US})(\mathcal{A}\mathbf{W}_V)^T,\)

​ 根据A'的分解,图的更新可以重写为:

\(\mathbf{E}^{(l)}=\mathcal{A}\mathbf{E}^{(l-1)}+(\mathcal{A}\mathbf{W}_{US})(\mathcal{A}\mathbf{W}_V)^T\mathbf{E}^{(l-1)},\)

​ 后面就是介绍这个的时间复杂度的优越性

全局协作信息编码

​ 以前的方法,如 GC-SAN,直接将图增强的项目嵌入 E (𝐿) 输入 4.3 中定义的顺序编码器,但我们根据经验发现效果不佳。因此,我们转而利用 SSL 范式,将精炼的全局协作信息有效地纳入到项目表征中,通过互信息最大化来实现这一点,也就是利用InfoNCE来进行估计。

​ 在本工作中,基于原始图或精炼图生成的图表示应具有相似的信息,因此我们打算最大化原始图和精炼图之间的互信息。其形式化如下:

\(\mathcal{L}_{gce}=-\sum_{i=1}^{|B|}\log\frac{e^{\cos(\mathbf{e}_i^{(L)},\mathbf{\hat{e}}_i^{(L)})/\tau}}{\sum_{j=1}^{|B|}e^{\cos(\mathbf{e}_i^{(L)},\mathbf{\hat{e}}_j^{(L)})/\tau}},\)

序列建模

​ 这里采用Transformer来进行序列建模,输出为H

​ 有了生成的用户表示和条目嵌入,就可以通过下一个条目预测损失对顺序模型进行优化,如下所示

\(\mathcal{L}_{rec}=\sum_{u=1}^{|\mathcal{U}|}\sum_{t=2}^{|s_u|}(-\log(\sigma(\mathbf{h}_{t-1}^u\cdot\mathbf{v}_t^u))-\sum_{v_j\notin s_u}\log(1-\sigma(\mathbf{h}_{t-1}^u\cdot\mathbf{v}_j))),\)

个性化的图提取器

​ 第 4.2 节中介绍的图形侧重于编码全球协作信息,反映项目之间的一般联系。但最终,我们的目标是为每个特定用户的项目相关性建模。因此,我们提出从全局图中提取个性化信息。之前的研究在表示层将个性化信息与顺序信息融合在一起。然而,我们根据经验发现这种方法效果不佳,我们怀疑这是由于图表示法和顺序表示法不兼容造成的。因此,我们打算保持提取信息的两个必要属性:兼容性和个性化。

​ 考虑到兼容性,由于自我注意力机制也可以被视为学习子图中项对之间的边权重,我们提出将个性化的全局协作信息以相对位置编码的形式注入到顺序编码器

\(Attention(\mathbf{Q}_u,\mathbf{K}_u,\mathbf{V}_u)=\left(softmax\left(\frac{\mathbf{Q}_u\mathbf{K}_u^T}{\sqrt{d}}+\mathbf{P}_u^{\prime}\right)\right)\mathbf{V}_u,\)

​ 然后,我们需要指定相对位置编码,以考虑个性化。为了满足这一要求,我们为每个用户引入了一个个性化嵌入向量 s𝑢 ∈ R 1×𝑑。具体来说,给定用户 𝑢 的交互序列𝑠𝑢 = [𝑣1, 𝑣2, . . , 𝑣𝑡 , . . , 𝑣𝑁 ]。我们可以从交互序列的全局物品图中提取一个子图 \(\tilde{\mathcal{A}} \in \mathbb{R}^{N\times N}\),然后就可以得到用户 𝑢 的个性化相对位置编码如下:

\(\mathbf{P_u^{\prime}}=MLP(\mathbf{s_u})\tilde{\mathcal{A}},\)

模型优化

​ 本文的损失函数为:

\(\mathcal{L}_{total}=\mathcal{L}_{rec}+\lambda_1\mathcal{L}_{gce}+\lambda_2\mathcal{L}_{seq},\)

总结

​ 整理一下,本文的主要思路是提出了一个可训练的图结构当作图的一个增强,有点像MAE的一个思想,把原始图与 原始图与增强图的和 进行互信息最大化,并且在图卷积时利用SVD加速。然后在序列推荐时使用图结构当作位置编码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/64173.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

DDD学习与感悟——向屎山冲锋

软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思…

大数据从业者必知必会的Hive SQL调优技巧

大数据从业者必知必会的Hive SQL调优技巧 摘要:在大数据领域中,Hive SQL被广泛应用于数据仓库的数据查询和分析。然而,由于数据量庞大和复杂的查询需求,Hive SQL查询的性能往往不尽人意。本文针对Hive SQL的性能优化进行深入研究,提出了一系列可行的调优方案,并给出了相应…

.net core开源工作流程框架elsa源码阅读之容器的理解

官方文档:https://v3.elsaworkflows.io/官方文档:https://v3.elsaworkflows.io/ 这个框架的依赖注入容器,底层是靠原生的IServiceCollection,没有使用其他的三方容器;然后在这个基础上,作者进行了封装。 主要是用了Module类和继承了IFeature接口的类完成了依赖注入容器的…

22320102 张怡晨9.24

思维导图:亿图 Xmind PDF转换器 :CAJ lightPDF(免费)www.light pdf.com pdf Candy

详解Diffusion扩散模型:理论、架构与实现

本文深入探讨了Diffusion扩散模型的概念、架构设计与算法实现,详细解析了模型的前向与逆向过程、编码器与解码器的设计、网络结构与训练过程,结合PyTorch代码示例,提供全面的技术指导。关注TechLead,复旦AI博士,分享AI领域全维度知识与研究。拥有10+年AI领域研究经验、复旦…

2024.9.24第二次课

思维导图制作:使用Xmind

中国大陆用户如何使用Jetbrains内置的AI插件AI Assistant

1 安装AI Assistant插件 AI功能依赖AI Assistant插件:2 功能 解释代码、回答有关代码片段的 问题、提交消息等等。 在需要时更快地编码 AI Assistant 可以自动补全单行、函数和整个代码块,并与您的编码样式、项目上下文和命名约定保持一致。AI Assistant 还可以根据您的自然语…