ACM MM 2023 | 清华、华为联合提出MISSRec:兴趣感知的多模态序列推荐预训练

5d2da08a412cb9bb7b1626d2f497b3a5.gif

©PaperWeekly 原创 · 作者 | 王锦鹏

单位 | 清华大学深圳国际研究生院

研究方向 | 多模态检索、推荐系统

序列推荐是一种主流的推荐范式,目的是从用户的历史行为中推测用户偏好,并为之推荐感兴趣的物品。现有的大部分模型都是基于 ID 和类目等信息做推荐,在可扩展性和迁移性方面存在劣势。近期的一些工作(如 UniSRec [1]、VQ-Rec [2]、RecFormer [3] 等)提出使用文本内容学习通用的物品和序列表征,打开了结合内容分析的序列推荐的新研究点。

虽然文本信息能部分反映物品信息以及用户偏好,但推荐场景的需求经常是多模态的,比如在商品和短视频推荐中,图文信息都会影响用户的行为(如浏览、购买)。多模态信息是否有助于序列推荐?怎么利用多模态信息挖掘个性化偏好?这些目前还都是待探究的问题。

在下面这篇论文中,来自清华和华为的研究者针对这些问题提出了兴趣感知的多模态序列推荐预训练方法,为多模态序列推荐任务提供了一种通用的解决方案。

233673f9fee918d25f46fbefef1568c7.png

论文题目:

MISSRec: Pre-training and Transferring Multi-modal Interest-aware Sequence Representation for Recommendation

收录会议:

ACM MM 2023

论文链接:

https://arxiv.org/abs/2308.11175

代码链接:

https://github.com/gimpong/MM23-MISSRec

69e64cafc1224f82dcbfa67a81dec11e.png

背景

序列推荐是一个自回归的预测任务:根据用户的历史行为(如浏览)序列,预测用户下一个行为,如可能浏览的物品。典型的序列推荐模型(如 SASRec [4]、BERT4Rec [5] 等)大部分基于 ID 和类目等信息学习物品和用户行为序列的表征,存在以下问题:

1. 少见物品的表征学习欠拟合,具体表现是在长尾物品上推荐效果差;

2. 可扩展性较差,加入新的物品后,存在冷启动问题;

3. 在一个领域上训练完成的模型,难以迁移到其他领域。更普遍地,当 ID 集合完全不相交时,各个领域就形成一座座“数据孤岛”——即便模式相似,知识也难以迁移。

为了解决上述问题,我们的目光不再局限于依据 ID 信息来表征物品和序列,而是从物品多模态内容入手建模个性化。我们的直觉是,用户的决策是一个综合了多模态信息处理的过程。例如,对于商品的图文介绍,贴合需求的标题描述和精美的图片都可能吸引用户的关注。因此,我们认为多模态信息的有助于准确地描述物品和用户偏好,并且该信息基本不受热度(频次)影响。

此外,使用多模态信息的另一优势是跨场景的通用性。只要能获取到物品的描述文本、图片等元数据,我们就可以统一多场景的训练和推荐服务。如图 1 所示,我们期望借鉴 CV 和 NLP 的成功经验,通过预训练技术发掘蕴含在多模态信息中的领域通用的个性化模式,并通过微调实现推荐知识的高效迁移,达到多领域“共同提升”的效果。

264d6acef893516fd19e3608084c1a16.png

▲ 图1:从单领域训练转变为多领域数据联合训练,每个圆圈代表一个推荐领域(或场景)。使用多模态信息,可以将多个推荐领域的数据联合起来预训练,再通过微调模型适配到具体领域,这样做相比单领域训练有 “1+1>2” 的潜力。

对于这样一个目标,我们认为挑战主要有两点,如图 2 所示:1)不同用户对物品的多模态信息关注度不同,比如在商品推荐中,不同用户对文本和图片的关注程度可能不同;2)用户的历史序列可能同时刻画了多种类型的偏好,且不同偏好的占比是不均衡的。比如在购物平台上,食物或日用品的购买次数可能比较多,而笔记本电脑等数码产品则一般相对较少。

da1aa68e062632b5728faf259ed6b388.png

▲ 图2:多模态序列推荐的挑战说明。(a)不同用户对不同模态的关注度有差别。(b)在用户的行为序列中可能包含多种偏好,且不同偏好的占比不同。

