[!Tip] 学业生涯的最后一篇论文笔记。你与我最后的战场,亦或是世界起始的圣战。
引言
推荐系统的主要功能是预测用户对各种项目的评分或偏好,并根据历史交互数据和公开信息推荐最可能和最相关的项目。然而,传统的基于 ID 的推荐方法基于用户倾向于选择与他们以前喜欢的项目类似的项目的原则,通常强烈依赖于足够的用户项目交互。尽管取得了成功,推荐系统仍面临两大挑战:数据稀疏性和冷启动问题。数据稀疏性源于用户和产品之间交互数据的自然稀疏性,这使得准确预测用户的偏好变得困难。这种稀疏性可能会导致不可靠的推荐,特别是在商品目录较大但用户交互相对较少的系统中。冷启动问题的发生是因为传统的推荐系统模型严重依赖 ID 嵌入,在几乎没有历史交互数据的情况下,很难对新用户或产品做出令人满意的预测。在不断引入新项目和用户的动态环境中,这一挑战尤为明显。
为了缓解这些问题,多模式信息正越来越多地被整合到推荐系统中。MRS 利用辅助多模式信息,如文本、图像、视频和音频,来补充用户和项目之间的历史交互。这种方法通过更丰富、更全面地了解用户偏好来提高推荐性能。推荐系统的基本目标是迎合人们的偏好,由于人类对世界的感知本质上是多模态的,因此结合不同的模态信息可以在更精细的粒度上捕捉偏好。这导致了更准确和个性化的推荐,从而提高了用户满意度和参与度。
技术分类
基于对当前 SOTA MRS 工作的总结和组织,将 MRS 中的技术分为四个部分:特征提取、编码器、多模态融合和损失函数。
特征提取
不同的应用场景包含不同类型的模态信息,导致具有不同多模态特征的不同数据集。然而,大多数数据集至少包括三种主要模式:交互、视觉和文本。例如,亚马逊、Netflix 和 TikTok 等大型平台提供了丰富的图像和文本信息数据集,从而涵盖了视觉和文本形式。具体来说,TikTok 数据集通常包括其他模式,如音频和视频。此外,来自专业领域的数据集有时具有罕见的模式。例如,时尚和医疗保健等热门领域的数据集通常包括各种专业模式。
特征提取是一个关键过程,旨在使用嵌入技术表示低维、可解释的信道特征。不同的模态采用不同的预提取方法。对于视觉模态,使用 ResNet 和 ViT 等模型来提取特征。在文本模态的情况下,使用 BERT 和 Sentence-Transformer 等模型来推导特征。音频特征通常使用 LSTM 和 GRU 等模型提取。
编码器
编码器利用从多模态信息和历史交互数据中提取的特征来推断用户偏好表示,随后用于预测用户 - 项目交互以进行推荐。与传统的推荐系统类似,用于多模态推荐的编码器可以大致分为基于矩阵分解(MF)和基于图卷积网络(Graph)的方法。基于 MF-based 的方法以其简单性和有效性而闻名,而基于图的方法利用用户项目交互中固有的二分图来学习高阶邻居特征。
随着 MRS 的快速发展,人们提出并利用了更复杂的编码器来充分利用丰富的多模态信息,从而提高了推荐性能。这些先进的编码器能够集成各种多模态数据,从而提供更准确和个性化的建议。
多模态融合
多模态融合是 MRS 的重点之一。最近的研究表明,模态融合的时机会显著影响建议的有效性。多模态融合涉及在不同阶段整合来自不同模态的信息,而这个时机对于实现最佳性能至关重要。
- Early Fusion: 早期融合涉及在编码器处理之前组合不同的模态特征。这种方法可以有效地揭示模态之间的隐藏关系,因为集成的多模态特征允许编码器学习更丰富、更高质量的表示。早期融合可以捕捉不同类型数据(如文本、图像和音频)之间的复杂交互,从而更全面地了解用户偏好。早期融合技术通常包括连接、注意力机制和基于神经网络的集成方法,旨在创建多模态数据的统一表示。
- Late Fusion: 后期融合在单个模态特定编码器处理后,将每种模态的分数或预测结合起来。这种方法侧重于利用每种特定模态模型的优势,然后结合它们的输出来做出最终建议。在某些模式比其他模式更有信息或更可靠的情况下,后期融合可能特别有效。通过将融合过程推迟到预测阶段之后,后期融合允许更有针对性和更精确地提取特定的模态信息,从而提高了整体推荐的准确性。
后期融合好像还挺少见的?
损失函数
MRS 利用损失函数,损失函数可大致分为两个部分:主要任务和辅助任务。主要任务是监督学习,通常涉及明确定义的标签来指导模型的学习过程。这些任务确保模型能够根据标记的数据学习做出准确的预测。辅助任务是自监督学习(SSL)。SSL 根据数据本身的固有结构或模式生成监督信号,而不是仅依赖外部标记的数据。这种方法允许推荐系统有效地利用未标记的数据,提取有意义的表示,即使在数据稀疏的情况下也能做出准确的预测。
监督学习可以进一步细分为逐点损失(Pointwise Loss)和成对损失(Pairwise Loss)。
- Pointwise Loss:此损失是通过将每个单独项目的预测得分与其实际标签进行比较来计算的。常见的逐点损失函数包括均方误差(MSE)和交叉熵损失(CE),用于直接评估单个预测的准确性。
- Pairwise Loss:这种损失集中在项目的相对排名上。它评估模型根据用户偏好正确排序每对项目的能力。常见的成对损失函数包括贝叶斯个性化排名(BPR)和 Hinge Loss,旨在优化项目的排名顺序,而不是其绝对得分。
自监督学习可分为基于特征和基于结构的方法。
- Feature-based SSL:这种方法涉及创建辅助任务来预测或重建数据的某些特征。例如,可以训练模型以基于可用数据预测项目或用户的缺失特征,从而学习更稳健的表示。
- Structure-based SSL:这种方法利用了数据的结构属性,例如用户和项目之间的关系和交互。例如,基于图的方法可能会使用节点相似性或子图模式来生成监督信号,从而增强模型捕获复杂依赖关系和交互的能力。
特征提取
在视觉领域,早期的研究主要利用卷积架构,如 CNN,以及 VGG、Inception、Caffe 和 ResNet 等特定模型,这些模型在处理各种视觉识别任务方面表现出了显著的有效性。这些模型因其深度学习能力而备受推崇,该能力允许从原始图像中提取高级、复杂的特征。此外,在文本领域,已经采用了多种技术进行特征提取。这些方法包括 TF-IDF 等传统方法,以及 GRU、PV-DM(PV-DBOW)和 Glove 等更复杂的神经网络方法。注意力机制的引入,以及 BERT、Word2Vec、Sentence-Transformer 和 Sentence2Vec 等模型,通过允许上下文丰富的文本表示,进一步彻底改变了理解和处理语言的能力。
随着该领域的发展,MMRec 开源框架 通过标准化视觉和文本模式的特征提取方法来体现这一趋势,从而促进了更可控和可重复的实验设置。此外,数据质量也带来了挑战,例如亚马逊数据集中的一些损坏和缺失的图像。因此,最近的方法已经转向利用视觉模态中预先提供的特征来规避与手动处理相关的问题。同样,在文本模态中,对预训练模型的依赖已经变得司空见惯。这些模型为特征提取提供了坚实的基础,利用大量预先存在的知识库来提高文本分析的准确性和深度。
此外,并非所有研究都全面涉及视觉和文本模式。一些作品主要关注视觉方面作为辅助信息的一种形式。例如,VBPR 和 DVBPR 强调了视觉特征在增强推荐系统中的重要性,而忽略了文本数据。同样,VMCF 和 ACF 结合了视觉信息来提高其模型的准确性,但它们没有整合文本见解,而文本见解可能会丰富对数据的上下文理解。在对抗方面,AMR 利用视觉模态来增强其模型对对抗攻击的鲁棒性,但文本模态仍未得到探索。相反,ADDVAE 只关注文本形态,从而提供了对文本数据的细致入微的理解,但省略了视觉信息丰富的描述性。
编码器
在推荐系统中,编码器通常用于提取用户或项目的特征表示。编码器可以是多种类型的模型,从简单的线性模型到复杂的深度神经网络。主要目的是将原始数据(如用户行为数据、项目属性等)转换为固定大小的嵌入,以捕获输入数据的核心特征。然而,在多模态推荐中,编码器起着相同的作用,但由于特征的多样性,已经提出了更多样化和专门设计的编码器,以更好地利用多模态信息和用户交互数据进行更准确的推荐。从技术角度来看,我们将所有编码器大致分为 MF-based 编码器和 Graph-based 编码器。
定义 1:设用户集合 和物品集合 ,其中 是隐藏维度。我们用 来表示用户 - 物品交互矩阵。对于基于图的编码器 ,它是一个给定的图,节点集为 ,边集为 ,其中 。 和 分别表示用户和物品的隐藏嵌入。 表示 的嵌入。
定义 2:重述项目集 ,其中 , 是模态集合, 是模态 的隐藏维度。此外, 是一个给定的图,节点集 和边集 ,其中 。 表示模态 的项目隐藏嵌入。 表示 的嵌入。
MF-based Encoder
基于 MF 的编码器的核心思想是将用户项目评级矩阵 R 分解为两个低阶隐藏嵌入 U 和 I。评分矩阵 R 的近似值可以表示为:
损失函数可以定义为:
由于该项目的多样化特征,粗略地说,MRS 的评级矩阵 R 的近似值可以表示为:
其中 Aggr(·)表示多模态融合。损失函数可以定义为:
[!tip] 所以说,矩阵分解的 MRS 是让分解后的评分矩阵和原始评分矩阵尽可能相似。至于多模态,就是不同的融合方式而已。
Graph-based Encoder
图基编码器的核心思想是利用节点的特征和图的结构信息来学习节点的表示。我们介绍常用的图基编码器范式图卷积网络(GCN)。对于一个图 及其邻接矩阵 ,GCN 的一层传播可以表示为:
其中 是 的第 层隐藏嵌入,。 是 的度矩阵,其中 。 是第 层的权重矩阵, 是激活函数。在推荐领域,LightGCN 证明了 GCN 中的权重矩阵和激活函数是无用的,甚至增加了训练难度。为此,广泛使用的简化 GCN 可以表示为:
然后它通过 堆叠多个层,其中 是 GCN 的总层数。我们简单地将整个基于图的编码器定义为 。整个表示 可以通过 分成用户和项目部分。为了更好地挖掘用户和项目表示,提出了两种同构类型图,用户 - 用户和项目 - 项目。一部分基于图的编码器将使用其中一个或全部来更好地学习表示。同构图首先按相似性保留前 个项目/用户:
为缓解图结构数据中高阶顶点与低阶顶点之间特征分布的显著差异问题,通常对邻接矩阵应用对称归一化,表示为 和 ,其中 和 分别表示 和 的对角度矩阵。此归一化过程至关重要,因为它根据每个顶点的连通性调整其影响,从而防止高阶顶点在特征表示中占据不成比例的优势。然后通过传播 :
其中 和 分别是用户-用户图和物品-物品图的层数。这两种表示可以通过 和 可选地增强用户和物品表示。
为简化起见,我们将包含可选用户-用户和物品-物品图的复合图编码器定义为:
MRS的评分矩阵 的近似可以表示为:
损失函数可以定义为公式1。粗略地说,MRS的评分矩阵 的近似可以表示为:
多模态融合
多模态融合是MRS中的一个关键研究领域。多模态整合的效果在很大程度上受到不同模态融合时间以及用于执行这种融合的策略的影响。因此,基于这两个视角:时间与策略,对现有工作进行系统分析和分类变得至关重要。

