查看原文
其他

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

韦玮 PaperWeekly 2023-04-06




©PaperWeekly 原创 · 作者 | 韦玮

单位 | 香港大学

研究方向 | 推荐系统



今天给大家介绍一篇香港大学黄超老师实验室发表的关于多模态自监督推荐系统的文章。


论文题目:

Multi-Modal Self-Supervised Learning for Recommendation

收录会议:
WWW 2023

论文链接:
https://arxiv.org/pdf/2302.10632.pdf

代码链接:
https://github.com/HKUDS/MMSSL

港大数据智能实验室(指导老师:黄超)
https://sites.google.com/view/chaoh


在该工作中,作者通过设计多模态推荐场景下的自监督任务来:1)建模模态信息启发的用户交互偏好(即,建立模态内容和协同信号之间的依赖);2)建模各个模态之间关系;它们能够专门针对多模态场景引入自监督信号以一定程度地缓解推荐系统一直以来存在的数据稀疏性问题。模型 MMSSL 在多个公开数据集上取得了优于 SOTA 多模态推荐模型的实验结果。该模型已经开源。




研究背景


多模态推荐应用已经十分普及(如:Tiktok, Amazon)。它们包含的多模态信息(如:视觉信息,听觉信息,文本信息)能够很好帮助用户进行个性化的推荐。但是,目前的多模态推荐系统大多只是强化 item 端的内容,并且引入了额外的模态编码器的参数。这些模型的表征能力受限于训练数据量,并且学到的 embedding 可能因此缺少鲁棒性。


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



先导实验:图中包含两个实验:(a)展示的实验将用户按交互数量分组(<4, <6, <9, <13, <100, all)之后各个模型的 Recall@20 的结果,柱状图表示各个组的用户数,折线图表示实验结果。(b)则是 LATTICE 和 MMSSL 的对不同曝光率的 item 的预测准确性的可视化。可以观察到,尤其针对交互数非常少的 item,MMSSL 的结果更好。




型介绍



2.1 多模态对抗自增强


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


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


2.1.1 模态引导的交互生成


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



具体的交互边计算方式是内积经归一化。为了避免使用整个交互矩阵,MMSSL 使用分块矩阵乘法进行计算。而为了充分地挖掘协同信号,这里的 user feature 和 item feature 不是使用简单的 dense transformation,而是首先通过每个模态特定的 GNN 在进行 feature densification 同时先一步增强协同信号:


item 拥有高维的原始特征,因此首先通过它经 GNN 得到 user 得 feature 表征,然后 user feature 再过一遍 GNN 以得到最终用于生成交互边的 item feature 表征。在这个部分生成的 modality-specific 的邻接矩阵将会作为 fake data 输入判别器。

2.1.2 交互信息判别器

在判别阶段,判别器 D 旨在鉴别“模态 feature 生成的交互”与“真实的交互”。通过得到能够迷惑判别器 D 的交互,模态 feature 能够被注入更有效的协同信号。在 MMSSL 中,判别器是多层的 MLP,具体如下:


D 的输入是生成的邻接矩阵的各行(每一行代表每个 user)。判别器输出判别 input 是否来自于 real data。


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

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

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


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


2.1.4 对抗任务损失函数

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


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


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


2.2 跨模态对比学习


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


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


2.2.1 跨模态view的构建


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



这里需要鉴别的一点是,之前的 GNN 是为了给 modality-specific feature 注入协同信号,而这里的 GNN 是为了给 embedding 注入模态相关的交互偏好。接下来,为了得到 high-order 的融合多模态的信息,MMSSL 在多层的 GNN 之后使用了 mean:



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


2.2.2 跨模态对比损失


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



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


2.3 Multi-task模型训练


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



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





实验结果


3.1 主实验



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 好很多,这说明多模态信息的重要性。但可能因为数据稀疏性导致的表征学习不足,它们并没有达到更优的结果。


3.2 消融实验



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




总结


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



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存