四行代码的「序列模态丢弃」,让多模态推荐扛得住缺图缺文

Sequential Modality Dropout for Robust Multi-Modal Sequential Recommendation

Guanqun Yang, Wenlong Zhang

cs.IR, cs.LG, cs.MM

2026-08-11

训练时随机整条抹掉某个模态,多模态序列推荐的模态留存率提升 1 到 3.2 倍,全模态精度几乎不损。

这篇在解决什么

多模态序列推荐(multi-modal sequential recommendation)假设每个商品都同时有图、有文。但真实商品库不是这样:很多商品缺图或缺文字描述。麻烦在于,模型是在「模态齐全」的基准上训出来的,部署时一旦某个模态没了,精度就崩。论文举例,一个普通多模态 SASRec 在测试时拿掉文本,HR@10 只剩全模态时的 40% 到 73%。

方法

方法叫 SMD(Sequential Modality Dropout),核心四行代码:训练时,每个模态流(图、文)各自以概率 p 被整条抹掉,对一个用户的整条交互历史,要么整段没图、要么整段没文。模型因此学到不能死依赖任何一个模态。

关键设计是「整条历史共享同一个模态掩码」。这一点和常见的逐特征 dropout 不一样:作者观察到真实商品库的缺失是按类目或来源成簇出现的,某个类目整体缺图,而不是每个商品独立地随机缺图。所以掩码按「用户历史 × 模态」成对生成,更贴近部署时看到的缺失形态。

评估上,作者提出「留存率」(retention):去掉某个模态后,HR@10 还剩全模态时的百分之几。这个指标直接对应「模型部署后会不会因为缺模态而崩」,比只看全模态精度更贴近工程现实。

可选的还有一个跨模态重建损失,让图、文两个投影互相预测对方。它只在融合方式简单、缺失严重时才帮得上忙,在强动态融合的骨干上反而会拖累,属于看场景才加的东西。

结果

在四个骨干模型(MM-SASRec、IISAN、MISSRec、fMRLRec)和四个亚马逊类目上:

设置留存率变化
IISAN 去掉文本18% → 56%(3.2 倍)
MM-SASRec 去掉文本(跨类目)40-73% → 79-97%
MM-SASRec 去掉图像(跨类目)67-89% → 87-96%
fMRLRec 去掉文本94% → 99%(1.1 倍)
95% 缺失率下HR@10 22% → 61%(2.8 倍)
简单骨干 + 重建损失90% → 98%

16 组(骨干×数据集)里 11 组留存率提升 1 到 3.2 倍,而全模态精度基本无损。原本对缺模态最敏感的骨干(IISAN 去掉文本只剩 18%)涨得最猛,说明 SMD 专治那些平时学得太偏、过度依赖单一模态的模型。

为什么重要

这是个典型的「四行代码、架构无关、即插即用」的改动,直接对症部署时缺模态这个真问题。对多模态推荐的从业者,几乎零成本就能换来鲁棒性。留存率这个评测口径也值得借鉴,以往多模态推荐只报全模态精度,从不测缺模态会怎样。

局限与存疑

只覆盖图和文两种模态,没扩展到音频、视频或结构化属性。跨模态重建损失价值有限,只在融合方式简单、缺失严重时有帮助,在 MISSRec 这类强动态融合骨干上反而会拖累精度。论文处理的是模态「缺失」,没碰模态「损坏」(图在但质量差)的情况。

术语

原文与代码

社区讨论

相关论文

全部论文解读