今天跟大家分享一篇来自于香港城市大学、西安交通大学、香港理工大学、密西根大学总结的多模态推荐系统综述,该文章总结了85篇多模态推荐系统相关的文献,已经被期刊ACM Computing Surveys接受。具体的,该文根据统一的范式概括了多模态推荐的三个步骤,并从四个技术技术角度总结了现有的研究。另外,还总结了多模态推荐系统常用的数据集。作者希望通过总结的文章为该领域的学者与实践人员提供一个整体化的视角。
论文: https://dl.acm.org/doi/10.1145/3695461
Github仓库:https://github.com/Applied-Machine-Learning-Lab/Awesome-Multimodal-Recommender-Systems
在本文所介绍的综述中,其对多模态推荐系统的一般流程进行了介绍:
-
特征提取 :在多模态推荐中,每个待推荐物品包括两类特征。一类是表格特征,例如物品的id、类别等。另一类是多模态特征,包括物品的描述性图片、评价文本等。在这一阶段,多模态推荐系统使用模态encoder对多模态特征进行编码,如使用ViT对图片进行处理,使用Bert对文本进行处理。
-
特征交互 :特征提取得到的不同模态特征的表征向量通常在不同的语义空间中,且用户对于不同的模态有不同的偏好。因此,在这一阶段多模态推荐系统对多模态表征进行交互和融合,获取物品和用户的表征向量。
-
推荐 :在得到了用户和物品的表征向量后,可以利用推荐模型去计算推荐概率,从而输出推荐列表。
此外,该综述文章总结了多模态推荐系统的四大挑战:①如何从原始的多模态输入提取复杂的模态特征;②如何融合不同语义空间下的模态表征并获得对每种模态的偏好;③如何在数据稀疏的情况下获得良好的表征;④如何同时优化参数量少的推荐模型和参数量大的模态编码器。
综述文章根据应对上述四大挑战的技术,将现有的多模态推荐研究划分为了四类:模态编码器、特征交互 、 特征增强 和 模型优化 。
1 模态编码器
通常,多模态推荐系统中的模态特征可以分为三大类:视觉的、文本的和其他。我们在如下表格中总结了处理这三种模态特征的编码器。
2 特征交互
多模态数据是指描述信息的各种模态。因为它们是稀疏的并且具有不同的语义空间,将它们连接到推荐任务是必不可少的。特征交互可以通过非线性转换实现将不同特征空间转换为统一的语义空间,最终提升推荐的性能和泛化能力。如图 2 所示,我们将特征交互分为三种类型:桥接 、 融合 和 过滤 。这三个多种类型的技术实现了来自不同视图的交互,因此它们可以同时应用于一个多模态推荐模型。
2.1 桥接
这里的桥接指的是多模态信息传递通道的构建。它专注于根据多模态信息来捕获用户和项目之间的交互关系。多模态推荐与传统推荐的区别在于物品中包含丰富的多媒体信息。早期的研究简单地使用多模态内容来增强物品表达,但他们往往忽略了用户与用户之间的关联关系。图神经网络可以通过消息传递机制来捕获用户和物品之间的交互关系,从而增强用户表征,并进一步捕获用户对不同模态信息的偏好。图 2(a)举个例子:许多研究通过聚合每个模态的交互项目来获得用户1的偏好。此外,电影1的模态表示可以从潜在的项目-项目图中获得。
2.2 融合
多模态推荐场景下,用户和物品的多模态信息类型和数量非常大。因此,有必要融合不同的多模态信息来生成特征向量从而服务推荐模型。与桥接相比,融合更关注物品内的多模态关系。具体来说,它旨在将各种偏好与模式结合起来。由于物品间和和物品内模态关系对于学习物品表征都至关重要,因此许多 MRS 模型甚至同时采用融合和桥接。注意力机制是应用最广泛的特征融合方法,可以灵活地将多模态信息根据关注度和兴趣结合起来。如图 2(b) 所示,首先按融合粒度划分注意力机制,然后介绍 MRS 中存在的其他一些融合方法。
2.3 过滤
由于多模态数据不同于用户交互数据,它包含许多与用户偏好无关的信息。如图 2© 所示,电影3和用户1之间的交互是误交互,应该被移除。过滤在多模态推荐任务中去除噪声数据,通常可以提高推荐性能。值得的注意的是交互图或多模态特征本身可能存在噪声,因此可以分别在桥接和融合中结合过滤的方法。
3 多模态特征增强
同一对象的不同模态表征具有独特和共同的语义信息。如果可以区分这两种特征,MRS的推荐性能和泛化能力可以显著提高。最近,为了解决这个问题,部分工作提出了Disentangled Representation Learning(DRL)和Contrastive Learning(CL)进行基于交互的特征增强,如图3所示。
3.1 解耦表征学习
不同模态的特征由于各种因素对不同的物品有不同程度的偏好。然而,每种模态中不同因素的表示往往是纠缠在一起的,因此许多研究人员引入了解耦学习技术来挖掘用户偏好中的细粒度因素,例如DICER、MacridVAE。此外,一些多模态推荐工作提出通过多模态数据挖掘各种隐藏因素,这些因素以复杂的方式高度纠缠在一起。
3.2 对比学习
与 DRL 不同,对比学习方法通过数据增强来增强表示,这也有助于处理稀疏性问题。MRS中的很多作品都引入了CL损失函数,主要是针对模态对齐和增强正负样本之间的深层特征信息。
4 模型优化
不同于传统的推荐任务,由于多模态信息的存在,当多模态编码器和推荐模型一起训练时,模型训练对计算量的要求会大大提高。因此,多模态推荐模型在训练时可以分为两类:End-to-end训练和两步训练。如图4(a)所示,End-to-end训练可以更新推荐模型的参数。两步训练包括第一阶段预训练编码器和面向任务的优化的第二阶段,如图 4(b) 所示。
4 数据集
在本节中,我们列举了典型的 MRS 数据集,以方便研究人员使用。
5 挑战
最后,我们列出了几个研究的现有挑战:
-
通用解决方案 : 值得注意的是,虽然大部分工作就模型中一些阶段提出了方法,但没有提供这些技术组合的最新通用解决方案。
-
模型可解释性 :多模态模型的复杂性使其推荐难以解释,这会限制用户对系统的信任度和透明度。虽然少数工作提到了它,但它仍然需要探索。
-
计算复杂性 :MRS 需要大量数据和计算资源,这使得将它扩展到大型数据集和用户上具有挑战。多模态数据和模型的复杂性会增加计算量,从而增加推荐生成所需的成本和时间,使其对实时应用程序具有挑战性。
-
隐私 :虽然多模态信息可以通过减轻数据稀疏性使推荐系统受益,但它也增加了隐私泄露的风险。多模态信息丰富条件下如何保护个人隐私对研究人员来说也是一个很大的挑战。
-
一般的MRS数据集 :目前,MRS的数据集仍然有限,覆盖的模态不够广泛。此外,不同模式的数据质量和可用性可能会有所不同,这会影响准确性和推荐的可靠性。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。