dcdfbd2dea1a57670044f11da587cc73.png

方法

针对上述挑战,我们提出了一个兴趣感知的多模态序列推荐预训练方法,称为 MISSRec (Multi-modal IntereSt-aware Sequence representation for Recommendation)。

2.1 模型总览

c7ec5e06a2fe8bf01c550097b34deb65.png

▲ 图3:模型框架图

如图 3 所示,MISSRec 包含了 “ID 无关的多模态预训练”以及“参数高效微调”两个阶段。在模型设计上,我们搭建了一个包含编码器和解码器的 Transformer 模型用于行为序列表征,并设计了多模态适配器、多模态兴趣发现模块等组件辅助建模。

给定一个行为序列,其中每个元素是一个物品。序列表征模型的工作流程是:

  • 从行为序列中提取多模态信息:使用冻结的预训练的 CLIP 提取每个物品的文本和图片特征,并使用 Dropout 处理。分别使用文本和图片的特征适配器,将特征投影到推荐任务的语义空间,并通过相加或者拼接的方式,形成多模态 token 序列;

  • 从行为序列中提取用户的多模态兴趣表征:得到多模态 token 序列后,使用一个多模态兴趣发现模块(Multi-modal Interest Discovery Module),将多模态 token 序列转换为多模态兴趣 token 序列;

  • 编码多模态兴趣的上下文表示:将多模态兴趣 token 序列送入 Transformer 编码器模块,获取多模态兴趣的上下文表示,作为解码模块的 memory(key  和 value);

  • 兴趣感知的解码:将多模态 token 序列作为解码的 query,送入 Transformer 解码器模块,以序列末尾位置的输出作为整个序列的表征。

2.2 多模态兴趣挖掘

为了分析用户的多模态兴趣偏好,我们在整个物品集合的多模态token空间中进行聚类,选择的聚类算法名为 DPC-KNN [6]。

具体来说,假设整个多模态 token 集合记为 。我们首先计算每个 token 的局部密度分数,以第 个 token 为例,计算方式如下

46733bae6d062aa0826f81ee21b829a9.png

其中 表示 的 近邻集合。其次,我们计算每个 token 到密度峰值的最小距离,以第 个 token 为例,计算方式如下

b43d83649cfb827359b7b9892150e490.png

上述公式的含义是,如果存在密度分数比自身大的 token 存在,那么返回符合条件的最小距离;否则返回到集合中任一点的最大距离。选择聚类中心的依据是,挑选分数 最大的 k 个 token 作为 k 个聚类中心。在 MISSRec 的设定中,聚类中心代表多模态兴趣的原型表征。

确定聚类中心后,我们记录集合 中的每个 token 被分配到哪个聚类中心,存储为映射表,代表每个 token 分别反映了用户的何种兴趣。在我们的实现中,多模态兴趣挖掘在每个训练 epoch 的启动前执行一次,即多模态兴趣的原型表征和映射表会在每个 epoch 启动前更新一次。

在序列表征模型的工作流程中,多模态兴趣发现模块负责将多模态 token 序列转化为多模态兴趣 token 序列。转化的方式是收集整个序列的兴趣映射结果并去重,返回原 token 序列包含的兴趣的原型表征,如图 4 所示。去重的目的是消除兴趣比例不均衡的影响。

4b0c127c452d3525fe5dd162c6dc1f81.png

▲ 图4:多模态兴趣发现模块的工作方式

2.3 自适应的用户-物品多模态匹配

在计算用户-物品的匹配分数时,我们设计了一种自适应的多模态融合机制,以建模不同用户对物品多模态信息的差异化关注。

记 是第 个用户的序列表征, 和 分别是第 个物品的文本 token 和图片 token。用户个性化的物品表征通过以下方式计算:

8870ea8fb9f741eff11437d28a8a769f.png

其中 是一个可学习的控制系数。我们简记 和 分别为用户和物品单模态的匹配分数。相应地,用户-物品整体的匹配分数计算方式是

cd8812282b381a503f9e33c3192fbe05.png

注意到,这种自适应的机制等价于提前先计算用户-物品单模态的匹配分数,再进行融合。融合的方式介于取平均()和取最大()之间。

2.4 优化目标

