KDD 2024最佳学生论文:中科大联合华为诺亚提出序列推荐新范式DR4SR

87fd2485a0bf5fd73042132ff0518cda.gif

©作者 | 陈恩红团队

来源 | 机器之心

8 月 25 日 - 29 日在西班牙巴塞罗那召开的第 30 届 ACM 知识发现与数据挖掘大会 (KDD2024) 上,中国科学技术大学认知智能全国重点实验室陈恩红教授、IEEE Fellow,和华为诺亚联合发表的论文 “Dataset Regeneration for Sequential Recommendation”,获 2024 年大会 Research Track 唯一最佳学生论文奖。

论文第一作者为中科大认知智能全国重点实验室陈恩红教授,连德富教授,与王皓特任副研究员共同指导的博士生尹铭佳同学,华为诺亚刘勇、郭威研究员也参与了论文的相关工作。这是自 KDD 于 2004 年设立该奖项以来,陈恩红教授团队的学生第二次荣获该奖项。

1023c2b99cae07877596254f2c2fa68e.png

文章地址:

https://arxiv.org/abs/2405.17795

开源代码:

https://github.com/USTC-StarTeam/DR4SR

973f10ac4eb4a59737e724febc0237b3.png

研究动机

序列推荐系统(Sequential Recommender, SR)是现代推荐系统的重要组成部分,因为它旨在捕捉用户不断变化的偏好。近年来,研究者为了增强序列推荐系统的能力,已经付出了大量努力。这些方法通常遵循以模型为中心(Model-centric)的范式,即基于固定数据集开发有效的模型。然而,这种方法往往忽视了数据中潜在的质量问题和缺陷。

为了解决这些问题,学界提出了以数据为中心(Data-centric)的范式,重点在于使用固定模型转而生成高质量的数据集。我们将其定义为 “数据集重生成” 问题。

为了获得最佳的训练数据,研究团队的关键思路是学习一个显式包含物品转移模式的新数据集。具体来说,他们将推荐系统的建模过程分为两个阶段:从原始数据集中提取转移模式 ,并基于 学习用户偏好 。由于学习从 的映射涉及两个隐含的映射: 和 ,因此这一过程具有挑战性。

为此,研究团队探索了开发一个显式表示 中的物品转移模式的数据集的可能性,这使得我们可以将学习过程明确地分为两个阶段,其中 相对更容易学习。因此,他们的主要关注点是学习一个有效的 的映射函数,这是一个一对多的映射。研究团队将这一学习过程定义为数据集重生成范式,如图 1 所示,其中 "重生成" 意味着他们不引入任何额外信息,仅依赖原始数据集。

033171de6ba150e620868be56c4cfd85.png

▲ 图1

为了实现数据集重生成,研究团队提出了一种新颖的以数据为中心的范式 —— 用于序列推荐的数据集重生成(DR4SR),旨在将原始数据集重生成一个信息丰富且具有通用性的数据集。

具体来说,研究团队首先构建了一个预训练任务,使得数据集重生成成为可能。接着,他们提出了一种多样性增强的重生成器,以在重生成过程中建模序列和模式之间的一对多关系。最后,他们提出了一种混合推理策略,以在探索与利用之间取得平衡,生成新的数据集。

数据集重生成过程虽具通用性,但可能不完全适合特定目标模型。为解决这一问题,研究团队提出了 DR4SR+,这是一个模型感知的重生成过程,它根据目标模型的特性定制数据集。DR4SR + 通过双层优化问题和隐式微分技术,个性化评分并优化重生成数据集中的模式,以增强数据集效果。

906eaffdcb16c5121aeeb8be45825579.png

研究方法

在本项研究中,研究团队提出了一个名为 “用于序列推荐的数据重生成”(DR4SR)的以数据为中心的框架,旨在将原始数据集重生成一个信息丰富且具有通用性的数据集,如图 2 所示。由于数据重生成过程是独立于目标模型的,因此重生成的数据集可能不一定符合目标模型的需求。因此,研究团队将 DR4SR 扩展为模型感知版本,即 DR4SR+,以针对特定的目标模型定制重生成的数据集。

模型无感知的数据集重生成

70196cb9d54c3d678645ffe8cb0dbb92.png

▲ 图2