时间
我们首先从时间角度对MRS中的所有近期工作进行分类。具体来说,可以分为早期融合和晚期融合策略。形式上,
早期融合表示在图消息传播和聚合之前融合所有模态。晚期融合表示在图消息传播和聚合之后融合所有模态。尽管早期和晚期融合时机在各种场景中都表现出色,但每种方法都表现出不同的局限性。具体来说,早期融合倾向于在早期阶段整合模态,这可能导致模态特定特征未能被充分挖掘,因为过早整合。另一方面,后期融合策略在较晚阶段结合模态,面临充分捕捉和利用不同模态之间相关性的挑战。这可能会限制模型提取不同模态之间相关性的能力,从而可能降低利用多模态信息的整体效果。
[!note] 其实还有一个问题,如果模型计算比较复杂,早期融合的效率会比晚期融合高很多。因为现“融成一坨”之后,你就只需要对这一个 tensor 做计算,否则你需要对每个模态分别处理,即复杂度线性增加(取决于模态数量)。
策略
从策略角度看,所有近期的工作可以从两个维度进行细粒度分类,即逐元素或拼接以及注意力或启发式。MRS中的许多工作都对融合策略进行了细微调整。尽管存在这些变化,但可以根据推动其使用的潜在动机,以一种广泛的方式对这些方法进行分类,如表IV所述。
| Fusion Strategy | Concatenation | Element-wise |
|---|---|---|
| 启发式 | ||
| 注意力 | ||
| 这里只用了视觉(Visual)和文本(Textual)两种模态做示例。 |
元素级融合方法相比拼接方法提供了更深入的不同模态整合。然而,这种更深层次的整合可能会无意中放大模态数据中存在的固有噪声。另一方面,注意力方法相比于启发式方法,提供了更动态的模态权重分配,使得可以根据输入特征与特定任务的相关性,更适应性和响应性地处理输入特征。尽管有其优势,但注意力机制会显著增加计算成本,并增加训练阶段的复杂性。
融合策略通常与融合时机协同作用,从而显著影响模型性能。认识到这种相互作用,我们对MRS中的近期融合策略和时机进行了全面总结,如图5所示。我们的目标是为研究人员提供一个更清晰的视角,了解这些观点如何共同作用以影响模型性能。
啧,要不说高手写的论文就是 8 一样呢。两个不同的 entity tensor 要么加要么拼,要么加权之后再加/再拼。硬是能单开出一节 Strategy 来写,6
分类法
Taxonomy 在论文的每一章都进行了分类,就是字面意义上的归个类,然后简要的写几笔。有需要的可以看下原文。这里只放一个模型时序的分类图足以。