预训练的任务包含序列-物品匹配的对比学习、序列表征自监督对比学习、多模态兴趣表征的多样性正则。预训练的损失函数计算如下:

64df14bfbf11b05d55541928db7cf83c.png

为了提高微调阶段的训练效率,我们去掉了序列的自监督表征训练,损失函数计算如下:

6a6867df7117c1a4ebe2244ae489122d.png

此外,我们仅微调多模态特征适配器,模型的其余部分保持冻结,以达到参数高效性。

f9d0eec40c3608a4c3815d88224447e5.png

实验分析

3.1 数据集

我们选用 Amazon Review 数据集进行实验,在其中选取了 Food、CDs、Kindle、Movies 和 Home 这 5 个领域作为预训练数据集,选取 Scientific、Pantry、Instruments、Arts 和 Office 这 5 个领域作为下游微调数据集。数据集的统计信息见 Table 1。

f1e35f0ac8acfac294aea398585460fc.png

该数据集在元数据中提供了物品的标题、类目等文本信息,并提供了图片链接。我们根据链接下载了部分图片,其余图片由于链接失效或网络问题未能爬取到。可以观察到图片模态的缺失比较严重,我们选择保留这些缺失模态的物品而不是过滤它们,目的是和现有方法公平对比。

我们使用预训练的 CLIP-ViT-B/32 模型抽取文本特征和图片特征,相关数据我们也已在开源仓库中共享。

3.2 实验结果

97d83b94d4a37524f74d8e1c6936ec97.png

我们对比了 MISSRec 和使用多种不同信息的序列推荐基线。如 Table 2 所示,MISSRec 有非常强的竞争力,在大多数领域的大多数指标上超越了现有方法,在剩余部分指标上也达到了和最先进方法相当的水平,证明了多模态信息的有效性以及 MISSRec 的优势。

fa340f9b620e7ffeabaa532a9375958a.png

我们还研究了不同模型在低频物品上的表现。如 Figure 4 所示,横轴表示物品在训练集中的出现频次的区间,灰色直方图表示物品在测试集上的总出现频次(样本数),折线图表示在测试集上的相对的召回性能(以 SASRec为基准)。从图上可以看出 MISSRec 在长尾、冷启动物品上的显著优势,侧面证明了多模态信息在推荐中的价值。

36c82a25a7d42f29ddf5931d9ee28bfa.png

我们还探究了在下游目标领域结合使用 ID 信息的效果,以及预训练的影响。如 Table 4 所示,首先可以观察在下游结合 ID 信息的增益,特别是在物品数量更多的 Office 数据集上。我们认为的原因是,多模态信息反映物品的属性,刻画的是物品间的可迁移的共性(“哪一类”);而 ID 信息则刻画物品特性(“哪一个”)。随着物品增加,物品间的辨识难度提升,于是在表征中建模特性的需求也相应增加。

此外,预训练在大多数情况下可以提升下游领域的推荐效果,但在某些设定下,MISSRec 的迁移效果仍然不理想,比如在 Office 数据集上不使用 ID 信息进行微调,出现了负向迁移的现象。除了部分原因是参数高效微调的设定限制了领域适应的效果外,还有一部分原因是推荐应用的不同领域间行为模式的差异较大,而 MISSRec 的设计还不足以解决这个问题。这是目前留给我们和社区的一个改进目标。

0c47058008aa557a15ac9f230fa8943e.png

结论

本文的目标是使用多模态信息改善序列推荐的可扩展性和迁移性。我们提出了兴趣感知的多模态序列推荐预训练方法 MISSRec,为多模态序列推荐任务提供了一种的通用的解决方案。在 MISSRec 中,我们搭建了一个包含编码器和解码器的 Transformer 模型用于行为序列表征,并设计了多模态适配器、多模态兴趣发现模块、自适应的用户-物品匹配等组件或机制辅助建模。通过实验,我们展示了 MISSRec 的优势和不足。相关代码和预处理数据已经开源,便于大家使用。

outside_default.png

参考文献

outside_default.png

[1] Hou Y, Mu S, Zhao W X, et al. Towards universal sequence representation learning for recommender systems[C]//Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 2022: 585-593.

[2] Hou Y, He Z, McAuley J, et al. Learning vector-quantized item representation for transferable sequential recommenders[C]//Proceedings of the ACM Web Conference 2023. 2023: 1162-1171.

