论文笔记——《Multi-Modal Self-Supervised Learning for Recommendation》

动机与主要工作

  1. 现实世界中用户和物品交互标签是非常稀疏的,基于自监督学习的方法难以准确获得用户的偏好;
  2. 用多模态特征辅助丰富item表征的方法在稀疏数据集上的表现缺乏鲁棒性。

因此,本文引入自监督任务以缓解数据稀疏性以及它带来的问题。而专门针对多模态推荐场景设计的自监督信号可以:1)增强模态内容相关的用户交互偏好;2)学习跨模态的依赖。具体地,MMSSL 引入了对抗任务以实现 1)来进行从协同信号到模态 feature 的知识迁移;2)多个模态之间关系的建模则是通过对比学习将多个模态作为多个 view 进行。,

模型介绍

模型的整体框架如下所示。

MMSSL模型框架图

多模态对抗自增强

不同于社交推荐和 KG 推荐,在多模态推荐场景中,模态内容直接引导用户交互。为了捕捉模态信息相关的用户交互偏好,MMSSL 的对抗自监督任务促使模态 view 向交互 view 对齐,以向模态 feature 中注入协同信号。

具体地,生成器 G 首先通过输入的模态 feature 为各个模态生成模拟交互图。然后,判别器 D 判别输入是真的交互信息还是 G 通过模态信息生成的。这个模块 MMSSL 将分成四个部分介绍:1)生成器;2)判别器;3)推荐场景下稀疏数据的对抗任务难点应对;4)对抗优化。

模态引导的交互生成

在生成阶段,MMSSL 的任务是使用模态 feature 生成模拟的交互。这样做是为了尽量攫取模态 feature 中的交互信息。具体的做法是用 user feature 和 item feature 得到交互的预测:

在这里插入图片描述

在这里插入图片描述
其中A为用户-物品邻接矩阵,F为模态下m的用户和物品的初始表征。具体的交互边计算方式是内积经归一化。为了避免使用整个交互矩阵,MMSSL 使用分块矩阵乘法进行计算

为了充分地挖掘协同信号,这里的 user feature 和 item feature 不是使用简单的 dense transformation,而是首先通过每个模态特定的 GNN 在进行 特征密集化同时先一步增强协同信号:

在这里插入图片描述
其中带上划线的f是模态下的初始表征。在执行聚合前,将初始表征映射到潜在嵌入空间。维度从dm->d。

交互信息判别器

在判别阶段,判别器D旨在鉴别“模态引导的交互”和“真实交互”。通过完善学习到的模态感知关系矩阵来混淆辨别器,使得模态 feature 能够被注入更有效的协同信号。

在这里插入图片描述

D 的输入是生成的邻接矩阵的各行(每一行代表每个 user)。判别器输出判别 input 是否来自于 real data。(对于生成器生成的A,判别器判别为真实数据,才达到目的?)

推荐场景下稀疏数据的对抗任务难点应对——Bridge the Distribution Gap.

不同于视觉领域稠密的图像像素,推荐系统中观察到的交互往往是过稀疏的(邻接矩阵中大多数数据为 0)。而由深度学习模型学习到的 fake data A ^ \hat{A} A^是连续的数值。因此,推荐框架中对抗生成任务的一个挑战就是如何解决分布差异以防止模式坍塌(mode collapse)和收敛困难。

为了减小 real data 和 fake data 的分布的差异并使模型易于收敛,MMSSL 使用 Gumbel-Softmax 将原始的离散的交互转化成连续的分布。具体的计算方式如下:

在这里插入图片描述

公式的左边是由原始交互经 Gumbel-Softmax 转化得到的的版本。为了进一步减小分布的差异,并加入切合模型预测交互的分布,MMSSL 用最终被 BPR Loss 约束的 embedding 生成既趋近于真实又符合模型预测分布的模拟交互。

对抗任务损失函数

MMSSL 的对抗自监督任务是通过将模态 feature 生成交互向 real data 来捕捉协同信号和模态内容之间的依赖。而这个分布对齐的过程则由生成器 G 和判别器 D 的分阶段训练和对抗优化过程得到:

在这里插入图片描述

这里的 G 的参数包含在推荐模型中,因为整个对抗 SSL 任务的目的就是使得 feature encoder 能够向模态 feature 注入协同信号。而被推荐模型包含的生成器 G 和判别器 D 是分开训练的,它们各自的损失函数如下:

在这里插入图片描述

这里,为了使得对抗模型更容易收敛,MMSSL 引入了 WassersteinGAN-GP 的做法。将 real data 和 fake data 的线性插值引入计算过程能够进一步缓解数据稀疏的推荐场景下的数据分布差差异的问题。