话又说回来了,22 年以后基本就很少见到矩阵分解的做法了,大多都是基于 GCN 的。猜测可能是 MF 对数学理论功底要求比较高,想水还真不太好水,GCN 就不一样了。。。
损失函数
MRS使用由两个关键类型组成的损失函数:主要任务和辅助任务,如图7所示。主要任务涉及监督学习,其中明确的标签指导模型的学习,确保从标记数据中进行准确预测。相反,辅助任务采用自监督学习(SSL),它从数据的内在结构生成监督信号,而无需外部标签。这种方法能够有效利用未标记的数据,使系统即使在标记数据稀疏的情况下也能提取有意义的表示并保持准确性。我们详细介绍了这两种类型的损失函数。

监督学习
初步:在RS场景中,我们将推荐模型简化定义为 ,它可以通过以下方式预测用户 和物品 之间的评分:
其中 表示用户-物品交互矩阵。在MRS场景中,多模态推荐模型将扩展为 ,它可以通过多模态信息预测用户 和物品 之间的评分:
监督学习任务是将任何用户 和项目 之间的预测得分拉近到真实标签。它可以分为点损失和成对损失。
对于逐点损失,我们引入了两种常见的损失函数,这些函数在许多机器学习下游任务中也被广泛使用,例如计算机视觉和自然语言处理。1)均方误差(MSE) 和 2)交叉熵损失(CE)。
MSE可以定义为:
其中 表示训练集。这个损失函数将交互的用户-物品对的预测得分更接近1,非交互的用户-物品对的预测得分更接近0。
CE 可以定义为:
在RS(MRS)领域中利用CE,将预测函数视为一个两分类任务,将用户-物品对分类为已交互和未交互类别。这通过最小化预测概率分布与真实标签分布之间的差异来提高分类精度,使模型能够更好地学习分类标签的概率分布。然而,由于用户-物品交互数据的天然稀疏性,我们需要更加重视稀缺的标记数据,因此进一步提出了成对损失。
对于点损失,学习目标是拉近正样本对,同时推开负样本对。我们引入了两种常用的损失函数,它们也是广泛使用的损失函数。1)贝叶斯个性化排序(BPR) 和 2)Hinge 损失。
BPR 可以定义为:
其中 和 是用户 对正样本项 和负样本项 的评分。 是激活函数。
Hinge Loss 可以定义为:
Hinge Loss 旨在不仅正确分类数据点,而且最大化分类决策边界的间距。
Hinge Loss? 你还别说,真没见过😅
自监督学习
在 RS 场景中,自监督学习首先为对比学习创建两个不同的视图,我们简单地将这个视图生成器定义为:
其中 是一个视图创建者。 和 使用与第四节相同的定义。在MRS场景中,视图创建者可以进一步定义为
[!warning] 我倒是不否定目前 RS 中的 SSL 基本就是对比学习了,但是直接把自监督特指为对比学习多少还是有点不合适吧。。。
视图创建者可分为两种类型:1)基于特征的SSL和2)基于结构的SSL。
基于特征的SSL旨在通过扰动特征生成同一数据实例的多个视图。这种方法被战略性地用于增强学习表示的鲁棒性。通过在输入特征中引入变化,模型被迫关注这些修改中的不变方面,从而获得对用户-项目交互更深入、更通用的理解。它可以简化表示为:
其中 Perturb 可以是 MLP、特征丢弃、添加随机噪声等。值得注意的是,不同的模态可以自然地被视为两种基于特征的视图。对两种不同模态表示应用基于特征的自监督学习可以看作是模态对齐。
基于结构的 SSL旨在通过扰动图结构为同一数据实例生成多个视图。这种方法被用来细致地捕捉图结构中固有的复杂依赖关系和交互作用,这对于提高基于图的学习模型的鲁棒性和性能至关重要。这种操作使学习算法能够从数据的本质特征中辨识并进行泛化,从而在图数据普遍的领域中可能产生更有效和有见地的表示。它可以简化表示为:
其中 Perturb 可以是 MLP、节点/边丢弃、添加随机噪声等。
自监督学习任务是强制生成的视图更接近,以增强MRS模型的表示能力。我们引入了两种广泛使用的自监督损失函数。1)InfoNCE 和 2)Jensen- Shannon散度(JS)。
InfoNCE 是噪声对比估计的一种变体,作为推荐系统中的自监督学习损失函数得到了广泛采用。它可以表示为:
其中 表示一个评判函数,用于计算两个视图之间的相似性得分。项 对应正对的得分,而项 包含分子和所有负对的得分。
除了使用InfoNCE估计互信息外,下界也可以通过Jensen-Shannon(JS)散度进行估计。推导出的学习目标类似于将InfoNCE与标准二元交叉熵损失相结合,应用于正样本对和负样本对。
其中σ表示用于归一化判别函数输出的sigmoid函数。这种优化的主要思想是将标签1分配给正样本对,将标签0分配给负样本对,从而提高正样本对的预测值并增强它们之间的相似性。
部分信息可能已经过时









