论文:arxiv.org/html/2402.17188v1 代码:github.com/HKUDS/PromptMM
多模态推荐系统极大的便利了人们的生活,比如亚马逊和Netflix都是基于多模态内容进行推荐的。对于学术研究,人们也遵循工业界的趋势,进行modality-aware的用户偏好的建模。然而,目前的工作主要是将多模态feature引入推荐系统中,这样的做法导致了两个问题:
I1: Overfitting & Sparsity. 当前的多媒体推荐系统通过采用先进的编码器来处理来自预训练提取器(CLIP-ViT、BERT)的高维特征而表现出色。辅助模态缓解了数据稀疏性,但不可避免地导致了增加的资源消耗。例如,关于电子产品(第4.1.1节)数据集的特征提取器,SBERT和CNNs的输出维度分别为768和4,096。它们比当前方法的嵌入维度要大得多,即 𝑑𝑚 ≫ 𝑑。重新训练预训练模型可以改变输出维度,但由于不同的潜在表示和超参数,这将显著影响性能。此外,训练预训练模型需要大量的计算资源,可能需要在多个GPU上花费数天到数周的时间。因此,当前的多模式工作携带额外的高维特征减少层。这些额外的参数加剧了由于数据稀疏性而已经存在的过拟合,进一步增加了收敛的难度。
I2: Noise & Semantic Gap. 作为附加信息,当使用协同关系来建模用户偏好时,多媒体内容存在固有的不准确性和冗余性。例如,用户可能被文本标题吸引,但图像内容无关;微视频中的音乐可能是为了潮流,而不是用户偏好。盲目依赖噪声模态数据可能会误导用户与项目之间的关系建模。此外,多模态上下文和用户与项目的协同关系最初来自两个不同的分布,存在着较大的语义差距,这给挖掘模态感知用户偏好带来了挑战,甚至破坏了现有的稀疏监督信号。
为了解决这些问题, PromptMM提出通过知识蒸馏的方式简化并强化推荐系统。而知识蒸馏是被Prompt Tuning所增强的,以为了防止过拟合并得到adaptive的知识。具体地,知识蒸馏进行了模型压缩,通过UI边的关系和多模态节点的关系, 使得老师模型中的这些知识传递到学生当中, 使学生避免了使用额外的多模态feature编码的参数。为了将多模态内容和协同过滤的语义gap缩小以防止过拟和,soft prompt-tuning被引入,使得学生模型得到task adaptive的知识。此外,为了调整不正确性的多模态知识,一个多模态listwise的蒸馏被提出,它是通过re-weight机制来调节噪声。在真实数据上,全面的实验展示了模型的有效性,消融实验也证明了关键组件的作用,额外的实验测试了模型的有效性和效率。
模态内容不可避免地包含任务无关的冗余,他们不仅会影响CF任务,还会加重过拟合。此外,多模态建模和u-i交互建模之间巨大的语义gap还会影响真实用户偏好的学习。soft prompt-tuning被引入来解决这个问题。具体地,为了从模态中抽取协同信号, prompt p被整合到多模态老师的feature编码层R(.)中。prompt p于多模态老师中被构建,在学生模型中被fine-tune来提升被冻住的老师模型。prompt p能够为老师模型引入学生任务相关的信号。
具体的过程可以被分为三步,i) 构建prompt;ii) 把soft-prompt整合进老师模型;iii) 进行prompt-tuning。
为了全面地获得高质量的协同信号和模态启发的用户偏好从老师模型,PromptMM设计了三种知识蒸馏的范式:1) 高质量的ranking蒸馏 2) 去噪的模态启发的ranking蒸馏 3) 模态启发的embedding蒸馏。
list-wise ranking KD损失被重构为两个项的加权和,可调节地传递可靠知识并增强与模态相关的用户偏好的准确性。强调置信度较高的是user preference的部分
较低的分数被分配给那些不确定的用户-物品关系,以降低它们在知识蒸馏过程中的影响。这使得 PromptMM 可以专注于来自教师模型的最可靠信号,进行去噪的知识传递。即,对置信度较低的部分重新赋予权重,以减轻模态中可能存在的噪声的影响:
最终的优化目标是BPR loss与三种KD loss的结合:
所提出的 PromptMM 在所有三个数据集上始终优于普通的协同过滤(CF)模型和最先进的多模态推荐方法,表明其在多模态推荐中的有效性。改进的结果归因于moxing 设计的通过提示调整增强的多模态知识蒸馏,这不仅在多模态知识传递过程中弥合了语义差距,还消除了模态数据的噪声和冗余影响。此外,模型的结果支持多模态推荐系统比普通的 CF 模型表现更好的观点,因为多模态上下文的融合有助于在稀疏数据下辅助用户偏好学习。模型的 PromptMM 通过轻量级架构和定制转移知识取得了竞争性的结果,这表明多模态数据中可能存在噪声。这一发现证实了模型的动机,即直接将多模态信息纳入用户表示可能会引入噪声,从而误导模态感知用户偏好的编码。为了解决这个问题,模型提出的方法在知识蒸馏过程中解耦了协作关系的软标签,有效地通过向学生模型传递更多信息丰富的信号,从而减轻了多模态内容的噪声。
消融实验说明了知识蒸馏和soft prompt-tuning的效用。如表5所示:(1)对于没有Prompt的变体,其在所有三个数据集上的性能都比PromptMM要差。这表明去除提示调整可能会导致知识蒸馏的语义差距。模态感知投影可能也存在过拟合,并且可能仅限于编码与推荐任务相关的多模态上下文,而没有提示调整增强。(2)在去除成对蒸馏时,没有PairKD的变体表现出与PromptMM相比的性能下降,这表明了LPKD在提取基于排名的信号进行模型对齐方面的强大能力。(3)模态感知列表式蒸馏可以精确地提取质量良好的模态感知协作关系,有助于多模态推荐。因此,没有ListKD的变体不如PromptMM的结果。(4)以物品为中心的模态特征对用户的偏好存在严重偏差。因此,在没有解耦和重新加权蒸馏软标签的情况下,没有Disentangle的变体表现不佳。
工作研究了老师、学生和几个基线(LATTICE)在训练时间、存储、参数数量和学生与教师参数比等方面的资源利用情况,以进行模型压缩。在Netflix和Electronics数据集上的具体数值结果报告在表6中。结果显示,工作的学生模型在推理和推荐时间消耗方面明显低于其他模型,可能是由于它们较大的大小,在梯度下降参数更新期间需要更多时间。此外,LATTICE必须动态学习同质图,这增加了计算时间消耗。工作发现,在工作的模型中计算KL散度并不会显著增加时间消耗,从而降低了延迟。此外,结果显示工作的模型存储消耗较低,参数数量远低于其他模型,例如LATTICE需要动态计算和存储物品-时间关系,产生了显著的开销。"ratio=11.24% or 2.70%"的数值表明了工作的模型作为压缩算法的有效性。
这项工作的目标是使用一种新颖的模态感知KD框架,通过提示调整来简化和增强多模态推荐系统。为了有效地将任务相关的知识从教师模型转移到学生模型,模型引入了一个可学习的提示模块,动态地弥合了教师模型中的多模态上下文编码与学生模型中协作关系建模之间的语义差距。此外,模型提出的框架名为PromptMM,旨在分解信息性的协作关系,从而实现增强型知识蒸馏。通过大量实验,模型证明了PromptMM相比最先进的解决方案显著提高了模型效率,同时保持了更优的准确性。模型未来的工作计划是将LLMs与多模态上下文编码相结合,以提高性能。