跨模态的对比学习

除了增强模态信息和协同信号之间的依赖,MMSSL 还设计了对比学习来建模模态之间的依赖。比如,一个短视频能够吸引 user 和 item 可能是因为视觉和听觉两个通道同时起作用。为了得到每个用户跨模态的偏好,MMSSL 对 user embedding 进行对比学习。这里不对 item 做的原因是 item 端更应该尽量保留模态内容本身的特性,不应该像 user 一样强调跨模态信息。

值得注意的是,MMSSL 设计的两个 SSL 任务分别是对 feature 和 embedding 进行的,即,对抗 SSL 是作用于 feature,而对比 SSL 是针对 embedding。所以,MMSS 的自监督任务从技术的角度讲,是分别增强了两种表征。

跨模态view的构建

首先,MMSSL 进行多模 view 的构建,具体的做法是将 embedding 过对抗 SSL 任务学到的 modality-speific 的交互的邻接矩阵:

在这里插入图片描述

其中 e u e_{u} eu e i e_{i} ei是经过Xavier初始化的ID embedding。这里需要鉴别的一点是,之前的 GNN 是为了给 modality-specific feature 注入协同信号,而这里的 GNN 是为了给 embedding 注入模态相关的交互偏好。接下来,为了得到 high-order 的融合多模态的信息(跨模态的attention),MMSSL 在多层的 GNN 之后使用了 mean:

在这里插入图片描述

在这里插入图片描述

最终的 embedding 表征是聚合多层求平均输出的结果。

跨模态对比损失

对比学习过程引入InfoNCE损失,具体计算过程如下:

在这里插入图片描述

为了在同一个超空间下对比,MMSSL 在对比损失函数计算之前会首先进行归一化。

多任务模型训练

前面的部分已经详细介绍了 SSL 任务的部分,而最终的主任务推荐任务则会全面地使用之前两个 SSL 任务分别增强的 feature 表征和 embedding 表征:

在这里插入图片描述

feature 表征在和 embedding 表征融合之前首先会进行归一化。而最终推荐任务的预测分数则是由最终的 user 和 item 表征的内积得到。推荐任务的损失函数时 BPR,而整个框架则以主任务和辅助任务 multi-task 优化的方式行进:

在这里插入图片描述

实验结果

对比试验

在这里插入图片描述

MMSSL 的主实验是与多种类型的 baseline 进行对比,包括普通 GNN 推荐模型(NGCF, LightGCN),自监督推荐(SGL, NCL, HCCF)和多模态推荐(VBPR, MMGCN, GRCN, LATTICE, CLCRec, MMGCL, SLMRec)。数据集包括亚马逊的 Baby 和 Sports 类别,TikTok 短视频转化数据和食谱推荐数据集。而使用的指标则包括 Recall@20,NDCG@20 和 Precision@20。可以观察到,MMSSL 的结果在各个数据集上优于所比较的 baseline。

对于普通的 GNN-based 的方法,它们的结果低于 MMSSL 的原因可能是未能充分建模多模态信息。SGL, NCL 和 HCCF 虽然是自监督的方法,但是它们没有关于多模态场景的设计自监督信号。其他 SOTA 多模态的方法,在结果上比其他几类 baseline 好很多,这说明多模态信息的重要性。但可能因为数据稀疏性导致的表征学习不足,它们并没有达到更优的结果。

消融实验

在这里插入图片描述

w/o-ASL:去掉对抗性生成自增强;
w/o-CL:去掉跨模态的对比学习;
w/o-GT:去掉Gumbel-Softmax;
r/p-GAE:用负对数似然最大化交互边的信息以替代对抗生成任务。

消融实验首先通过 w/o-ASL 和 w/o-CL 检验了两个 SSL 任务的结果;w/o-GT 则是忽略了文章中 3.1.3 中提到的问题和技术。消融实验证明了 MMSSL 设计的模块的有效性。对抗 SSL 增强了 feature 表征,对比SSL增强了 embedding 表征,“Bridge Distribution Gap”则保证了向模态 feature 迁移协同信号的效用。

总结

在这个工作中,MMSSL 提出了多模态自监督模型以应用于多模态推荐场景。MMSSL 中设计了一个新的多模态对抗自监督任务以在稀疏的交互下捕捉模态信息引导的用户偏好。此外,MMSSL 引入了跨模态对比学习范式以建模用户交互中跨模态的依赖。在几个数据集上全面的实验表明了有自监督任务的 MMSSL 与各种 baseline 相比达到了 SOTA 的结果。

转载于​WWW 2023 | 自监督多模态推荐系统

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值