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

news2024/11/27 0:22:58

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.coloradmin.cn/o/1173129.html

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

相关文章

相机滤镜软件Nevercenter CameraBag Photo mac中文版特点介绍

Nevercenter CameraBag Photo mac是一款相机和滤镜应用程序,它提供了一系列先进的滤镜、调整工具和预设,可以帮助用户快速地优化和编辑照片。 Nevercenter CameraBag Photo mac软件特点介绍 1. 滤镜:Nevercenter CameraBag Photo提供了超过2…

【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第2章 温湿度传感器AHT10

1 理论分析 1.1 AHT10介绍 AHT10,新一代温湿度传感器在尺寸与智能方面建立了新的标准:它嵌入了适于回流焊的双列扁平无引脚SMD封装,底面4 x 5mm ,高度1.6mm。传感器输出经过标定的数字信号,标准I2C格式。 AHT10 配有一个全新设计的ASIC专用芯片、一个经过改进的MEMS半导体…

难题来了:分库分表后,查询太慢了,如何优化?

说在前面: 尼恩社群中,很多小伙伴反馈, Sharding-JDBC 分页查询的速度超级慢, 怎么处理? 反馈这个问题的小伙伴,很多很多。 而且这个问题,也是面试的核心难题。前段时间,有小伙伴…

一看就懂的java对象内存布局

前言 Java 中一切皆对象,同时对象也是 Java 编程中接触最多的概念,深入理解 Java 对象能够更帮助我们深入地掌握 Java 技术栈。在这篇文章里,我们将从内存的视角,带你深入理解 Java 对象在虚拟机中的表现形式。 学习路线图&…

2023第二届全国大学生数据分析大赛A题思路

某电商平台用户行为分析与挖掘 背景:电商是当今用户最大的交易市场之一,电商行业也逐渐成熟, 所有市场中可售卖的商品全都在平台中存在,并且在网络和疫情的影 响下,在线上的消费行为满足全年龄段用户。 用户的交易行为…

unittest 通过TextTestRunner(buffer=True)打印断言失败case的输出内容

buffer是unittest.TextTestRunner的一个参数,它决定了测试运行时是否将输出结果缓存,并在测试完成后一次性打印。 当buffer设置为True时,测试运行期间的输出结果会被缓存起来,并在测试完成后一次性打印。这对于一些输出频繁的测试…

Lamport Clock算法

Lamport Clock 是一种表达逻辑时间的逻辑时钟(logical clock),能够计算得到历史事件的时间偏序关系。 假设 P0进程是分布式集群中心节点中的监控者,用于统一管理分布式系统中事件的顺序。其他进程在发送消息之前和接受事件消息之后…

操作系统——内存映射文件(王道视频p57)

1.总体概述: 2.传统文件访问方式: 我认为,这种方式最大的劣势在于,如果要对整个文件的不同部分进行多次操作的话,这样确实开销可能会大一些,而且程序员还要指定对应的“分块”载入到内存中 3.内存映射文件…

Qt的事件

2023年11月5日,周日上午 还没写完,不定期更新 目录 事件处理函数的字体特点Qt事件处理的工作原理一些常用的事件处理函数Qt中的事件类型QEvent类的type成员函数可以用来判断事件的类型事件的类型有哪些?有多少种事件类 事件处理函数的字体特…

unittest 通过TextTestRunner(failfast=True),失败或错误时停止执行case

failfast是unittest.TextTestRunner的一个参数,它用于控制测试运行过程中遇到第一个失败或错误的测试方法后是否立即停止执行。 当failfast设置为True时,一旦发现第一个失败或错误的测试方法,测试运行就会立即停止,并输出相应的失…

插值表达式 {{}}

前言 持续学习总结输出中,今天分享的是插值表达式 {{}} Vue插值表达式是一种Vue的模板语法,我们可以在模板中动态地用插值表达式渲染出Vue提供的数据绑定到视图中。插值表达式使用双大括号{{ }}将表达式包裹起来。 1.作用: 利用表达式进行…

教你烧录Jetson Orin Nano的ubuntu20.04镜像

Jetson Orin Nano烧录镜像 视频讲解 教你烧录Jetson Orin Nano的ubuntu20.04镜像 1. 下载sdk manager https://developer.nvidia.com/sdk-manager sudo dpkg -i xxxx.deb2. 进入recovery 插上typeC后,短接J14的FORCE_RECOVERY和GND,上电 如下图&#…

【调度算法】单机调度遗传算法

问题描述 工件ABCDEFG工件编号0123456加工时间4765835到达时间3245321交货期10153024141320 目标函数 最小化交货期总延时时间 运算结果 最佳调度顺序: [6, 3, 2, 5, 0, 1, 4] 最小交货期延时时间: 47python代码 import random import numpy as np…

自动驾驶行业观察之2023上海车展-----智驾供应链(3)

智驾解决方案商发展 华为:五项重磅技术更新,重点发布华为ADS 2.0和鸿蒙OS 3.0 1)产品方案:五大解决方案都有了全面的升级,分别推出了ADS 2.0、鸿蒙OS 3.0、iDVP智能汽车数字平台、智能车云服务和华为车载光最新 产品…

linux下使用vscode对C++项目进行编译

项目的目录结构 头文件swap.h 在自定义的头文件中写函数的声明。 // 函数的声明 void swap(int a,int b);swap.cpp 导入函数的声明&#xff0c;写函数的定义 #include "swap.h" // 双引号表示自定义的头文件 #include <iostream> using namespace std;// 函…

2023年中国商业密码行业研究报告

第一章 行业概况 1.1 定义及分类 根据《密码法》相关规定&#xff0c;密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。 密码产业是指为了保障信息安全&#xff0c;提供加密保护、安全认证相关技术、产品和服务的相关行业总称&#xff0c;主 要…

为机器学习算法准备数据(Machine Learning 研习之八)

本文还是同样建立在前两篇的基础之上的&#xff01; 属性组合实验 希望前面的部分能让您了解探索数据并获得洞察力的几种方法。您发现了一些数据怪癖&#xff0c;您可能希望在将数据提供给机器学习算法之前对其进行清理&#xff0c;并且发现了属性之间有趣的相关性&#xff0c…

python 机器学习 常用函数

一 np.random.randint "randint" 是 "random integer" 的缩写&#xff0c;表示生成随机整数。 np.random.randint 是 NumPy 库中的一个函数&#xff0c;用于生成随机整数。以下是该函数的一般语法&#xff1a; np.random.randint(low, high, size)其中…

MongDB 的安装 无废话

MongDB 的安装 1 安装 MongDB https://www.mongodb.com/try/download/community-kubernetes-operator 这里我们选择 ZIP 解压到文件夹 创建 data 文件 在 data 文件夹里面创建 db 和 logs 文件夹 进入 bin 目录 输入 cmd 回车 2 启动 MongDB 输入启动命令 mongod --dbpath..\…

[JavaWeb]——Spring事务管理和@Transactional注解

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 Spring中的事务管理 问题抛出&#xff1a; 解决方案&#xff1a; Transactional注解&#xff1a; rollbackFor属性&#xff1a; propagation属性&#xff1a; 应用&#xff1a; &#x1f4d5;总结 知识回…