[3] Li J, Wang M, Li J, et al. Text Is All You Need: Learning Language Representations for Sequential Recommendation[C]//Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 2023: 1258-1267.

[4] Kang W C, McAuley J. Self-attentive sequential recommendation[C]//2018 IEEE international conference on data mining. 2018: 197-206.

[5] Sun F, Liu J, Wu J, et al. BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer[C]//Proceedings of the 28th ACM international conference on information and knowledge management. 2019: 1441-1450.

[6] Du M, Ding S, Jia H. Study on density peaks clustering based on k-nearest neighbors and principal component analysis[J]. Knowledge-Based Systems, 2016, 99: 135-145.

更多阅读

46237b0eac7826a01b99808cbaf8d462.png

2f418f618c646fc2c30d07274761d725.png

5d7adf22ee4a8c9825891fc54808b53f.png

38fee927e154c3d6022e5e334d94bb21.gif

#投 稿 通 道#

 让你的文字被更多人看到 

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

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

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

📝 稿件基本要求:

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

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

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

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

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

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

2cdd303fe403f48a491f01616587e8ac.png

△长按添加PaperWeekly小编

🔍

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

进入知乎首页搜索「PaperWeekly」

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

·

·

9a40371e255858978dd423d3f2dbec4c.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何搭建低成本亚马逊aws云服务器

0. 环境 win10 火狐浏览器 1. 登录 https://aws.amazon.com/cn/ -> 登录 -> 根用户 -> ********, **** 如果未有,需要注册,去年我注册的,麻烦之处是需要添加信用卡。可以淘宝aws搜索商家帮忙处理。 2. 控制台 在控制台主页&…

Leetcode41缺失的第一个正数

思路:原地哈希表 长度为N的数组,没有出现过的正整数一定是1~N1中的一个。 此时会思考能不能用一个哈希表来保存出现过的1~N1的数,然后从 1 开始依次枚举正整数,并判断其是否在哈希表中 但是题目要求常数级别的空间,就不…

VB.NET—窗体引起的乌龙事件

目录 前言: 过程: 总结: 升华: 前言: 分享一个VB.NET遇到的一个问题,开始一直没有解决,这个问题阻碍了很长时间,成功的变成我路上的绊脚石,千方百计的想要绕过去,但事与愿违怎么也绕不过去,因为运行不了…

本地idea远程调试服务器程序

本文主要介绍idea本地调试远程服务器程序的方式。相信很多同行跟我一样,在最初接触公司项目的时候,遇到测试提出的缺陷,往往会在本地进行调试、替换jar包远程调试等方式,本地调试往往会导致数据和环境不一致的问题使得问题无法复现…

生成带分表和水印的excel压缩文件

功能描述 将查询结果生成带分表和水印的excel压缩文件 功能点 1、将查询结果导出为excel文件 2、每个表格存放50万条数据&#xff0c;超过50万条数据&#xff0c;生成新的分表 3、生成的表格需要添加水印 4、将生成的全部分表&#xff0c;打包成zip压缩文件 引入依赖 <…

SpringMVC Day 11 : 零 xml 配置

前言 欢迎来到《Spring MVC Day 11: 零XML配置》&#xff01;在之前的学习中&#xff0c;我们已经掌握了如何使用Spring MVC框架构建灵活、高效的Web应用程序。然而&#xff0c;我们可能还记得那些繁琐的XML配置文件&#xff0c;它们是我们在过去几天中使用的方式。 好消息是…

Stable Diffusion 的提示词使用技巧

推荐Stable Diffusion自动纹理工具&#xff1a; DreamTexture.js自动纹理化开发包 什么是提示语&#xff1f; 提示语是人工智能中的一个重要组成部分&#xff0c;尤其是自然语言处理 &#xff08;NLP&#xff09;。在AI自人工智能中&#xff0c;想要获得好的效果&#xff0c;简…

JavaScript执行上下文和调用栈

上节课我们已经说过了&#xff0c;JavaScript的代码执行是发生在js引擎中的调用堆栈的&#xff0c;但是具体是如何运行的&#xff0c;我们来详细剖析一下 如何执行上下文 执行上下文&#xff1a; 执行上下文是指在JavaScript中代码被执行时所创建的环境。它包含了变量、函数、…

