DiffuRec扩散推荐模型笔记

1 Title 

        DiffuRec: A Diffusion Model for Sequential Recommendation(ZIHAO LI、CHENLIANG L、AIXIN SUN)【2023 ACM Transactions on Information Systems】

2 Conclusion

        This paper is the first attempt to apply the diffusion model to SR, and proposes DiffuRec for the construction of item representations and the injection of uncertainty.

3 Sentences

        1、All these mainstream methods learn item representation as an embedding vector. However, we believe a fixed vector may have limited capability in capturing the following four characteristics simultaneously.(The shortcomings of previous works of RS)
        2、Diffusion models have made remarkable success in CV, NLP and many other fields.With the merits of its distribution generation and diversity representation, we consider Diffusion model to be a good fit to sequential recommendation. In this paper, we thereby make the very first attempt to bridge the gap between diffusion model and sequential recommendation, and propose DiffuRec(Why Choose to Use Diffusion Models for Recommender Systems)
        3、 As a new paradigm to recommendation tasks, different ways and other recommendation scenarios (e.g., session-based recommendation, click-through rate prediction) of adapting the powerful Diffusion model remain under-explored. We hope this work may shed light along this direction.(As an end of this paper)


针对传统推荐算法存在的表征能力有限、不确定性等挑战,本文提出一种利用扩散模型进行序列推荐的工作,该工作能够实现高质量、多样性的推荐效果。

研究动机:现有的SR在商品多维潜在表征建模、用户多兴趣表征建模、推荐的不确定性、推荐的不确定性等方面存在缺陷

DiffuRec模型

DiffuRec模型结构如图所示,主要包括三个部分:1)逼近器(Approximator);2)前向扩散过程(Diffusion Phase);3)后向逆扩散过程(Reversion Phase)。

开源代码:GitHub - WHUIR/DiffuRec

对于上图,首先考虑一个静态item嵌入:e_j,并且把它当作是项目i_j所涵盖的固有的潜在方面的语义编码,目标是通过扩散模型反向过程,从历史交互序列S中恢复目标项。

将经过 S-扩散 (s-diffusion steps)的噪声目标项表示 x𝑠 视为从 𝑞(·) 采样的分布表示,就可以使用 x𝑠 调整 S 中每个历史项目的表示,从而利用目标项目的指导作为辅助语义信号,最后,将调整后得到的表示 Z𝑥𝑠 = [z1, z2, · · ·, z𝑛] 被输入到近似器𝑓𝜃 (·) 中。这部分模型训练是为了让被近似器重建的\hat{x}_0与目标项目的嵌入e_{n+1}更接近。

反向过程:首先从标准高斯噪声中采样带噪声的目标项目表示x_t,然后把x_t输入训练好的对\hat{x}_0近似器𝑓𝜃 中去,调整出结果表示Zxt,然后根据扩散模型的公式,x_t\hat{x}_0通过𝑝(·)可以反转得到x_{t-1},通过迭代最终得到x_0
最终,使用舍入函数将反向连续表示x0映射为目标项目的离散候选项目索引\hat{i}_{n+1}

本文共提了三种diffusion的方式,Full-matrix:直接把交互矩阵喂给diffusion model,缺点是代价高。User-batch:一批user采样,没看懂优点,但是代价没那么高了。User-by-user:一个user一个user来,跟VAE类型差不多

Approximator:本文没有用CV里面比较热门的U-Net,而是选择了Transformer作为近似器,用多头自关注、具有ReLU激活功能的前馈网络、层归一化、丢弃策略和残差连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值