当前位置: 首页 > news >正文

DiffuRec: A Diffusion Model for Sequential Recommendation

DiffuRec: A Diffusion Model for Sequential Recommendation

Background

序列推荐(Sequential Recommendation, SR)领域,主流方法是将用户与物品表示为fixed embedding。然而,这种静态向量表达方式难以全面刻画用户多样化的兴趣及物品的潜在多维属性。此外,用户行为的不确定性也未被充分建模。

近年来扩散模型(Diffusion Models)在图像生成与自然语言处理中表现优异,其核心优势在于可以生成连续分布式表示。本文提出首次将扩散模型引入序列推荐任务,旨在增强推荐系统对用户兴趣与物品语义的建模能力,并引入合理的不确定性来提升推荐质量。

Introduction

DiffuRec 主要贡献如下:

1)多兴趣与多属性建模:将用户兴趣和物品属性建模为分布,而非固定向量,更真实地反映实际推荐场景中的多样性。2)目标物品指导机制:利用目标物品信息引导历史交互的表征学习,提高目标预测的准确性。3)不确定性注入:通过扩散过程引入噪声,增强模型鲁棒性。4)扩散与逆过程:训练阶段添加高斯噪声以生成中间表示,推理阶段逐步去噪恢复目标物品的表示。
论文明确指出,现有如 VAE、GNN、Transformer 等方法难以统一有效建模上述特性,因此设计了融合扩散机制的统一模型 DiffuRec。

Method

在这里插入图片描述

preliminary

diffusion phase:
在这里插入图片描述
reverse phase:
在这里插入图片描述

approximator

在这里插入图片描述
在这里插入图片描述
其中 ⊙ \odot 是哈达玛积。x 是指导变量,在diffusion phase 是noised target item,reverse phase 是reversed target item representation。其中 λ i ∼ N ( δ , δ ) \lambda_i \sim \mathcal{N}(\delta, \delta) λiN(δ,δ) δ \delta δ是一个超参数,定义了该正态分布的均值和方差。
此处 x 引入了来自目标 item 的语义信息作为一种监督信号促进模型模型捕获用户当前意图。 λ \lambda λ额外引入扰动,更符号实际过程中用户交互行为存在不确定性的特点,也可以增强模型鲁棒性。


x 0 x_{0} x0是通过 Transformer 生成的,从建模角度(是用户当前兴趣的表达), 从预测角度(是目标 item 的分布式表示)

它本质上是用户兴趣(interest representation)在当前上下文下的外在表现,但从任务角度来说,它也扮演着“预测下一个 item”的角色。

a.diffusion

在这里插入图片描述

在这里插入图片描述
其中 a,b是超参数,控制噪声的范围,t是diffusion step 的最大值,s是从均匀分布中采样的变量,𝑠 =⌊𝑠′⌋, 𝑠′ ∼ 𝑈 (0, 𝑡).

在这里插入图片描述
其中x0是one step加噪的 e n + 1 e_{n+1} en+1

b.reverse

在这里插入图片描述

在这里插入图片描述

c.loss function and rounding

for diffusion phase:
loss func:
在这里插入图片描述
本文使用cross entropy loss,虽然 diffusion model 通常用 MSE loss,但在推荐任务里这么做不合理,因为:1)推荐中的 item embedding 是离散的、不连续的,因此优化欧式距离不合理,使用的话也会造成训练不稳定;2)推荐系统更常用点积来衡量item之间的相似性。

for inference phase
需要把模型去噪得到的x0 映射成一个物品index 空间中的index。具体做法:
用x0和所有候选item做内积,选择内积最大的。
在这里插入图片描述

Experiment

在这里插入图片描述
在这里插入图片描述
DiffuRec 模型在“diffusion 扩散阶段”和“reverse 逆过程”中引入的不确定性和扰动,不只是随便加点高斯噪声来增强模型的鲁棒性,而是在噪声的基础上引入了来自目标 item 的语义信息。这就像是让模型在“带着目标意图”的前提下进行训练,使得最后的预测更加准确。

五、Conclusion
DiffuRec 是第一个将扩散模型用于序列推荐任务的工作。它能有效建模物品的多潜在属性与用户的多兴趣,并通过引入噪声建模不确定性。实验表明,DiffuRec 在多个数据集上大幅超过现有 SOTA 方法。


http://www.mrgr.cn/news/98758.html

相关文章:

  • AI应用开发之扣子第二课-AI翻译(第1节/共2节)
  • 并查集(力扣2316)
  • 名胜古迹传承与保护系统(springboot+ssm+vue+mysql)含运行文档
  • 【Python】迭代器(Iterator)vs 生成器(Generator)
  • Python 实现日志备份守护进程
  • 从零到有的游戏开发(visual studio 2022 + easyx.h)
  • 华为OD机试真题——统计匹配的二元组个数(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 华为OD机试真题——攀登者2(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • PyTorch学习-小土堆教程
  • 华为OD机试真题——天然蓄水库(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 猫咪如厕检测与分类识别系统系列【九】视频检测区域在线绘制+支持摄像头+网络摄像头+整体构建【上】
  • Web三漏洞学习(其二:sql注入)
  • 树莓派超全系列教程文档--(28)boot文件夹内容
  • 【论文阅读】UniAD: Planning-oriented Autonomous Driving
  • 虚幻引擎5-Unreal Engine笔记之“将MyStudent变量设置为一个BP_Student的实例”这句话如何理解?
  • 华为OD机试真题——硬件产品销售方案(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 【Java学习笔记】运算符
  • oracle查询锁表和解锁
  • 理解计算篇--正则表达式转NFA--理论部分
  • 【Java学习笔记】数据类型转换