uni-app学习笔记

目录 一、前期准备 1、项目认识 2、pages.json基本配置 3、创建页面 二、tabBar 1、获取图标 2、代码配置 三、基础认识 1、页面生命周期 2、App.vue应用生命周期 四、基础组件 1、scroll-view可滚动视图区域 2、提示框 3、swiper滑块视图容器 4、form表单组件 一…

【漏洞复现】Apache_HTTP_2.4.49_路径穿越漏洞(CVE-2021-41773)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞验证方式一 curl方式二 bp抓包 说明内容漏洞编号CVE-2021-41773漏洞名称Apache HTTP 路径穿越漏洞漏…

新手入门Python一定要看的八个超实用建议!

文章目录 前言一、项目文件事先做好归档二、永远不要手动修改源数据并且做好备份三、做好路径的正确配置四、代码必要的地方做好备注与说明五、加速你的Python循环代码六、可视化你的循环代码进度七、使用高效的异常捕获工具八、要多考虑代码健壮性关于Python技术储备一、Pytho…

[PyTorch][chapter 61][强化学习-免模型学习1]

前言&#xff1a; 在现实的学习任务中&#xff0c;环境 其中的转移概率P,奖赏函数R 是未知的&#xff0c;或者状态X也是未知的 称为免模型学习&#xff08;model-free learning&#xff09; 目录&#xff1a; 1: 蒙特卡洛强化学习 2&#xff1a;同策略-蒙特卡洛强化学习 3&am…

手写数字识别--神经网络实验

实验源码自取&#xff1a; 我自己搞的代码&#xff0c;预测精度才94% 神经网络实验报告源码.zip - 蓝奏云 老师给的实验源码答案和资料&#xff0c;预测精度高达99% 深度学习实验报告.zip - 蓝奏云 上深度学习的课程&#xff0c;老师布置了一个经典的实验报告&#xff0c;我做…

libpcap之数据分流

当前系统都是多核系统&#xff0c;为了充分利用多核优势&#xff0c;数据包可以在底层就进行分流&#xff0c;可以通过多线程/多进程对同一个接口的数据进行并行的处理。 一、实验 一个server/client程序一个简单的抓包程序&#xff0c;抓取server/client之间的通信数据 1.1 …

【蓝桥杯 第十四届省赛Java B组】真题训练(A - C)正在更新

目录 A、阶乘求和 - BigInteger B、幸运数字 - 字符串 进制转换 暴力大法 C、数组分割 - A、阶乘求和 - BigInteger 思路&#xff1a; 当时比赛时&#xff0c;拿计算器算的&#xff0c;然后辛辛苦苦也没对 看到这个数肯定很大&#xff0c;而且只求后9位&#xff0c;阶乘越…

【计算机网络】应用层

应用层协议原理 客户-服务器体系结构&#xff1a; 特点&#xff1a;客户之间不能直接通信&#xff1b;服务器具有周知的&#xff0c;固定的地址&#xff0c;该地址称为IP地址。 配备大量主机的数据中心常被用于创建强大的虚拟服务器&#xff1b;P2P体系结构&#xff1a; 特点&…

K8S知识点(二)

&#xff08;1&#xff09;K8S概念 K8S是通过控制pod来控制容器进而控制程序的 service是沟通Pod和外键的桥梁&#xff0c;可以实现负载均衡的效果&#xff0c;加权负载的效果 &#xff08;2&#xff09;环境搭建-环境规划 &#xff08;3&#xff09;环境搭建-主机安装 使用…

时序分解 | Matlab实现PSO-VMD粒子群算法优化变分模态分解时间序列信号分解

时序分解 | Matlab实现PSO-VMD粒子群算法优化变分模态分解时间序列信号分解 目录 时序分解 | Matlab实现PSO-VMD粒子群算法优化变分模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 PSO-VMD粒子群算法PSO优化VMD变分模态分解 可直接运行 分解效果…

2023-11-04 LeetCode每日一题(数组中两个数的最大异或值)

2023-11-04每日一题 一、题目编号 421. 数组中两个数的最大异或值二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums &#xff0c;返回 nums[i] XOR nums[j] 的最大运算结果&#xff0c;其中 0 ≤ i ≤ j < n 。 示例 1&#xff1a; 示例 2&…