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 的多模态表征。
2.2.2 流程描述
这个聚合模块的流程根据输出的依赖关系,可以分成以下三个步骤完成:
1) User 侧和 Item 侧的 ID 模态 记为 User-Item 的交互矩阵,通过构造得到以 User+Item 为结点的异构图的邻接矩阵,然后进一步处理得到归一化的邻接矩阵。再使用 LightGCN 逐层(共 L 层)计算。其中,包含了 User+Item 的 Embedding,再对这 L+1 层的表征进行聚合,得到 User 侧和 Item 侧的 ID 表征。
2) 物品侧的多模态表征 对于物品侧的多模态表征,作者首先将前面统一的内容模态表征经过一个 MLP 进行映射,再做 Element-wise 乘积与 ID Embed 进行融合,得到融合了内容先验知识的内容表征。然后,作者会基于前面统一的内容模态表征,构造物品侧的相似矩阵,每个物品取与它最相似的 10 个 Item 做聚合,得到物品侧的多模态表征输出。
3) 用户侧的多模态表征 对于 User 侧,通过聚合用户历史交互过的 Item 得到用户侧的多模态表征。其中,R 为归一化后的交互矩阵。
2.2.3 训练细节
1) 实现内容模态与 ID 模态对齐 为了对齐内容模态表征和 ID 模态表征,作者使用 In-Batch InfoNCE 损失函数,让同 Item 的内容模态表征与 ID 模态表征更接近,不同 Item 的内容模态表征与 ID 模态表征的距离更疏远。在 User 侧和 Item 侧分别去做对齐。
2) 规避模态表征坍塌 如果不加任何约束,模型可能会盲目地趋近于某个固定表征,引起模态表征坍塌。为了规避这个问题,作者增加了正则项约束。其中,表示 Cosine 相似度,而表示 Stop Gradient(停止梯度)操作,防止梯度回传导致的模式崩溃。
2.3 Fusion Module
这个模块的作用在于融合 ID 模态表征和多模态表征,从而得到 User 侧表征和 Item 侧表征,用于召回的 TopK 向量检索。
具体地,作者简单直接地将相应的表征进行相加。在得到 User 侧和 Item 侧的表征之后,作者增加了 User 侧和 Item 侧的对齐。具体地,作者对用户表征以及交互 Item 对应的表征作了相似度约束,确保用户向量与其感兴趣物品的向量在空间上足够接近。
2.4 统一训练
推荐任务会使用 BPR (Bayesian Personalized Ranking) 计算损失:
$$L_{BPR} = - \sum_{(u,i,j) \in D} \ln \sigma(x_{ui} - x_{uj})$$
其中,$i$ 为正样本,$j$ 为采样的负样本。
针对挑战二中提到的内容模态和 ID 模态学习速度差异问题,训练分为两个阶段:
- 预训练阶段:先对齐不同内容模态,得到统一的内容模态表征输出。
- End-to-End 训练阶段:加权融合推荐任务的损失、正则化损失,以及前面多个对齐目标损失,得到最终的训练损失。
2.5 中间评估指标
为了更准确评估多模态特征在推荐系统中的适用性及应用效果,作者提出了三种中间评估方案:
2.5.1 Zero-Shot 推荐
用于评估基于用户历史交互行为,多模态特征能否反映出用户兴趣。包括三个步骤:
- 按时间顺序对用户历史交互行为排序,取最后一个行为作为 Target Item,其余作为用户历史行为交互。
- 基于用户历史行为交互,计算用户的多模态表征。
- 计算与 Target Item 的相似度,判断是否在 TopK 中出现。
2.5.2 Item-CF 推荐
用于评估只使用多模态特征,基于协同过滤的方法进行物品推荐的能力。
- 计算每对 Item 的 Item-CF 分数。
- 为每个 Item $i$,选择最高 Item-CF 分数所对应的 Item $j$ 作为 Target Item。
- 使用多模态表征计算 Item $i$ 与候选集里其它 Item 的相似度得分,判断 Item $j$ 是否在 TopK 里。
2.5.3 Mask Modality 推荐
按一定比例 Mask 视觉模态或文本模态,衡量最终推荐效果差异,从而评估不同内容模态的重要度。这有助于分析哪些模态对特定类别的物品更为关键。
3. 实验部分
3.1 对比 Baseline 模型效果
在不同数据集上与各 Baseline 模型做对比。实验结果表明,AlignRec 在多个指标上均优于现有的主流多模态推荐模型。特别是在长尾物品推荐方面,由于引入了丰富的多模态信息,模型表现有显著提升。
3.2 中间评估指标
论文所提各中间评估指标的效果验证了多模态特征的有效性。Zero-Shot 推荐测试表明,即使没有显式的交互信号,多模态特征也能在一定程度上捕捉用户偏好。
3.3 消融实验
3.3.1 多模态表征在其它模型的效果
使用作者所提 AlignRec 得到的多模态表征在其他 Baseline 模型上的表现。结果显示,高质量的预训练多模态表征具有通用性,可以迁移到其他架构中提升性能。
3.3.2 模块消融实验
验证不同模块的效果。移除任何一个对齐模块都会导致性能下降,证明了 ICA、CCA 和 UIA 三者缺一不可。
3.3.3 超参实验
分析超参的影响。包括学习率、Batch Size 以及对齐损失的权重系数等。实验发现模型对某些超参较为敏感,需要精细调优。
3.4 长尾内容上的表现
在长尾内容上,不同模型的表现对比。传统 ID 模型往往难以覆盖长尾物品,而 AlignRec 通过多模态信息的补充,有效缓解了数据稀疏问题,提升了长尾物品的曝光率和点击率。
4. 总结与展望
本文介绍了小红书提出的 AlignRec 框架,旨在解决多模态推荐系统中的语义鸿沟和对齐难题。通过引入多模态编码器、图聚合模块以及融合模块,并结合多种对齐损失函数,AlignRec 实现了内容模态与 ID 模态的有效融合。实验证明,该方法在推荐准确性和多样性上均有提升,特别是在长尾物品推荐场景中表现优异。
未来的工作可以进一步探索更轻量级的多模态编码方式,以适应在线服务的低延迟要求。同时,也可以研究如何将更多类型的模态(如音频、视频)纳入对齐框架,以构建更加全面的用户画像。此外,针对冷启动问题的优化也是值得深入的方向,利用多模态信息可以帮助新物品快速获得准确的表征,从而加速其进入推荐池的过程。
综上所述,AlignRec 为多模态推荐系统提供了一个有效的对齐和训练范式,对于工业界落地多模态推荐技术具有重要的参考价值。


