CIKM'24 | 小红书 AlignRec:多模态推荐的对齐和训练框架
1. 前言
当前,推荐系统领域主要依赖于 ID 特征的学习。大多数现有的多模态推荐方法将多模态信息(如图像、文本)作为辅助信息(sideinfo)来辅助 ID 特征的学习。然而,多模态数据之间以及 ID 模态与多模态数据之间存在着显著的语义鸿沟(Semantic Gap)。如果直接使用这些未经对齐的多模态信息,不仅无法提升效果,甚至可能适得其反,干扰模型对用户兴趣的捕捉。
例如,在 Amazon Sports 数据集上,视觉模态和文本模态的 t-SNE 可视化结果显示,不同模态的特征分布存在明显分离。同样,在没有进行内容模态(图文)与 ID 模态对齐的情况下,可视化结果也显示出各种模态之间存在明显的表征不对齐现象。这种不对齐导致模型难以有效地融合不同来源的信息。
作者指出,在推荐场景下,多模态表征的对齐与训练主要面临三个方面的挑战:
1.1 挑战一:如何对齐多模态表征
这包括内容模态之间的对齐(如图文对齐),以及内容模态与 ID 模态之间的对齐。此外,由于论文所提方法主要针对召回环节,因此还需要特别关注 User 与 Item 表征的对齐。为此,作者提出的 AlignRec 框架主要做了三个方面的对齐工作:
- 内容模态内的对齐 (Inter-Content Alignment, ICA):主要指视觉模态和文本模态之间的对齐,确保同一物品的图片和描述在向量空间中距离相近。
- 内容模态与 ID 模态的对齐 (Content-Category Alignment, CCA):确保基于内容提取的特征与基于交互历史学习的 ID 特征在语义空间上保持一致。
- User 和 Item 的对齐 (User-Item Alignment, UIA):主要通过余弦相似度(Cosine Similarity)来实现,因为召回环节需要基于用户向量去做高效的向量检索。
1.2 挑战二:如何平衡内容模态和 ID 模态之间的学习速度
内容模态通常需要超大规模的数据和时间进行预训练,而 ID 模态的学习更新可能只需要几个 Epoch 即可收敛。这种学习速度的差异可能导致训练过程中的不稳定。作者的解决方案是使用多模态大语言模型(mLLMs),在预训练阶段就提前做好内容模态内的对齐,从而为后续任务提供高质量的初始化表征。
1.3 挑战三:如何评估多模态特征对推荐系统的影响
引入不合适的多模态信息可能需要更多的精力去做纠正,甚至可能影响推荐系统的性能。为此,作者提出了多个中间评估指标,以便在训练过程中监控多模态特征的有效性。
2. 方法
作者提出的 AlignRec 整体框架包含三个核心模块:Multimodal Encoder Module(多模态编码器)、Aggregation Module(聚合模块)以及 Fusion Module(融合模块)。下面分别进行详细介绍。

2.1 Multimodal Encoder Module (MMEnC)
2.1.1 作用描述
MMEnC 是一个预训练的模块,它以物品的多个内容模态为输入,实现物品侧视觉模态和文本模态的对齐,最后统一输出多模态表征。
2.1.2 训练细节
具体地,作者使用 BEiT3 作为骨干网络,通过 mask-then-predict 策略进行训练。该策略包括 Mask-Image-Modeling (MIM) 和 Mask-Language-Modeling (MLM)。具体来说,会 Mask 掉一定比例的图像 Token 或文本 Token,然后尝试训练恢复还原出正确的 Token。这两个任务分别对应着不同的 Loss 函数。
在预训练阶段,将两者的 Loss 进行相加得到总 Loss。在应用时,取 CLS Token 作为物品侧统一的多模态表征。这种方法能够有效地利用未标记数据进行自监督学习,学习到鲁棒的跨模态特征。
2.2 Aggregation Module
2.2.1 作用描述
这个模块以 ID 模态和前面统一的内容模态为输入,构建异构图。基于 GCN(作者使用 LightGCN)做多层聚合,从而输出 User 和 Item 的 ID 模态、User 的多模态表征以及 Item 的多模态表征。


