Personalized Prompt for Sequential Recommendation论文阅读笔记
Abstract
由于推荐的标记(即项目)是百万级的,没有具体的可解释语义,推荐中的序列建模应该是个性化的,因此将NLP的提示调整到推荐中的序列调整是具有挑战性的。
在这项工作中,我们首先介绍了提示推荐模型,并提出了一种新的个性化提示的基于冷启动推荐(PPR)框架。具体来说,我们通过基于用户配置文件的提示生成器建立个性化软提示,并通过新的面向提示的对比学习对提示进行充分训练。
PPR在各种任务中都是有效的、参数高效的和通用的。在少镜头和零镜头推荐任务中,PPR模型在三个大规模数据集上实现了比基线的显著改进。我们还验证了PPR在采用不同的推荐模型作为主干时的普遍性。最后,我们探索并确认了PPR在其他任务上的能力,如跨领域推荐和用户轮廓预测,为更好地使用大规模预训练推荐模型的未来有前景的方向提供了线索。
Introduction
序列推荐以用户的历史行为序列作为下一个预测项的输入和输出。有很多努力将预训练引入到顺序推荐中。这些预训练的推荐模型通常在NLP中考虑用户行为序列作为令牌序列,利用预训练技术来提高用户行为的序列建模能力,从而缓解现实推荐系统中的稀疏性问题。
如何有效地从大规模的预训练模型中提取有用的信息已成为一个很有前途的方向。提示调优是一种具有代表性和强大的方法,比经典的微调范式具有显著的优势,特别是在零镜头和少镜头场景中。它通常插入硬文本模板或软连续嵌入作为提示,并将下游任务转换为类似的训练良好的预训练任务。
提示调优的优点在于两个方面:
(1)弥合了预训练和下游目标之间的差距,可以更好地利用预训练模型中的知识。这种优势将在冷启动的情况下成倍增加。
(2)提示调优只需要为提示和标签调优一小部分参数,这样的参数效率更高。回顾顺序推荐任务,冷启动用户问题(包括零射击和少镜头场景)是关键的挑战,因为在现实世界系统中的交互稀疏性。在这项工作中,通过广泛采用预训练技术来解决冷启动问题,我们尝试引入提示调优,以更好地从巨大的预训练推荐模型中提取信息性知识。
然而,由于以下挑战,在推荐中采用提示并非易事:
(1)如何将提示调优范式从NLP转换为推荐?与NLP中的单词不同,推荐中的项目没有具体的语义意义,因此不能直接用于构建硬的可解释的提示来提示预先训练好的模型。此外,设计一个适当的框架来充分利用各种推荐任务的预培训知识也具有挑战性。
(2)如何构建有效的个性化推荐提示?与NLP相比,推荐进一步强调了个性化。因此,推荐的提示应该更好地个性化,以便更有针对性地从庞大的预训练推荐模型中提取用户相关知识到下游任务中。
为了解决这些挑战,我们提出了一种新的基于个性化的基于提示的推荐(PPR)框架,该框架首先在推荐模型中采用提示调优。具体来说,PPR采用了个性化的软前缀提示,通过提示生成器学习用户信息,优雅地提示预先训练的模型在通用调优框架内为各种下游推荐任务提供用户相关知识。我们还提出了一种基于提示的对比学习,通过基于提示和基于行为的数据增强,以进一步增强对数据稀疏性的提示训练。与微调相比,PPR具有以下优点:
(1) PPR能够对推荐模型进行提示调整,使在下游任务中使用预训练更有效、个性化和更高的参数效率。
(2) PPR在提示增强的行为序列上设计了一套面向提示的对比学习损失,从而对提示进行了更充分的训练。
(3) PPR具有有效、参数高效、通用、易于部署的优点,可以方便地应用于各种推荐模型和跨域推荐、用户配置文件预测等下游任务中。
本文的主要贡献如下:
- 针对各种推荐任务,我们提出了一种新的基于个性化提示的推荐框架。据我们所知,我们是第一个采用提示调优来更好地从预先训练过的推荐模型中提取知识的人。
- 我们设计了一种新的以提示为导向的对比学习,同时考虑了基于提示和基于行为的增强,从而实现了更充分的训练。
Method
以下是传统微调和PPR的对比
Preliminaries
在这项工作中,我们提出了基于个性化提示的个性化推荐,以基于预训练的顺序建议模型为(冷启动)下游任务提供更有效的参数化调优。PPR试图通过提示调优而不是微调来更好地从预先训练过的模型中提取有用的个性化信息,因此微调是最重要的基线。确切地说,我们的PPR关注的主要任务是冷启动推荐(因为提示调整在少镜头学习中有很好的功能),它包括少镜头推荐和零镜头推荐。此外,我们还将PPR部署用于其他下游任务,如跨域推荐和用户档案预测。
Framework
对于每个用户,我们首先通过提示生成器根据用户配置文件构建个性化的提示,并将它们插入到用户行为序列的开头。然后,将提示增强的序列输入到加热的序列模型中,以生成用户的行为表示。此外,除了提示生成器之外,用户配置文件还被进一步输入到另一个深度模型中,以生成用户的属性级表示。最后,将用户的行为级偏好和属性级偏好相结合,得到最终的用户表示形式。为了对个性化提示进行更充分的训练,我们进一步设计了一个面向提示的对比学习损失,在提示生成器和序列建模部分上都采用了两种增强方法。我们针对不同的实际需求设计了两个PPR版本。在PPR(轻量)中,加热模型在调优过程中是固定的,作为NLP中的经典提示调优,其参数效率更高。而在PPR(完整的)中,所有的提示和加热的参数都是专门根据推荐的特性进行调整的。
注:这里训练后的模型称为暖模型,这里的暖模型是一个顺序模型,通过用户的历史行为学习用户的表示
PPR暖训练阶段
这个也就是图里面的Sequence Model,核心思想就是利用用户的Profile生成对应的Prompt
过了一层Transformer获取了用户的表示,损失函数采用的是BPR损失函数。与 NLP 中通常采用掩码语言模型(MLM)预训练任务的经典 prompt-tuning 不同,PPR 在预训练中主要集中于next-item预测任务。这是因为下一项预测任务与 PPR 的下游任务(冷启动推荐和用户资料预测)完美契合,可以激发提示的最大潜力。
个性化的提示调优
在温暖训练后,PPR进行个性化的提示,而不是微调,以更好地从温暖的模型中提取到下游任务的有用信息。
个性化的提示生成器
我们的PPR的关键是生成一个有效的提示,帮助缩小预先训练的模型和下游任务之间的差距。然而,在推荐中找到合适的提示具有挑战性,因为
(1)很难在PPR中构建硬提示(即一些真正的令牌)。与NLP中的单词不同,推荐中的标记(即项)没有明确的有意义的语义。
(2)此外,与NLP不同的是,推荐应该是个性化的。因此,还应该为不同的用户定制提示。从某种意义上说,每个用户的推荐可以被视为一个任务,而在现实系统中有数百万用户。不可能为每个用户手动设计提示。
也就是利用用户档案来创建提示。然后因为受前缀调优的启发,将用户的Prompt作为前缀,将其与用户行为序列连接起来。
我们的PPR自然地将异构用户配置文件融合到用户历史行为中,并通过从温暖的推荐模型继承的联合顺序建模对它们进行建模。在这种情况下,隐藏在温暖的推荐模型中的用户相关知识可以被完全激活为下游任务,这在冷启动场景中是必不可少的
PPR中的提示调优
在生成个性化提示后,我们需要构建最终的用户表示形式来进行推荐。我们首先将提示增强的序列输入到等式中的加热序列模型中得到用户的行为偏好。我们还使用了一个深度模型(MLP)来从用户配置文件中学习用户属性偏好
\(\boldsymbol{u}_p=\boldsymbol{u}_a+\boldsymbol{u}_s,\quad\boldsymbol{u}_a=\mathrm{MLP}_a(\boldsymbol{x}_u|\phi),\quad\boldsymbol{u}_s=f_{seq}(\hat{s}_u|\Theta,\vartheta).\)
损失函数还是用的BPR损失函数
提示导向的对比学习
基于提示的增强
增强方式就是对用户的Profile进行元素级mask,然后通过这些掩码后的Profile生成增强
基于行为的增强
类似,也是对用户的行为进行mask
总结
最后记录一下本文的亮点:
首先是利用prompt的扰动来进行对比
然后是利用用户的profile来生成embedding以及Prompt
Prompt的使用方式(插入到序列前面)也是一个值得参考的思路
标签:Prompt,提示,推荐,用户,PPR,Sequential,Recommendation,模型,个性化 From: https://www.cnblogs.com/anewpro-techshare/p/18221191