为了开发一个信息丰富且具有通用性的数据集,研究团队旨在构建一个数据集重生成器,以促进数据集的自动重生成。然而,原始数据集中缺乏用于学习数据集重生成器的监督信息。因此,他们必须以自监督学习的方式来实现这一目标。为此,他们引入了一个预训练任务,以指导多样性增强重生成器的学习。在完成预训练后,研究团队进一步使用混合推理策略来重生成一个新数据集。

数据重生成预训练任务的构建:‍

df299a23253756b430431d51c4d3b9d4.png

▲ 图3

为了构建预训练任务,他们首先通过基于规则的方法获取物品转移模式。然后,要求重生成器 能够将 重生成对应的模式 。研究团队将整个预训练数据集记作 。

促进多样性的重生成器:

借助预训练任务,研究团队现在可以预训练一个数据集重生成器。本文中,他们采用 Transformer 模型作为重生成器的主要架构,其生成能力已被广泛验证。数据集重生成器由三个模块组成:一个用于获取原始数据集中序列表示的编码器、一个用于重生成模式的解码器,以及一个用于捕捉一对多映射关系的多样性增强模块。接下来,研究团队将分别介绍这些模块。

编码器由多个堆叠的多头自注意力(MHSA)和前馈网络(FFN)层组成。至于解码器,它将重生成数据集 X' 中的模式作为输入。解码器的目标是在给定编码器生成的序列表示的情况下重构模式

3dce530613d919cae2e21c9e752a43e3.jpeg

然而,从一个序列中可以提取多个模式,这在训练过程中会带来挑战。为了解决这一一对多映射问题,研究团队进一步提出了一个多样性增强模块。

具体而言,研究团队通过将目标模式的信息整合到解码阶段,来自适应地调节原量空间中,即 且 。理想情况下,不同的目标模式应与不同的记忆匹配。为此,他们还引入了一个 Transformer 编码器来编码目标模式并获取 。他们将 压缩成一个概率向量:

其中 是选择第 k 个记忆的概率。为了确保每个记忆空间得到充分训练,我们不执行硬选择,而是通过加权求和得到最终的记忆:

6214e83eb68f375678f0f0b9f79c6ded.jpeg

最终,可以利用获取的记忆来促进解码过程,并有效捕捉序列与模式之间复杂的一对多关系。

模型感知的数据集重生成

由于前面的重生成过程与目标模型无关,因此重生成的数据集可能对于特定的目标模型来说并不是最优的。因此,他们将模型无关的数据集重生成过程扩展为模型感知的重生成过程。为此,在数据集重生成器的基础上,他们引入了一个数据集个性化器,用于评估重生成数据集中每个数据样本的评分。然后,研究团队进一步通过隐式微分有效地优化数据集个性化器。

数据集个性化器:

研究团队的目标是训练一个参数为 0252eda93a5b1cae273f076b2fe1f7de.png 的基于 MLP 实现的数据集个性化器 2398a00f6911bfaba6fd17b511962ac9.png,用以评估每个数据样本 W 对于目标模型的评分。为了确保框架的通用性,研究团队利用计算得到的评分来调整训练损失的权重,这不需要对目标模型进行额外的修改。他们从定义原始的下一个物品预测损失开始:

4451a22410cca544819c573afa2f8c4c.png

随后,个性化数据集的训练损失函数可以定义为:

c2f1856e0a9595646fdfbc5af56c88d2.png

9f66246c3b4c6ba46dad405e72d45a4b.png

实验结论

主要实验

研究团队比较了每种目标模型与 “DR4SR” 和 “DR4SR+” 变体的性能,以验证所提出框架的有效性。

dbcb9bee085c6f249fb9b62fc266aa23.png

▲ 图4

从图 4 展示的整体性能中,可以得出以下结论:

  • DR4SR 能够重生成一个信息丰富且具有普遍适用性的数据集

  • 不同的目标模型偏好不同的数据集

  • 去噪只是数据重生成问题的一个子集

更多阅读

a07ccc912472504ec03c796ff215814d.png

9896eb75533c8fd25c98bc6f6c8be8d9.png

47ceb16a776fd30092fc3c676365e693.png

d2637e86c535f2614a9e45868a707df2.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

7ee6c9e63e2cc55d855e97c3db29e4f4.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

f21e10b6ec848fff772f675a75223b8b.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值