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)。
对于上图,首先考虑一个静态item嵌入:,并且把它当作是项目
所涵盖的固有的潜在方面的语义编码,目标是通过扩散模型反向过程,从历史交互序列S中恢复目标项。
将经过 S-扩散 (s-diffusion steps)的噪声目标项表示 x𝑠 视为从 𝑞(·) 采样的分布表示,就可以使用 x𝑠 调整 S 中每个历史项目的表示,从而利用目标项目的指导作为辅助语义信号,最后,将调整后得到的表示 Z𝑥𝑠 = [z1, z2, · · ·, z𝑛] 被输入到近似器𝑓𝜃 (·) 中。这部分模型训练是为了让被近似器重建的与目标项目的嵌入
更接近。
反向过程:首先从标准高斯噪声中采样带噪声的目标项目表示,然后把
输入训练好的对
近似器𝑓𝜃 中去,调整出结果表示Zxt,然后根据扩散模型的公式,
和
通过𝑝(·)可以反转得到
,通过迭代最终得到
。
最终,使用舍入函数将反向连续表示x0映射为目标项目的离散候选项目索引。
本文共提了三种diffusion的方式,Full-matrix:直接把交互矩阵喂给diffusion model,缺点是代价高。User-batch:一批user采样,没看懂优点,但是代价没那么高了。User-by-user:一个user一个user来,跟VAE类型差不多
Approximator:本文没有用CV里面比较热门的U-Net,而是选择了Transformer作为近似器,用多头自关注、具有ReLU激活功能的前馈网络、层归一化、丢弃策略和残差连接