论文状态:已完成

UNGER: Generative Recommendation with A Unified Code via Semantic and Collaborative Integration

发表:2025/10/28
原文链接
价格:0.100000
已有 4 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了UNGER,一种通过将语义和协作信息整合为统一代码的生成式推荐方法,旨在解决信息过载问题及现有系统编码冗余的挑战。采用两阶段框架,该模型有效构建了可学习的模态适应层以优化编码过程,显著降低了存储与推理成本。研究发现,这种新方法不仅提高了推荐系统的效率,还充分利用了不同模态间的互补优势,为推荐系统的大规模部署提供了可行性。

摘要

UNGER: Generative Recommendation with A Unified Code via Semantic and Collaborative Integration LONGTAO XIAO, School of Computer Science and Technology, Huazhong University of Science and Technol- ogy, China HAOZHAO WANG ∗ , School of Computer Science and Technology, Huazhong University of Science and Technology, China CHENG WANG, Huawei Technologies Ltd, China LINFEI JI, Huazhong University of Science and Technology, China YIFAN WANG, Huazhong University of Science and Technology, China JIEMING ZHU, Huawei Noah’s Ark Lab, China ZHENHUA DONG, Huawei Noah’s Ark Lab, China RUI ZHANG, School of Computer Science and Technology, Huazhong University of Science and Technology (www.ruizhang.info), China RUIXUAN LI, School of Computer Science and Technology, Huazhong …

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

UNGER: Generative Recommendation with A Unified Code via Semantic and Collaborative Integration (UNGER: 通过语义和协作集成实现统一代码的生成式推荐)

1.2. 作者

  • LONGTAO XIAO, School of Computer Science and Technology, Huazhong University of Science and Technology, China
  • HAOZHAO WANG, School of Computer Science and Technology, Huazhong University of Science and Technology, China
  • CHENG WANG, Huawei Technologies Ltd, China
  • JIEMING ZHU, Huawei Noah’s Ark Lab, China
  • ZHENHUA DONG, Huawei Noah’s Ark Lab, China
  • RUI ZHANG, School of Computer Science and Technology, Huazhong University of Science and Technology (www.ruizhang.info), China
  • RUIXUAN LI, School of Computer Science and Technology, Huazhong University of Science and Technology, China

1.3. 发表期刊/会议

该论文尚未正式发表在特定期刊或会议上,目前以预印本 (arXiv preprint) 的形式公开。根据提供的发表时间(2025-10-28T00:00:00.000Z),这可能是一篇尚未经过同行评审或已接受但尚未正式出版的未来工作。

1.4. 发表年份

2025年

1.5. 摘要

推荐系统 (Recommendation Systems) 在缓解信息过载方面发挥着关键作用。生成式推荐 (Generative Recommendation) 作为一种新兴范式,通过将推荐任务建模为自回归 (Autoregressive) 代码序列生成,展示了无需近似最近邻 (Approximate Nearest Neighbor, ANN) 索引即可实现高效解码的巨大潜力。然而,现有方法通常为不同模态(例如,语义 (Semantic) 和协作 (Collaborative) 模态)构建独立的编码 (Codes),导致存储和推理成本显著增加,从而限制了其在大规模部署中的实用性。此外,这些独立的编码也未能充分利用语义和协作知识之间的互补优势。

为了解决这些挑战,本文提出了 UNGER,一种通过语义和协作集成实现统一代码 (Unified Code) 的生成式推荐方法。UNGER 的核心在于其统一代码 Unicode,它能够无缝整合语义和协作信息,显著降低存储和推理成本。为了有效构建 Unicode 并解决语义主导 (Semantic Domination) 问题,UNGER 引入了一个两阶段框架。在第一阶段,它利用可学习的模态适应层 (Modality Adaptation Layer) 和跨模态知识对齐 (Cross-modality Knowledge Alignment) 任务,自适应地学习融合嵌入 (Integrated Embeddings),从而克服了语义信息对最终表示的过度影响。随后,这些融合嵌入被量化为离散的 Unicode。在第二阶段,为了弥补量化过程可能导致的信息损失,UNGER 引入了一个新的内部模态知识蒸馏 (Intra-modality Knowledge Distillation) 任务,以确保充分而全面的学习。

在三个公共推荐基准测试数据集上的广泛实验结果表明,UNGER 在所有评估指标上均优于现有的最先进方法,包括生成式和传统推荐范式。此外,通过详细分析,论文还观察到 UNGER 展现了生成式模型特有的缩放定律 (Scaling Law) 特性。

1.6. 原文链接

/files/papers/692c3e981db011de57153258/paper.pdf

2. 整体概括

2.1. 研究背景与动机

  • 论文试图解决的核心问题是什么?

    • 信息过载问题: 现代社会中,用户面临海量信息,难以找到感兴趣的物品。推荐系统 (Recommendation Systems) 是解决此问题的关键技术。
    • 传统推荐系统的局限性: 传统的推荐系统,无论是双塔模型 (Dual-tower models) 还是图模型 (Graph models),通常依赖于基于嵌入 (Embeddings) 的点积 (Dot-product) 或余弦相似度 (Cosine Similarity) 计算,并结合近似最近邻 (Approximate Nearest Neighbor, ANN) 搜索来检索 top-k 推荐。ANN 索引的构建通常独立于推荐模型的优化过程,这限制了整体推荐效果,且检索过程效率不高。
    • 现有生成式推荐方法的挑战: 生成式推荐 (Generative Recommendation) 通过将推荐任务视为自回归 (Autoregressive) 的代码序列生成,避免了对 ANN 索引的依赖,因此被视为一个有前景的方向。然而,现有生成式方法在融合多模态知识时存在问题:
      • 独立的编码: 大多数方法为不同模态(如物品的语义信息和协作行为信息)构建独立的编码 (Codes)。这意味着每个物品需要多套代码,这会显著增加存储空间和推理 (Inference) 成本,使其难以在大规模实际场景中部署。
      • 语义主导问题 (Semantic Domination Issue): 直接简单地拼接语义和协作特征来创建统一表示 (Unified Representation) 时,往往会出现语义信息过度主导最终表示,导致协作信息未被充分利用甚至被忽视,从而限制了整合两种知识的潜力。这是因为语义嵌入 (Semantic Embeddings) 和协作嵌入 (Collaborative Embeddings) 在信号强度和表示对齐 (Representational Misalignment) 上存在差异。
      • 信息损失: 将高维嵌入量化 (Quantization) 为离散代码是生成式推荐的关键步骤,但这个过程不可避免地会引入近似误差并导致信息损失,影响最终推荐效果。
  • 为什么这个问题在当前领域是重要的?现有研究存在哪些具体的挑战或空白 (Gap)?

    • 实用性和可扩展性: 推荐系统在大规模部署时,对效率和资源消耗有严格要求。现有生成式推荐的存储和推理成本过高,阻碍了其广泛应用。
    • 多模态融合的有效性: 融合语义和协作信息已被证明可以提高推荐效果,但如何有效地、无偏地融合这两种异构信息是一个开放性问题。简单的拼接方式效果不佳,语义主导问题尤为突出。
    • 生成式推荐的精度与信息保持: 如何在将连续嵌入量化为离散代码的同时,最大限度地保留信息,并确保生成式模型的精度,是一个重要的技术挑战。
  • 这篇论文的切入点或创新思路是什么?

    • 统一代码 (Unified Code): 提出 Unicode,将物品的语义和协作知识整合到一个单一、紧凑的离散代码序列中,从而大幅减少存储和推理成本。
    • 两阶段知识集成框架:
      • 第一阶段: 通过可学习的模态适应层 (Modality Adaptation Layer) 和跨模态知识对齐 (Cross-modality Knowledge Alignment, CKA) 任务,自适应地融合语义和协作嵌入,缓解语义主导问题,然后将融合后的嵌入量化为 Unicode
      • 第二阶段: 在生成式推荐阶段引入内部模态知识蒸馏 (Intra-modality Knowledge Distillation, IKD) 任务,以弥补量化过程中的信息损失,确保更全面的学习。

2.2. 核心贡献/主要发现

  • 引入 UNGER 框架: 提出了 UNGER,一种通过统一代码 Unicode 集成语义和协作知识的生成式推荐方法。Unicode 不仅加速了推理过程,还将存储空间减半。
  • 解决语义主导问题: 引入可学习的模态适应层和跨模态知识对齐与下一项预测任务的联合优化,自适应地学习融合嵌入,有效解决了语义主导问题。
  • 确保全面学习: 提出了内部模态知识蒸馏任务,以补偿量化过程造成的信息损失,确保模型进行更全面和充分的学习。
  • 卓越的性能: 在三个公共推荐基准数据集上的广泛实验表明,UNGER 在所有评估指标上均优于现有的生成式和传统推荐方法。
  • 展现缩放定律特性: UNGER 展示了随着模型深度、宽度和数据量的增加,性能持续提升的缩放定律特性。

3. 预备知识与相关工作

3.1. 基础概念

  • 推荐系统 (Recommendation Systems): 一类信息过滤系统,旨在预测用户对物品的偏好,并向其推荐可能感兴趣的物品,以缓解信息过载问题。
  • 信息过载 (Information Overload): 用户在面临大量信息时,难以有效筛选和处理所需信息的状态。
  • 生成式推荐 (Generative Recommendation): 一种新兴的推荐范式,将推荐任务建模为自回归 (Autoregressive) 的代码序列生成问题。与传统的基于相似度匹配的方法不同,生成式推荐直接生成物品的表示(代码或ID),从而避免了对近似最近邻 (ANN) 搜索的需求。
  • 自回归生成 (Autoregressive Generation): 指模型根据前面已生成的部分数据,一步步生成后续数据。在文本生成中,这意味着模型预测下一个词元 (Token) 依赖于前面所有已生成的词元。在生成式推荐中,它意味着模型预测下一个物品的代码序列中的每个代码,都依赖于之前已生成的代码和用户历史。
  • 嵌入 (Embeddings): 将离散的实体(如用户ID、物品ID、词元等)映射到连续的低维向量空间中的表示。这些向量能够捕获实体之间的语义和关系信息。
  • 嵌入量化 (Embedding Quantization): 将高维连续嵌入空间中的向量映射到离散的、有限数量的码本 (Codebook) 中的过程。这有助于压缩存储空间、加速计算,并为自回归生成提供离散的输入/输出。
    • 分层 K-均值聚类 (Hierarchical K-means Clustering): 一种将数据点分层组织到聚类中的方法。它通过递归地将数据划分为越来越小的子集,形成一个树状结构。在量化中,它用于将连续嵌入映射到离散的代码,每个层级代表一个代码。
  • Transformer 架构 (Transformer Architecture): 一种基于自注意力 (Self-attention) 机制的深度学习模型,最初用于自然语言处理 (NLP) 任务。它由编码器 (Encoder) 和解码器 (Decoder) 组成,能够捕捉序列中的长距离依赖关系。
    • 编码器 (Encoder): 处理输入序列,将其转换为一系列上下文相关的表示。
    • 解码器 (Decoder): 根据编码器的输出和之前生成的序列,自回归地生成目标序列。
    • 多头自注意力 (Multi-head Self-attention): Transformer 中的核心机制,允许模型同时关注输入序列的不同部分,并从不同的表示子空间中提取信息。
  • 对比学习 (Contrastive Learning): 一种自监督学习范式,通过最小化正样本对之间的距离,同时最大化负样本对之间的距离,来学习有意义的表示。
    • Info-NCE 损失 (Info-NCE Loss): 一种常用的对比学习损失函数,它鼓励模型将锚点 (Anchor) 样本与正样本拉近,与负样本推远。
  • 知识蒸馏 (Knowledge Distillation): 一种模型压缩技术,其中一个大型、复杂的“教师模型”的知识被转移到一个小型、简单的“学生模型”中。在此论文中,它用于将原始完整嵌入的知识蒸馏到量化后的 Unicode 表示中,以弥补量化造成的信息损失。
  • AdaLN (Adaptive Layer Normalization): 一种条件化的层归一化 (Layer Normalization) 变体,其仿射参数(缩放和平移)是根据输入动态生成的,而不是固定的可学习参数。这使得模型能够更灵活地适应不同输入特征的分布。
  • 语义信息 (Semantic Information): 物品的描述性文本、类别、标签等显性内容特征,通常通过大型语言模型 (LLM) 提取。
  • 协作信息 (Collaborative Information): 用户与物品之间的交互行为模式(如购买、点击、评分历史),通常通过用户-物品交互图或序列模型来学习。

3.2. 前人工作

论文回顾了推荐系统领域的两个主要方向:

3.2.1. 推荐系统中的预训练 (Pre-training in Recommender Systems)

  • 背景: 推荐系统面临数据稀疏性 (Data Sparsity) 和冷启动 (Cold-start) 问题。预训练 (Pre-training) 策略受到自然语言处理 (NLP) 成功的启发,被引入以解决这些挑战。
  • 早期 ID-based 方法:
    • PeterRec [65]:通过参数高效微调 (Parameter-efficient Fine-tuning) 实现跨任务知识迁移。
    • Conure [66]:引入终身学习 (Lifelong Learning) 框架,增量更新用户嵌入。
    • CLUE [4]:通过视图增强 (View Enhancement) 改进表示质量。
    • 局限性: 依赖离散的用户/物品 ID,泛化能力差,难以迁移到新领域。
  • 结合侧边信息 (Side Information) 的方法:
    • ZESRec [9]:使用文本元数据替代物品 ID,实现零样本泛化 (Zero-shot Generalization)。
    • UniSRec [18], MISSRec [56]:利用多模态特征(文本、图像)构建可迁移的物品和用户表示。
  • 大型语言模型 (LLM) 融合:
    • P5 [12]:将各种推荐任务统一到文本到文本 (Text-to-Text) 框架中。
    • 局限性: 仍依赖小规模预训练语言模型,捕获通用世界知识的能力有限。

3.2.2. 序列推荐 (Sequential Recommendation)

  • 目标: 建模用户行为的顺序性,预测用户下一步可能交互的物品。
  • 传统方法:
    • 马尔可夫链 (Markov Chains, MCs) [16, 48]: 捕捉物品间的转换概率。
    • 深度学习 ID-based 方法:
      • GRU4Rec [21]:首次将基于门控循环单元 (GRU-based Recurrent Neural Networks, RNNs) 用于序列推荐。
      • SASRec [24]:引入自注意力 (Self-attention) 机制,捕捉长距离依赖。
      • BERT4Rec [51]:使用 Transformer 架构和掩码策略 (Masking Strategies)。
      • S3S^3-Rec [73]:通过互信息最大化 (Mutual Information Maximization, MIM) 学习物品、子序列和序列间的相关性。
  • 生成式方法:
    • 基于 LLM 的方法 [22, 26, 34, 38, 49, 71]: 关注设计精炼的提示 (Prompts) 和微调任务。
      • LC-Rec [71]:基于向量量化 (Vector Quantization) 和微调任务对齐协作信号与 LLM 表示。
      • CCF-LLM [38]:将用户-物品交互转化为混合提示 (Hybrid Prompts),融合语义和协作信号。
      • SC-Rec [26]:利用多物品索引和提示模板,通过自洽重排序机制融合协作和语义知识。
    • 从零开始训练的模型 [1, 36, 47, 58, 60, 62, 74, 75]: 将序列推荐任务转化为自回归生成任务。
      • Tree-based 方法 [11, 74, 75] (如 RecForest [11]):构建多棵树,并集成 Transformer 结构进行路由。
      • TIGER [47]:引入语义 ID (Semantic IDs) 概念,将物品表示为从描述中提取的词元 (Tokens),并自回归预测。
      • EAGER [62]:采用双流生成框架 (Dual-stream Generative Framework),并行利用语义和行为信息,使用两套独立的编码 (Separate Codes) 生成推荐。

3.3. 技术演进

推荐系统的技术演进大致经历了从基于内容的推荐 (Content-based Recommendation) 和协同过滤 (Collaborative Filtering) 到基于深度学习的序列推荐,再到最近兴起的生成式推荐。

  • 早期阶段: 主要关注用户-物品交互矩阵的填充和相似度计算。

  • 深度学习时代: 引入 RNNs (如 GRU4Rec) 和 Transformer (如 SASRec, BERT4Rec) 架构,以捕捉用户行为序列中的复杂模式和长距离依赖。

  • 预训练范式: 借鉴 NLP 领域的成功,引入预训练技术以应对数据稀疏和冷启动问题,从 ID-based 预训练发展到结合侧边信息和 LLM 的预训练。

  • 生成式推荐的兴起: 将推荐任务重构为离散代码或 ID 的自回归生成,旨在消除 ANN 搜索的依赖,提高效率和可解释性。

    本文的 UNGER 正是处于生成式推荐这一前沿,旨在解决其在多模态融合方面存在的关键瓶颈,特别是独立的编码带来的高成本和语义主导问题。

3.4. 差异化分析

UNGER 与相关工作的主要区别和创新点在于:

  • 统一代码而非独立代码:

    • 现有工作 (如 EAGER [62], TIGER [47], RecForest [11]): 要么只使用单一模态(如 TIGER 的语义 ID),要么为不同模态(如 EAGER 的语义和行为信息)构建独立的编码。这导致存储和推理成本高昂(O(Km)O(Km) 存储, O(Kn)O(Kn) 计算),且难以有效融合多模态信息。
    • UNGER: 提出了 Unicode,将语义和协作知识集成到一个统一的离散代码序列中。这显著降低了资源消耗(O(m)O(m) 存储, O(n)O(n) 计算),并促进了不同模态间的深层交互。
  • 解决语义主导问题:

    • 现有工作: 简单地拼接语义和协作特征容易导致语义信息过度主导最终表示,协作信息未被充分利用 (如图 4 所示)。
    • UNGER: 引入了可学习的模态适应层 (Modality Adaptation Layer) 和跨模态知识对齐 (Cross-modality Knowledge Alignment, CKA) 任务,旨在自适应地平衡和对齐两种模态的贡献,有效缓解了语义主导问题。
  • 补偿量化信息损失:

    • 现有工作: 量化过程带来的信息损失是一个普遍挑战,但很少有工作专门提出机制来补偿。

    • UNGER: 引入了内部模态知识蒸馏 (Intra-modality Knowledge Distillation, IKD) 任务,通过一个特殊设计的 [CLS] 类似词元和全局对比学习目标,从原始嵌入中蒸馏高层知识,以弥补 Unicode 量化过程中的信息损失。

      通过这些创新点,UNGER 旨在提供一个更高效、更有效、更平衡的多模态生成式推荐框架。

4. 方法论

UNGER 的核心目标是创建一个统一的离散代码 (Unified Code),即 Unicode,它能够同时编码物品的语义信息和协作行为信息,并以此实现生成式推荐。整个框架分为两个主要阶段:第一阶段是物品 Unicode 的生成,旨在融合语义和协作知识并将其量化;第二阶段是生成式推荐,利用 Unicode 进行自回归预测。

4.1. 问题定义

给定一个物品语料库 II 和用户 uu 的历史交互序列 U=[u1,u2,,ut1]U = [u_1, u_2, \ldots, u_{t-1}],其中 uIu \in I,序列推荐系统 (Sequential Recommendation System) 的目标是预测用户最可能交互的下一个物品 utIu_t \in I

在生成式推荐框架中,每个物品 uu 由一个代码序列 C=[c1,c2,,cL]C = [c_1, c_2, \ldots, c_L] 表示,其中 LL 是代码序列的长度。因此,序列推荐任务转变为根据用户的历史交互序列 UU 预测下一个物品 utu_t 的代码 CtC_t。在训练期间,模型首先编码用户历史交互序列 UU,然后解码器 (Decoder) 逐步自回归地预测目标物品 utu_t 的代码 CtC_t。解码过程定义如下:

p(CtU)=i=1Lp(ciU,c1,c2,...,ci1) p ( C _ { t } | U ) = \prod _ { i = 1 } ^ { L } p ( c _ { i } | U , c _ { 1 } , c _ { 2 } , . . . , c _ { i - 1 } )

其中,p(CtU)p(C_t | U) 是在给定用户历史 UU 的情况下生成目标物品代码序列 CtC_t 的概率,cic_i 是代码序列中的第 ii 个代码。这表示生成每个代码 cic_i 的概率依赖于用户历史 UU 以及之前已经生成的所有代码 c1,,ci1c_1, \ldots, c_{i-1}

在推理阶段,解码器执行集束搜索 (Beam Search) 以自回归地生成 top-k 物品的代码。

4.2. 整体流程

UNGER 框架如 Figure 5 所示,包含两个阶段:

该图像是示意图,展示了论文“UNGER: Generative Recommendation with A Unified Code via Semantic and Collaborative Integration”的主要框架。图中分为两个阶段:第一阶段为项目Unicode生成,包括预训练的语义编码器和协同模式的知识对齐任务;第二阶段为生成推荐,利用用户历史和Transformer编码器进行对比学习和知识蒸馏。箭头表示数据流动,具体任务和模块间的关系通过不同形状的框体和连接线清晰标示。
Figure 5: UNGER 的整体框架。第一阶段:物品 Unicode 生成。第二阶段:生成式推荐。

  • 第一阶段:物品 Unicode 生成 (Stage I: Item Unicodes Generation)

    • 目标是构建能够编码语义和协作知识的统一物品代码 Unicode,并使用单一的码本 (Codebook)。
    • 首先,通过可学习的模态适应层 (Modality Adaptation Layer) 和跨模态知识对齐 (Cross-modality Knowledge Alignment, CKA) 任务与下一项预测任务的联合优化,融合语义嵌入和协作嵌入。
    • 然后,将融合后的嵌入量化为离散的 Unicode,作为模型中每个物品的通用标识符。
  • 第二阶段:生成式推荐 (Stage II: Generative Recommendation)

    • 利用第一阶段生成的 Unicode 进行序列建模,完成推荐任务。
    • 包括一个编码器 (Encoder) 和一个解码器 (Decoder)。编码器捕捉用户历史交互,解码器预测下一个物品的 Unicode
    • 引入内部模态知识蒸馏 (Intra-modality Knowledge Distillation, IKD) 任务,以补偿量化过程中可能导致的信息损失。
    • 训练完成后,根据置信度分数 (Confidence Scores) 选择 top-k 推荐。

4.3. 第一阶段:物品 Unicode 生成

本阶段的目标是构建物品 Unicode,它能够在利用单一统一码本的同时,编码协作和语义知识。

4.3.1. 模态适应层 (Modality Adaptation Layer)

为了弥合两种模态之间的差距,论文提出了一个带有 AdaLN 的可学习模态适应层 (Modality Adaptation Layer, MAL),它将语义嵌入 ESE_S 映射到与协作嵌入 ECE_C 相同的嵌入空间中。与标准层归一化 (Layer Normalization) 不同,AdaLN [43] 引入了条件化 (Conditioned) 的可学习仿射参数 (Affine Parameters),这些参数根据输入本身进行调整,使得模型能够动态调整归一化行为。这使得适应层能够更好地保留和对齐模态特定的信号。映射过程定义如下:

ET=MAL(ES)=AdaLN(WES+b) E _ { T } = \mathrm { MAL } ( E _ { S } ) = \mathrm { AdaLN } ( W E _ { S } + b )

其中:

  • ETE_T 表示经过模态适应层转换后的语义嵌入。
  • MAL()\mathrm{MAL}(\cdot) 代表模态适应层。
  • ESE_S 是来自预训练语义编码器(例如 Llama2-7b [53])的原始语义嵌入。
  • WWbb 是模态适应层中的可学习参数,用于线性变换。
  • AdaLN()\mathrm{AdaLN}(\cdot) 指的是自适应归一化层,它根据输入动态调整其归一化参数。

4.3.2. 跨模态知识对齐任务 (Cross-modality Knowledge Alignment Task)

为了有效集成语义和协作知识,论文引入了一个跨模态知识对齐任务 (Cross-modality Knowledge Alignment Task),旨在对齐来自协作模态 ECE_C 和语义模态 ETE_T 的嵌入。对于给定物品 iIi \in I,目标是使其协作嵌入 ECiE_{C_i} 更接近其语义嵌入 ETiE_{T_i},同时使其与不同物品 jIj \in I 的语义嵌入 ETjE_{T_j} 保持距离,其中 jj 是从同一批次中选择的负样本 (Negative Sample)。通过这种对齐方式,学习到的物品 ii 的嵌入能够封装来自两种模态的知识。为此,论文采用了 Info-NCE 损失 (Info-NCE Loss) [3]。跨模态知识对齐任务的损失函数定义如下:

Lalign=logiIexp(sim(ECi,ETi)/τ)jinbatchnegsamplesexp(sim(ECi,ETj)/τ) \mathcal { L } _ { \mathrm { a l i g n } } = - \log \sum _ { i \in I } \frac { \exp ( \mathrm { sim } ( E _ { C _ { i } } , E _ { T _ { i } } ) / \tau ) } { \underset { j \in \mathrm { in-batch neg-samples } } { \sum } \exp ( \mathrm { sim } ( E _ { C _ { i } } , E _ { T _ { j } } ) / \tau ) }

其中:

  • Lalign\mathcal{L}_{\mathrm{align}} 是跨模态知识对齐损失。
  • ECiE_{C_i} 是物品 ii 的协作嵌入,通过随机初始化的序列推荐模型(例如 DIN [72])编码用户历史序列 XX 获得。
  • ETiE_{T_i} 是物品 ii 经过模态适应层转换后的语义嵌入。
  • ETjE_{T_j} 是负样本 jj 经过模态适应层转换后的语义嵌入。负样本 jj 从与物品 ii 相同的批次中的其他物品中选择。
  • sim(,)\mathrm{sim}(\cdot, \cdot) 表示嵌入之间的相似度函数(例如,点积 (Dot Product) 或余弦相似度 (Cosine Similarity))。
  • τ\tau 是一个温度参数 (Temperature Parameter),用于控制相似度分布的平滑度。

4.3.3. 下一项预测任务 (Next Item Prediction Task)

除了对齐损失,论文还采用了下一项预测任务 (Next Item Prediction Task),其作用是利用协作表示来学习用户的偏好。此任务将用户的历史交互序列 [x1,x2,,xt1][x_1, x_2, \ldots, x_{t-1}] 作为输入,学习用户偏好的表示,并通过衡量学习到的偏好与候选物品之间的相似度来计算匹配分数。这些分数随后被归一化 (Normalized) 以得出预测物品 xtx_t 的概率。该任务的损失函数定义如下:

Lseq=t=2Llogp(xtx1,x2,...,xt1) \mathcal { L } _ { \mathrm { s e q } } = - \sum _ { t = 2 } ^ { L } \log p ( x _ { t } \mid x _ { 1 } , x _ { 2 } , . . . , x _ { t - 1 } )

其中:

  • Lseq\mathcal{L}_{\mathrm{seq}} 是下一项预测任务的损失。
  • xtx_t 是目标预测物品。
  • x1,,xt1x_1, \ldots, x_{t-1} 是用户历史交互序列。
  • LL 是用户历史交互序列的长度。
  • p(xtx1,,xt1)p(x_t \mid x_1, \ldots, x_{t-1}) 是在给定历史交互序列的情况下预测物品 xtx_t 的概率。

4.3.4. 第一阶段总损失 (Total Loss for Stage I)

第一阶段的总损失函数通过结合下一项预测损失和跨模态知识对齐损失来定义:

LStageI=Lseq+αLalign \mathcal { L } _ { \mathrm { S t a g eI } } = \mathcal { L } _ { \mathrm { s e q } } + \alpha \mathcal { L } _ { \mathrm { a l i g n } }

其中:

  • LStageI\mathcal{L}_{\mathrm{StageI}} 是第一阶段的总损失。
  • Lseq\mathcal{L}_{\mathrm{seq}} 是下一项预测损失。
  • Lalign\mathcal{L}_{\mathrm{align}} 是跨模态知识对齐损失。
  • α\alpha 是一个可调的超参数 (Hyperparameter),用于调整对齐损失的相对重要性。

4.3.5. 统一代码 (Unified Codes) 的生成

在第一阶段训练完成后,按照先前工作 [62] 的方法,通过分层 K-均值聚类 (Hierarchical K-means Clustering) 进行迭代量化 (Iterative Quantization) 来生成统一代码。该方法能够将高维物品嵌入高效地编码为离散的分层代码,同时在每个量化阶段尽可能多地保留信息。核心的数学关系和算法如 Algorithm 1 所示。

Algorithm 1 分层 K-均值聚类 (Hierarchical K-means Clustering)

Input: Item embeddings V = {v1, V2, . . . }, number of clusters K, hierarchy depth L Output: Unicode sequences = [, , . . , ] for all items
1: for each item i do 2:Initialize residual: r ← v
end for
4:for layer l ← 1 to L do
5:Collect residuals: Rl−1 ← {r−1, r−1, . . . }
6:Perform k-means clustering on Rl-1 with K clusters
7:Store centroids in codebook = {, , . . , }
8:for each item i do
9:Compute distances: = ‖r−1 − ∥2 for all k [1, K]
10:Assign cluster index: ← arg min
11:Record centroid: ← c
12:Update residual: r ← r−
13: end forend for

算法流程解释:

  1. 初始化残差向量 (Initialize Residual Vectors): 对于每个物品 ii,将其原始嵌入 vi\mathbf{v}_i 作为初始残差向量 ri0\mathbf{r}_i^0ri0=vi \mathbf { r } _ { i } ^ { 0 } = \mathbf { v } _ { i }

  2. 逐层量化 (Layer-by-Layer Quantization): 算法迭代进行 LL 层。

    • 在每一层 ll
      • 收集当前层的所有残差 Rl1={r1l1,r2l1,}\mathcal{R}^{l-1} = \{\mathbf{r}_1^{l-1}, \mathbf{r}_2^{l-1}, \ldots\}
      • 对这些残差执行 K-均值聚类 (K-means Clustering),生成 KK 个聚类中心 (Centroids)。
      • 将这些聚类中心存储在码本 Cl={C1l,C2l,,CKl}C_l = \{\mathbf{C}_1^l, \mathbf{C}_2^l, \ldots, \mathbf{C}_K^l\} 中。
      • 对于每个物品 ii
        • 计算其当前残差 ril1\mathbf{r}_i^{l-1} 与码本 ClC_l 中每个聚类中心 Ckl\mathbf{C}_k^l 之间的欧氏距离 (Euclidean Distance) dkd_kdk=ril1Ckl2 d _ { k } = \lVert \mathbf { r } _ { i } ^ { l - 1 } - \mathbf { C } _ { k } ^ { l } \rVert ^ { 2 }
        • 选择距离最近的聚类中心,并将其索引 cilc_i^l 作为物品 ii 在当前层 ll 的代码。 cil=argminkdk c _ { i } ^ { l } = \arg \operatorname* { m i n } _ { k } d _ { k }
        • 更新物品 ii 的残差向量 ril\mathbf{r}_i^l,从之前的残差中减去被选中的聚类中心 Cil=Ccill\mathbf{C}_i^l = \mathbf{C}_{c_i^l}^l。这个减法操作移除了当前层捕获的信息,使得下一层可以专注于剩余的细节。 ril=ril1Cil \mathbf { r } _ { i } ^ { l } = \mathbf { r } _ { i } ^ { l - 1 } - \mathbf { C } _ { i } ^ { l }
  3. 生成 Unicode 序列: 经过 LL 层处理后,每个物品 ii 都会得到一个离散的聚类索引序列 ci=[ci1,ci2,,ciL]\mathbf{c}_i = [c_i^1, c_i^2, \ldots, c_i^L]。这个序列作为物品嵌入的紧凑和分层 Unicode 表示。

    最终,构建一个物品-Unicode 查找表 (Item-Unicode Lookup Table),将每个物品映射到其对应的 Unicode 序列。这些 Unicode 作为物品的离散标识符,并在第二阶段的生成式推荐框架中发挥关键作用。

4.4. 第二阶段:生成式推荐

4.4.1. 编码过程 (Encoding Process)

在编码器 (Encoder) 侧,给定用户的交互历史 X=[x1,x2,,xt1]X = [x_1, x_2, \ldots, x_{t-1}],将其输入到一个由堆叠的多头自注意力层 (Stacked Multi-head Self-attention Layers) 和前馈网络层 (Feed-forward Layers) 组成的编码器中,遵循 Transformer 架构。编码器处理 XX 以生成一个特征表示 HH,该表示捕捉了用户的兴趣,并将传递给解码器。

4.4.2. 解码过程 (Decoding Process)

在解码器 (Decoder) 侧,物品被映射到第一阶段生成的 Unicode。任务目标从预测下一个物品 xtx_t 变为预测其 Unicode 序列 [c1,c2,,cL][c_1, c_2, \ldots, c_L]。为了训练,在物品 Unicode 前添加一个特殊词元 <BOS><BOS>(Begin Of Sequence,序列开始),以构建解码器输入。生成式推荐损失使用交叉熵损失函数 (Cross-entropy Loss Function) 计算,定义如下:

Lgen=i=1Llogp(cix,<B0S>,c1,,ci1) \mathcal { L } _ { \mathrm { g e n } } = - \sum _ { i = 1 } ^ { L } \log p ( c _ { i } \mid x , < { \mathsf { B0 } } { \mathsf { S } } { \mathsf { > } } , c _ { 1 } , \ldots , c _ { i - 1 } )

其中:

  • Lgen\mathcal{L}_{\mathrm{gen}} 是生成式推荐损失。
  • cic_iUnicode 序列中的第 ii 个代码。
  • xx 是编码器输出的用户历史表示。
  • <BOS><BOS> 是序列开始特殊词元。
  • p(cix,<BOS>,c1,,ci1)p(c_i \mid x, <BOS>, c_1, \ldots, c_{i-1}) 是在给定用户历史 xx 和之前已生成代码的情况下,预测当前代码 cic_i 的概率。

4.4.3. 内部模态知识蒸馏任务 (Intra-modality Knowledge Distillation Task)

为了弥补第一阶段量化过程造成的信息损失,论文引入了一个内部模态知识蒸馏任务 (Intra-modality Knowledge Distillation Task)。受 BERT [6] 中 [CLS] 词元用于捕捉全局上下文的启发,在解码器输入的末尾添加一个可学习的特殊词元 [c_dis]。这个词元旨在总结序列的信息内容,并允许梯度 (Gradients) 通过每个前面的 Unicode 进行传播,从而促使 [c_dis] 捕获全局信息。

具体来说,对应于 [c_dis] 的解码器最终层输出被用于一个全局对比学习目标 (Global Contrastive Learning Objective)。正样本是目标物品 xtx_t 在第一阶段学习到的融合嵌入 EtE_t,负样本是从物品语料库中随机选择的、不包括 xtx_t 的其他物品的融合嵌入 EnegE_{\mathrm{neg}}。这个目标将 [c_dis] 的最终层输出拉近正样本 EtE_t,并推远负样本 EnegE_{\mathrm{neg}}。蒸馏任务的损失函数定义如下:

Ldistillation=logexp(cdisEt)exp(cdisEt)+exp(cdisEneg) \mathcal { L } _ { \mathrm { d i s t i l l a t i o n } } = - \log \frac { \exp ( c _ { \mathrm { d i s } } \cdot E _ { t } ) } { \exp ( c _ { \mathrm { d i s } } \cdot E _ { t } ) + \sum \exp ( c _ { \mathrm { d i s } } \cdot E _ { \mathrm { n e g } } ) }

其中:

  • Ldistillation\mathcal{L}_{\mathrm{distillation}} 是内部模态知识蒸馏损失。
  • cdisc_{\mathrm{dis}} 表示解码器对特殊词元 [c_dis] 的最终层输出。
  • EtE_t 是在第一阶段学习到的目标物品 xtx_t 的融合嵌入(正样本)。
  • EnegE_{\mathrm{neg}} 是在第一阶段学习到的负样本的融合嵌入。

4.4.4. 第二阶段总损失 (Total Loss for Stage II)

第二阶段的总损失函数定义如下:

LStageII=Lgen+βLdistillation \mathcal { L } _ { \mathrm { S t a g eII } } = \mathcal { L } _ { \mathrm { g e n } } + \beta \mathcal { L } _ { \mathrm { d i s t i l l a t i o n } }

其中:

  • LStageII\mathcal{L}_{\mathrm{StageII}} 是第二阶段的总损失。
  • Lgen\mathcal{L}_{\mathrm{gen}} 是生成式推荐损失。
  • Ldistillation\mathcal{L}_{\mathrm{distillation}} 是内部模态知识蒸馏损失。
  • β\beta 是一个超参数,用于平衡这两个目标。

4.5. 训练和推理

4.5.1. 训练 (Training)

论文采用两阶段训练过程:

  • 第一阶段: 使用 DIN 作为主干网络,并使用损失函数 LStageI\mathcal{L}_{\mathrm{StageI}} 优化模型。第一阶段训练完成后,提取物品的融合嵌入并推导出物品 Unicode
  • 第二阶段: 使用 Transformer 作为生成式推荐模型,并使用损失函数 LStageII\mathcal{L}_{\mathrm{StageII}} 优化模型。

4.5.2. 推理 (Inference)

在推理阶段,仅使用训练好的 Transformer 模型。在解码过程中,采用集束搜索 (Beam Search) 迭代生成物品 Unicode 序列中的每个代码。一旦生成完成,物品 Unicode 通过物品-Unicode 查找表映射回对应的物品,并根据置信度分数创建 top-k 推荐列表,生成最终结果。

4.6. 计算和存储成本分析

论文分析了 UNGER 与现有方法相比的计算和存储效率。

4.6.1. 计算成本 (Computational Cost)

  • UNGER: 编码阶段通过编码器处理用户交互序列一次,生成一个潜在表示。主要的计算负担在于解码阶段,解码器自回归地生成目标物品代码的每个词元 (Token)。假设代码长度固定为 LL,生成每个物品代码序列的解码时间为 O(L)O(L)。总的解码复杂度为 O(L)O(L)

  • 现有方法 (如 EAGER [62], SC-Rec [26]): 采用单独的模态特定代码,通常维护 KK 个并行解码器,每个对应一个模态(如语义、协作)。为了生成推荐,这些方法必须并行解码 KK 个模态特定代码,导致累计解码成本为 O(KL)O(KL)。此外,这些方法通常还包括一个额外的基于置信度分数的排序或融合步骤来整合不同模态的输出。

    总结: UNGER 通过将所有模态统一到一个代码中并仅解码一次,显著降低了计算复杂度,从 O(KL)O(KL) 降至 O(L)O(L),在模态数量 KK 较大时,这是一个更具可扩展性的解决方案。

4.6.2. 存储成本 (Storage Cost)

  • UNGER: 将所有相关信息压缩到一个统一代码中,每个物品仅需要 O(M)O(M) 的存储空间(假设一个统一代码的存储大小为 MM)。

  • 现有方法: 存储 KK 个模态特定代码,每个物品的总存储成本为 O(KM)O(KM)

    总结: UNGER 的统一编码策略在计算和存储效率方面都带来了显著改进。解码时间从 O(KL)O(KL) 减少到 O(L)O(L),存储需求从 O(KM)O(KM) 减少到 O(M)O(M),使得该方法非常适合需要实时性能和内存可扩展性的大规模推荐系统。

以下是论文中对计算和存储成本的对比表格:

以下是原文 Table 1 的结果:

TIGER EAGER UNGER (Ours)
Computation Cost O(n) O(2n) O(n)
Storage Cost O(m) O(2m) O(m)
Used Modality Semantic Only Semantic + Collaborative Semantic + Collaborative

符号解释:

  • Computation Cost:计算成本,衡量模型推理时的计算量。

  • Storage Cost:存储成本,衡量模型存储物品代码所需的空间。

  • Used Modality:使用的模态类型。

  • O(n)O(n):表示计算成本与代码长度 nn 成线性关系。

  • O(m)O(m):表示存储成本与单个模态代码的存储大小 mm 成线性关系。

  • TIGER:生成式推荐模型,仅使用语义模态。

  • EAGER:生成式推荐模型,使用语义和协作模态,但采用独立代码。

  • UNGER (Ours):本文提出的模型,使用语义和协作模态,但采用统一代码。

    从表格中可以看出,EAGER 由于使用两套独立代码,其计算和存储成本都是 UNGER 的两倍,这进一步验证了统一代码在效率上的优势。

5. 实验设置

5.1. 数据集

实验在三个公共基准数据集上进行,这些数据集常用于序列推荐任务。所有数据集的用户交互记录都按时间戳升序排列。遵循 [48, 69] 的做法,只保留 5-core 数据集,即过滤掉交互记录少于五次的非热门物品和不活跃用户。

以下是原文 Table 2 的结果:

Dataset #Users #Items #Interactions #Density
Beauty 22,363 12,101 198,360 0.00073
Sports and Outdoors 35,598 18,357 296,175 0.00045
Toys and Games 19,412 11,924 167,526 0.00073

数据集来源:

  • Amazon: Amazon Product Reviews 数据集 [40],包含 1996 年 5 月至 2014 年 7 月的用户评论和物品元数据。具体使用了以下三个类别:
    • Beauty (美妆)
    • Sports and Outdoors (运动与户外)
    • Toys and Games (玩具与游戏)

数据集特点:

  • 稀疏性:#Density 列可以看出,这些数据集都非常稀疏,密度值远小于 1,这反映了推荐系统面临的典型挑战。
  • 规模适中: 用户、物品和交互数量适中,适合进行模型验证和对比。
  • 领域多样性: 涵盖了不同商品类别,有助于验证模型的泛化能力。

评估策略:

  • 采用留一法 (Leave-one-out Strategy) 进行评估:对于每个用户,将最新的交互记录作为测试集 (Test Set),倒数第二个作为验证集 (Validation Set),其余的用于训练 (Training Set)。
  • 用户历史序列长度限制为 20。

5.2. 评估指标

论文使用 Recall@KNDCG@K 这两个常用的评估指标来衡量推荐性能。

5.2.1. Recall@K (召回率@K)

概念定义: Recall@K 衡量的是在模型推荐的 top-K 列表中,实际被用户采纳或感兴趣的物品所占的比例。它关注的是模型找到所有相关物品的能力,即模型是否能够“召回”用户真正喜欢的物品。

数学公式: Recall@K=1UuUI(ru<K) \mathrm { R e c a l l } @ K = \frac { 1 } { | \mathcal { U } | } \sum _ { u \in \mathcal { U } } \mathbb { I } ( r _ { u } < K )

符号解释:

  • U|\mathcal{U}|:表示所有用户的总数。
  • uUu \in \mathcal{U}:表示一个特定的用户。
  • rur_u:表示用户 uu 的真实下一个交互物品在推荐列表中的排名。
  • I()\mathbb{I}(\cdot):是指示函数 (Indicator Function)。如果条件 ru<Kr_u < K 为真,则其值为 1;否则为 0。这意味着如果用户的真实下一个交互物品出现在 top-K 推荐列表中(即其排名小于 KK),则计数为 1。
  • Recall@K\mathrm{Recall}@K 计算的是所有用户中,其真实下一个交互物品出现在 top-K 推荐列表的用户比例的平均值。

5.2.2. NDCG@K (归一化折衷增益@K)

概念定义: NDCG@K (Normalized Discounted Cumulative Gain at K) 是一种衡量推荐列表质量的指标,它考虑了物品的相关性 (Relevance) 和它们在列表中的排名。它强调排名靠前的相关物品比排名靠后的相关物品更有价值。NDCG 值越高表示推荐列表的质量越好。

数学公式:

DCG@K (Discounted Cumulative Gain at K) 的计算公式: DCGu@K=j=1K2yu,j1log2(j+1) \mathrm { DCG } _ { u } @ K = \sum _ { j = 1 } ^ { K } \frac { 2 ^ { y _ { u , j } } - 1 } { \log _ { 2 } ( j + 1 ) }

IDCG@K (Ideal Discounted Cumulative Gain at K) 的计算公式: IDCGu@K=j=1K2yu,j1log2(j+1) \mathrm { IDCG } _ { u } @ K = \sum _ { j = 1 } ^ { K } \frac { 2 ^ { y ^ { * } _ { u , j } } - 1 } { \log _ { 2 } ( j + 1 ) }

NDCG@K 的计算公式: NDCGu@K=DCGu@KIDCGu@K \mathrm { NDCG } _ { u } @ K = \frac { \mathrm { DCG } _ { u } @ K } { \mathrm { IDCG } _ { u } @ K } 最终的 NDCG@K 是所有用户的平均值: NDCG@K=1Uu=1UNDCGu@K \mathrm { NDCG } @ K = \frac { 1 } { | \mathbb { U } | } \sum _ { u = 1 } ^ { | \mathbb { U } | } \mathrm { NDCG } _ { u } @ K

符号解释:

  • KK:表示推荐列表的长度,即考虑 top-K 物品。
  • uu:表示一个特定的用户。
  • jj:表示推荐列表中物品的排名(从 1 到 KK)。
  • yu,jy_{u,j}:表示对于用户 uu 而言,排名第 jj 的推荐物品的相关性分数 (Relevance Score)。在二元相关性设置中(如本文),如果第 jj 个物品是用户的真实下一个交互物品,则 yu,j=1y_{u,j} = 1;否则为 0。
  • yu,jy^*_{u,j}:表示在理想排名 (Ideal Ranking) 中,排名第 jj 的物品的相关性分数。理想排名是指将所有相关物品按最高相关性降序排列的列表。在二元相关性中,如果用户只有一个真实交互物品,则 yu,1=1y^*_{u,1}=1,其余为 0。
  • log2(j+1)\log_2(j+1):是折扣因子 (Discounting Factor),它使得排名靠前的物品的相关性贡献更大,而排名靠后的物品贡献逐渐减小。
  • DCGu@K\mathrm{DCG}_u@K:表示用户 uu 的推荐列表在 top-K 上的折衷累积增益。
  • IDCGu@K\mathrm{IDCG}_u@K:表示用户 uu 在理想情况下(即完美推荐)top-K 上的最大可能折衷累积增益。
  • NDCGu@K\mathrm{NDCG}_u@K:表示用户 uu 的推荐列表的归一化折衷累积增益,通过将 DCG 除以 IDCG 进行归一化,使得 NDCG 值通常在 0 到 1 之间。
  • U|\mathbb{U}|:表示所有用户的总数。

5.3. 对比基线

论文将 UNGER 与多种代表性的基线模型进行了比较,包括传统的序列建模方法和最新的生成式技术。

5.3.1. 传统序列推荐方法 (Classical Sequential Methods)

  • GRU4Rec [17]: 基于门控循环单元 (GRU) 的 RNN 模型,用于建模用户点击序列。
  • Caser [52]: 基于卷积神经网络 (CNN) 的方法,通过水平和垂直卷积操作捕捉用户行为中的高阶马尔可夫链 (High-order Markov Chains)。
  • SASRec [24]: 基于自注意力 (Self-attention) 的序列推荐模型,采用单向 Transformer 编码器 (Unidirectional Transformer Encoder) 和多头注意力机制 (Multi-head Attention Mechanism) 来有效建模用户行为并预测序列中的下一个物品。
  • BERT4Rec [51]: 采用 Transformer 模型和双向自注意力机制 (Bidirectional Self-attention Mechanism),使用完形填空 (Cloze Objective Loss) 目标损失来建模物品序列。
  • HGN [39]: 采用分层门控网络 (Hierarchical Gating Networks) 来捕捉用户的长期和短期兴趣。
  • FDSA [69]: 利用自注意力网络 (Self-attention Networks) 分别建模物品级别和特征级别的序列,强调物品特征间的转换模式,并利用特征级别自注意力块 (Feature-level Self-attention Block) 捕捉特征转换动态。
  • S³-Rec [73]: 通过互信息最大化 (Mutual Information Maximization) 预训练双向 Transformer,增强模型通过自监督任务学习物品及其属性之间相关性的能力。

5.3.2. 生成式方法 (Generative Methods)

  • RecForest [11]: 通过多个 K 叉树 (K-ary Trees) 共同学习潜在嵌入和索引,利用分层平衡聚类 (Hierarchical Balanced Clustering) 和基于 Transformer 的编码器-解码器路由网络 (Encoder-Decoder Routing Network) 来提高识别 top-n 物品的准确性和内存效率。
  • TIGER [47]: 利用预训练的 T5 编码器 (Pre-trained T5 Encoder) 学习物品的语义标识符 (Semantic Identifiers),并使用这些标识符自回归地解码目标候选物品,结合 RQ-VAE 量化 (RQ-VAE Quantization) 来构建不依赖于序列顺序的通用物品标识符。
  • ColaRec [61]: 在端到端框架 (End-to-End Framework) 内集成用户-物品交互和内容数据,利用预训练的协作标识符 (Collaborative Identifiers)、物品索引任务 (Item Indexing Task) 和对比损失 (Contrastive Loss) 来对齐语义和协作空间,以增强推荐性能。
  • EAGER [62]: 通过共享编码、独立解码 (Separate Decoding) 以及对比和语义引导学习 (Semantic-guided Learning) 策略的双流架构 (Two-stream Architecture) 集成行为和语义信息,以增强协作信息的利用。

5.4. 实现细节

  • 模型架构:

    • 编码器层数:1
    • 解码器层数:4
    • 嵌入维度:96 (Embedding Dimension)
    • 隐藏层大小:256 (Hidden Size)
    • 注意力头数:6 (Heads)
  • 量化参数:

    • 聚类数量:256 (Num of Clusters)
    • 聚类深度:4 (Cluster Depth)
  • 训练参数:

    • 学习率:10310^{-3} (Learning Rate)
    • 优化器:Adam (Optimizer)
    • 批次大小:256 (Batch Size)
    • 训练步数:20000 (Training Steps)
    • Dropout 率:0 (Dropout Rate)
    • 激活函数:ReLU (Activation Function)
    • 权重衰减:10710^{-7} (Weight Decay)
    • 预热步数:2000 (Warmup Steps)
    • 预热初始学习率:10710^{-7} (Warmup Initial Learning Rate)
  • 超参数:

    • α\alpha (第一阶段损失平衡系数):1.0
    • β\beta (第二阶段损失平衡系数):1.0
    • τ\tau (Info-NCE 温度参数):1.0
  • 编码器选择:

    • 语义编码器:Llama2-7b [53]
    • 协作编码器:DIN [72]
  • 推理参数:

    • 集束宽度:100 (Beam Width)
  • 随机种子 (Random Seed): 2024

  • 实验重复次数: 每个实验重复五次,报告平均分数。

    以下是原文 Table 4 的结果:

    Parameter Value
    Embedding Dimension 96
    Model Layers 4
    Hidden Size 256
    Heads 6
    Num of Clusters 256
    Cluster Depth 4
    Learning Rate 1e-3
    Optimizer Adam
    Semantic Encoder Llama2-7b
    Collaborative Encoder DIN
    Batch Size 256
    Training Steps 20000
    Dropout Rate 0
    Beam Width 100
    Activation Function ReLU
    Weight Decay 1e-7
    Warmup Steps 2000
    Warmup Initial Learning Rate 1e-7
    Random Seed 2024
    α 1.0
    β 1.0
    τ 1.0

资源信息:

以下是原文 Table 5 的结果:

Information Value
Device NVIDIA RTX 3090 GPU (24GB) ×1
Training Time less than 1 GPU hour
Inference Latency (ms) 19.5
Model Parameter 10249988

6. 实验结果与分析

6.1. 核心结果分析 (RQ1)

RQ1: UNGER 与现有表现最佳的序列推荐方法在不同数据集上的性能如何?

以下是原文 Table 3 的结果:

Dataset Metric Classical Generative UNGER (Ours)
GRU4REC Caser SASRec BERT4Rec HGN FDSA S3-Rec Recorest TIGER ColaRec EAGER
Beauty Recall@10 0.0283 0.0605 0.0347 0.0512 0.0407 0.0647 0.0664 0.0617* 0.0524* 0.0836 0.0939 ±0.00093
Recall@20 0.0479 C0 0.0902 0.0599 0.0773 0.0656 0.0994 0.0915 0.0924* 0.0807* 0.1124 0.1289 ±0.00084
NDCG@10 0.0137 0.0176 0.0318 0.0170 0.0266 0.0208 0.0327 0.0400 0.0339* 0.0263* 0.0525 0.0559 ±0.00037
NDCG@20 0.0229 0.0394 0.0233 0.0332 0.0270 0.0414 0.0464 0.0417* 0.0335* 0.0599 0.0646 ±0.00041
Sports Recall@10 0.0204 0.0194 0.0350 0.0191 0.0313 0.0288 0.0385 0.0247 0.0376* 0.0348* 0.0441 0.0471 ±0.00078
Recall@20 0.0333 0.0314 0.0507 0.0315 0.0477 0.0463 0.0607 0.0375 0.0577* 0.0533* 0.0659 0.0710 ±0.00075
NDCG@10 0.0110 0.0097 0.0192 0.0099 0.0159 0.0156 0.0204 0.0133 0.0196* 0.0179* 0.0236 0.0259 ±0.00034
NDCG@20 0.0142 0.0126 0.0231 0.0130 0.0201 0.0200 0.0260 0.0164 0.0246* 0.0226* 0.0291 0.0319 ±0.00049
Toys Recall@10 0.0176 0.0270 0.0675 0.0203 0.0497 0.0381 0.0700 0.0383 0.0578* 0.0474* 0.0714 0.0822 ±0.00085
Recall@20 0.0301 0.0420 0.0941 0.0358 0.0716 0.0632 0.1065 0.0483 0.0838* 0.0704* 0.1024 0.1154 ±0.00070
NDCG@10 0.0084 0.0141 0.0374 0.0099 0.0277 0.0189 0.0376 0.0285 0.0321* 0.0242* 0.0505 0.0489 ±0.00032
NDCG@20 0.0116 0.0179 0.0441 0.0138 0.0332 0.0252 0.0468 0.0310 0.0386* 0.0300* 0.0538 0.0573 ±0.00025

关键观察与分析:

  1. UNGER 性能卓越:

    • UNGER 在所有三个数据集 (Beauty, Sports and Outdoors, Toys and Games) 上,以及所有评估指标 (Recall@10, Recall@20, NDCG@10, NDCG@20) 上,始终实现了最佳性能。
    • 特别是在 Beauty 数据集上,UNGER 相较于次优基线 EAGER,在 Recall@20 上提升了 14.68% (0.1289 vs 0.1124),在 NDCG@20 上提升了 7.85% (0.0646 vs 0.0599)。
    • 原因分析: 这种显著的性能提升归因于 UNGER 创新性地通过统一离散代码 Unicode 有效整合了协同过滤信号和语义内容表示的互补优势。通过紧凑的表示空间,UNGER 不仅提高了模型效率,还减少了冗余,且在参数数量大约是 EAGER 一半的情况下,实现了更好的性能。这使得 UNGER 更准确、更轻量且更具可扩展性。
  2. UNGER 优于现有生成式推荐模型:

    • 在与 TIGER、ColaRec 和 EAGER 等生成式基线模型的比较中,UNGER 展现出一致的性能优势。
    • 原因分析: 这种优势源于 UNGER 的两阶段多任务联合优化框架,该框架专门设计用于在共享代码空间内捕获和统一协作与语义知识。这个框架通过强化协作信号与语义嵌入之间的互信息 (Mutual Information),使 UNGER 能够学习到更连贯、更富有表现力的物品表示。统一代码充当了连接这两种模态的桥梁,从而使模型能够做出更明智和细致的推荐。这些改进证实了 UNGER 设计的有效性,并强调了生成式推荐模型中统一代码表示的重要性。
  3. 生成式模型普遍优于传统推荐模型:

    • 实验结果显示,生成式模型(包括 UNGER 和大多数其他生成式基线)普遍优于 GRU4Rec、Caser、SASRec 等传统序列推荐方法。
    • 原因分析: 关键区别在于物品表示方式。传统方法通常将物品 ID 视为原子、无信息的符号,缺乏结构或上下文信息。相比之下,生成式模型,特别是基于 Transformer 解码器的模型,利用离散分层代码 (Discrete Hierarchical Codes) 封装了关于物品语义和关系的丰富先验知识。这种结构化表示与 Transformer 的逐词元生成过程自然契合,使得模型能够更好地捕捉序列依赖和上下文相关性。因此,生成式模型不仅提供了更高的准确性,还为推荐生成提供了一个更具可解释性和原则性的框架。

6.2. 语义主导问题 (RQ2)

RQ2: UNGER 在缓解语义主导问题方面的效果如何?

为了探究 UNGER 是否解决了语义主导问题,论文在 Amazon Beauty 数据集上进行了实验。

实验方法:

  1. 拼接方法 (Concatenation Method):

    • 提取物品的语义嵌入 (Semantic Embeddings)。
    • 使用 DIN 提取物品的协作嵌入 (Collaborative Embeddings)。
    • 为了减轻维度和值分布不匹配的问题,先对语义嵌入进行 PCA 降维以匹配协作嵌入的维度,然后对两者进行归一化 (Normalization),最后进行拼接 (Concatenation),得到最终的拼接嵌入。
  2. UNGER 方法: 使用 UNGER 提出的方法获得物品的融合嵌入 (Integrated Embeddings)。

    为了可视化嵌入分布,论文使用 t-SNE 技术进行降维可视化,并使用 K-均值聚类算法对这些嵌入进行聚类,不同颜色代表不同的聚类。

下图(原文 Figure 6)展示了不同方法下嵌入分布的可视化:

该图像是一个示意图,展示了不同嵌入分布的可视化结果,包括协作嵌入、语义嵌入、拼接嵌入和我们的方法嵌入分布。每个区域的颜色代表不同的嵌入类别,通过这种方式,有助于比较不同方法在嵌入表现上的差异。
Figure 6: 嵌入分布的可视化。 (a) 协作嵌入,(b) 语义嵌入,(c) 拼接嵌入,(d) UNGER 融合嵌入。

从 Figure 6 中可以看出:

  • 语义主导现象: 拼接方法 (c) 生成的融合嵌入的分布模式与原始语义嵌入 (b) 密切对齐,而与协作嵌入 (a) 的分布差异较大。这表明语义信息在拼接过程中对最终表示产生了过度影响,即语义主导问题。

    为了定量衡量语义嵌入和协作嵌入对最终嵌入的相对相似性,论文使用了 KL 散度 (KL Divergence) 来评估分布的相似性。每个模态的相对相似性计算如下:

语义相似性 (Similarity_semantic): Similaritysemantic=1KL(SE)KL(SE)+KL(CE) { \mathrm { S imilarity } } _ { \mathrm { semantic } } = 1 - { \frac { \operatorname { KL } ( S \parallel E ) } { \operatorname { KL } ( S \parallel E ) + \operatorname { KL } ( C \parallel E ) } }

协作相似性 (Similarity_collaborative): Similaritycollaborative=1KL(CE)KL(SE)+KL(CE) { \mathrm { S imilarity } } _ { \mathrm { collaborative } } = 1 - { \frac { \mathrm { KL } ( C \parallel E ) } { { \mathrm { KL } } ( S \parallel E ) + { \mathrm { KL } } ( C \parallel E ) } }

其中:

  • EE 代表使用不同方法(拼接或 UNGER)得到的最终嵌入。

  • SS 代表语义嵌入。

  • CC 代表协作嵌入。

  • KL(AB)\operatorname{KL}(A \parallel B) 表示从分布 AA 到分布 BB 的 KL 散度,衡量两个分布之间的差异。

    以下是原文 Table 6 的结果:

    Approach Semantic modality Collaborative modality
    Concat 97.33% 2.67%
    Ours 59.89% 40.11%

以下是原文 Table 7 的结果:

Dataset Metric Beauty
Recall@10 Recall@20 NDCG@10 NDCG@20
Semantic Only 0.0791 0.1077 0.0462 0.0535
Collaborative Only 0.0744 0.0997 0.0469 0.0532
Concat 0.0759 0.1071 0.0452 0.0530
Ours 0.0939 0.1289 0.0559 0.0646

关键观察与分析:

  1. 拼接方法的语义主导:

    • Table 6 显示,拼接方法中语义模态的相似性占比高达 97.33%,而协作模态仅占 2.67%。这定量地证实了语义主导问题,即语义信息在拼接后的表示中占据了绝大部分影响力。
    • Figure 4 饼图也直观地展示了拼接方法中语义模态的压倒性优势。
    • Table 7 中,拼接方法 (Concat) 的性能甚至低于仅使用语义信息 (Semantic Only) 的方法 (例如,Recall@20: 0.1071 vs 0.1077; NDCG@20: 0.0530 vs 0.0535)。这表明简单拼接不仅未能有效利用协作信息,反而可能引入噪声或偏差,对性能产生负面影响。
  2. UNGER 有效缓解语义主导:

    • Table 6 显示,UNGER 方法中语义模态的相似性占比为 59.89%,协作模态为 40.11%。这表明 UNGER 实现了更平衡的模态集成,显著提升了协作信息的贡献。

    • Figure 6 (d) 中的 UNGER 融合嵌入分布与语义嵌入和协作嵌入都保持了合理的相似性,避免了语义的过度主导。

    • Table 7 中,UNGER 显著优于所有单模态方法(Semantic Only, Collaborative Only)和拼接方法 (Concat)。例如,在 Recall@20 上,UNGER 达到 0.1289,远高于 Semantic Only 的 0.1077 和 Concat 的 0.1071。这表明 UNGER 成功地融合了两种模态的互补知识,从而获得了更好的推荐效果。

      结论: UNGER 通过其提出的模态适应层和跨模态知识对齐任务,有效解决了语义主导问题。它在分布层面以更平衡的方式学习了来自协作和语义模态的嵌入,并在定量评估中实现了两种模态更均衡的相似性贡献。这防止了语义嵌入主导最终表示,从而带来了显著的性能提升。

6.3. 消融研究 (RQ3)

RQ3: 跨模态知识对齐 (CKA) 和内部模态知识蒸馏 (IKD) 任务是否分别对 UNGER 的性能有积极贡献?

为了理解 UNGER 各组件的独立贡献,论文进行了消融研究 (Ablation Study)。通过逐步移除两个关键辅助任务:内部模态知识蒸馏 (Intra-modality Knowledge Distillation, IKD) 和跨模态知识对齐 (Cross-modality Knowledge Alignment, CKA) 任务,构建了几个模型的简化版本。

以下是原文 Table 8 的结果:

Dataset Metric | CKA CKA + IKD (Ours)
Beauty Recall@10 0.0759 0.0827 0.0939
Recall@20 0.1071 0.1122 0.1289
NDCG@10 0.0452 0.0509 0.0559
NDCG@20 0.0530 0.0583 0.0646

变体说明:

  • Baseline (无 CKA, 无 IKD): 对应表格中第一个数字列,其性能与 Concat 方法相同,即语义和协作嵌入仅进行简单的拼接。
  • CKA: 表示模型仅包含跨模态知识对齐任务。
  • CKA + IKD (Ours): 表示完整的 UNGER 模型,包含跨模态知识对齐和内部模态知识蒸馏任务。

关键观察与分析:

  1. 移除 CKA 和 IKD 的影响:

    • 当 CKA 和 IKD 两个任务都被移除时(即 Baseline),模型的性能最差。例如,Recall@20 仅为 0.1071。这与 Table 7 中 Concat 方法的性能一致,验证了 Baseline 模型的构建方式。
    • 这强有力地表明 CKA 和 IKD 在 UNGER 的成功中都扮演了不可或缺的角色。
  2. CKA 任务的有效性:

    • 当仅保留 CKA 任务时,模型性能相比 Baseline 有显著提升。例如,Recall@20 从 0.1071 提升到 0.1122,NDCG@20 从 0.0530 提升到 0.0583。
    • 这表明对齐跨模态的知识能够让模型捕获更丰富、更全面的物品表示。CKA 任务有效地充当了模态间的桥梁,使模型能够有效利用它们的互补信息。
  3. CKA 和 IKD 的协同效应:

    • 当 CKA 和 IKD 任务都包含在内时(完整 UNGER 模型),模型实现了最佳性能。Recall@20 达到 0.1289,NDCG@20 达到 0.0646,显著优于仅有 CKA 的版本。

    • 这种协同效应表明,CKA 建立了强大的跨模态连接,而 IKD 任务则通过从原始嵌入中蒸馏知识,增强了内部模态的一致性,从而确保模型充分利用协作和语义知识的互补优势。这种协同作用促进了强大、统一的物品代码的学习,显著提高了推荐质量。

      结论: 消融研究结果清晰地表明,UNGER 的每个组件都对其整体性能做出了有意义的贡献。CKA 和 IKD 任务不仅在单独使用时有效,而且相互补充。它们的集成对于在生成式推荐中实现最先进的结果至关重要,验证了该方法的有效性和优越性。

6.4. 缩放定律研究 (RQ4)

RQ4: 不同的消融变体和超参数设置如何影响 UNGER 的性能? (本节主要关注缩放定律部分)

生成式模型因其展现缩放定律 (Scaling Law) 特性的潜力而受到广泛关注。然而,在生成式推荐领域探索这一现象的研究仍然有限。虽然最近的一项研究 HSTU [68] 探索了生成式推荐的缩放定律特性,但其焦点较窄。据作者所知,尚未有研究在同时利用语义和协作信息的模型中探索缩放定律。本文首次系统地尝试探索生成式推荐模型的缩放定律,研究模型性能如何随模型深度 (Model Depth)、模型宽度 (Model Width) 和数据量 (Data Volume) 的变化而演变。

6.4.1. 模型深度 (Model Depth)

下图(原文 Figure 7)展示了模型深度对性能的影响:

该图像是图表,展示了不同层数对模型性能的影响,包括Recall@20和NDCG@20的变化趋势。随着层数的增加,'Ours'表现出更好的性能,而去掉协作模态和语义模态的模型性能有所下降。
Figure 7: 模型深度对 Beauty 数据集性能的影响。

关键观察与分析:

  • 性能提升: 随着模型层数 (Layers) 的增加(从 1 到 8),模型的性能呈现持续改进的趋势。Recall@20NDCG@20 都显示出稳定的增益,尤其是在 1 到 8 层之间,这表明更深的模型能够更好地捕捉复杂的用户-物品交互模式。
  • 统一代码的优势: 论文将这种卓越性能归因于统一代码结构,它将协作和语义信息共同编码到一个共享的表示空间中。这种统一的设计使得模型能够利用低级别交互信号和高级别语义属性,从而在每一层提供更丰富、更多样化的学习信号。
  • 冗余缓解与互正则化: 统一代码结构缓解了模态之间的冗余,并促进了相互正则化 (Mutual Regularization),使得模型在扩展时能够更有效地解耦有意义的模式。
  • 深度受益协同: 这种协同效应在模型深度增加时变得越来越有利。更深的层能够以互补的方式精炼和抽象这两种信息,增强模型的泛化能力。
  • 与单模态对比: 图中还显示了移除协作模态和移除语义模态的变体。Ours 始终优于这些变体,且性能差距随着深度的增加而扩大,突出了在统一框架中整合语义和协作模态的优势。

6.4.2. 数据量 (Data Size)

下图(原文 Figure 8)展示了数据量对性能的影响:

Fig. 8. Impact of data volume on the Beauty dataset.
Figure 8: 数据量对 Beauty 数据集性能的影响。

关键观察与分析:

  • 性能随数据量增加而提升: Recall@20NDCG@20 都随着数据量的增加(从 20% 到 100%)而持续提升,这表明模型能有效受益于更大的训练语料库。
  • 数据效率: 这种上升趋势突显了统一代码结构的数据高效性,它联合利用了协作和语义模态。通过从交互历史和物品语义中学习,模型能够随着数据规模的增加提取更多有意义的模式。
  • 快速增益: 特别是当数据量从 20% 增加到 40% 时,Recall@20 经历了显著增长,这表明模型能够快速利用额外的交互信号来增强其有效性。
  • 鲁棒性: 在此之后,模型性能继续以稳定的速度提升,凸显了该方法的可靠性。在所有数据量下持续的性能提升表明了训练数据规模在增强生成式推荐模型能力方面的重要性。

6.4.3. 模型宽度 (Model Width)

下图(原文 Figure 9)展示了模型宽度对性能的影响:

Fig. 9. Impact of model width on the Beauty dataset. The number of width varies from 24 to 768.
Figure 9: 模型宽度对 Beauty 数据集性能的影响。模型宽度从 24 变化到 768。

关键观察与分析:

  • 先升后降: Recall@20NDCG@20 都呈现出先上升后下降的趋势,即模型性能随着宽度的增加先提高,然后开始下降。
  • 最佳宽度: 模型在宽度设置为 96 时达到了最佳性能,这表明适度的宽度可以在模型容量和泛化能力之间取得良好平衡。
  • 过度参数化: 超过 96 后,继续增加宽度并没有带来进一步的改进,甚至导致性能下降。这可能是由于在有限数据条件下,模型过度参数化 (Over-parameterization) 导致训练稳定性降低和泛化能力下降。
  • 超参数选择的重要性: 结果强调了选择适当宽度以充分利用统一代码结构优势的重要性。虽然更宽的模型提供了更高的表示能力,但过大的宽度可能会带来优化困难,并导致次优的泛化能力。因此,仔细调整宽度对于生成式推荐至关重要。

6.5. 超参数分析 (RQ4)

6.5.1. 预训练语义编码器 (Pretrained Semantic Encoders)

下图(原文 Figure 10)展示了不同预训练语义编码器对性能的影响:

Fig. 10. Analysis of different pretrained semantic encoders.
Figure 10: 不同预训练语义编码器分析。

关键观察与分析:

  • Llama2-7b 表现最佳: Llama2-7b [53] 实现了最佳性能,这可能归因于其更大、更多样化的训练语料库,涵盖了新闻文章、百科全书内容、社交媒体帖子和源代码等广泛领域。这种广泛而异构的数据暴露使 Llama2-7b 能够学习更丰富的上下文语义关系和更精细的细节。
  • Sentence-T5 表现次之: Sentence-T5 [41] 针对语义相似性和文本匹配进行了优化,但对于多样化的、领域特定的电子商务产品描述的细微差别,其效果不如 Llama2-7b。
  • BERT 表现最差: BERT [7] 虽然在通用语言理解任务中表现稳定,但其双向掩码语言建模目标并非专门为语义生成设计,导致其嵌入在区分多义词、捕捉长尾属性和建模产品级别区别方面效果较差。这些局限性在量化和生成式推荐阶段进一步放大,导致性能不佳。
  • 模块化和可扩展性: UNGER 的方法本质上是即插即用 (Plug-and-Play) 的,这意味着可以更换语义编码器而不改变残差量化机制或生成式解码器。这使得集成最新的语言模型(如 DeepSeek-R1 [13], GPT-4o [20])或领域特定编码器成为可能。此外,该方法还可以扩展到包含多模态编码器 (Multimodal Encoders)(如 CLIP-like 模型 [30, 35, 46]),只要输出维度兼容。

6.5.2. 量化方法 (Quantization Methods)

下图(原文 Figure 11)展示了不同量化方法对性能的影响:

Fig. 11. Analysis of different quantization methods.
Figure 11: 不同量化方法分析。

关键观察与分析:

  • 分层 K-均值聚类 (Hierarchical K-means) 表现最佳: 分层 K-均值聚类方法在各项评估指标上显著优于其他两种方法。这突出表明在量化过程中保留结构信息的重要性。特别是,分层 K-均值聚类编码物品的方式使得共享类似特征的物品被分配到邻近的代码空间中,从而允许模型在推荐过程中利用分层邻近性 (Hierarchical Proximity),提高检索与用户偏好相关物品的可能性。

  • 随机分配 (Random Assignment) 表现最差: 随机分配方法未能为离散空间提供任何有意义的结构,导致性能显著下降。该方法中的代码不反映任何语义相似性,从而限制了模型基于代码邻近性进行泛化的能力。

  • RQVAE 问题: RQVAE [28] 方法理论上能够通过其残差量化机制建模复杂的物品分布,但在实践中观察到其经常遭受码本冲突 (Codebook Collisions)。这意味着多个不同的物品被映射到相同的离散代码,这减少了量化空间的表示能力,并对推荐性能产生负面影响。虽然通过在学习到的代码后附加唯一标识符可以缓解此问题,但这会引入噪声并可能导致次优性能。

    结论: 这些观察结果共同强调了分层量化方法在捕获和保留物品嵌入中的结构信息方面的优势,这对于基于代码的生成式推荐至关重要。

6.5.3. 聚类数量 (Number of Clusters KK)

下图(原文 Figure 12)展示了聚类数量 KK 对性能的影响:

Fig. 12. Impact of the number of clusters with \(K\) varying from 128 to 512.
Figure 12: 聚类数量 KK 对性能的影响, KK 从 128 变化到 512。

关键观察与分析:

  • KK 从 128 增加到 256: Recall@20NDCG@20 均持续改进。这可能是由于随着聚类数量的增加,码本的表示能力增强。当 KK 相对较小 (如 128) 时,有限的聚类中心限制了模型为单个物品分配独特或高度区分性代码的能力,导致语义或行为不相似的物品可能被迫共享相似的代码,从而降低了学习到的物品表示的粒度和准确性。
  • KK 从 256 增加到 512:
    • NDCG@20 持续改进,表明 top 预测物品的排序质量受益于更具表达力的码本。这暗示模型在推荐列表中将真正相关的物品排在更高位置的能力增强。

    • Recall@20 略有下降。论文推测这是由于更大的 KK 引入了更广阔的搜索空间,增加了解码复杂性,可能导致推理期间检索结果次优。换句话说,虽然模型拥有更大的表示自由度,但从更大的码本中准确解码的难度可能会抵消部分增益。

      结论: 这些发现共同表明,在生成式推荐系统中,分层 K-均值算法中聚类数量 KK 的选择应仔细权衡表示丰富性和计算效率。过小的 KK 会限制模型编码物品唯一性的能力,而过大的 KK 会在解码和泛化方面带来挑战。选择与数据集中物品总数成比例的聚类大小似乎是实现这种平衡的实用启发式方法。

6.5.4. 超参数 α\alpha 的敏感性

下图(原文 Figure 13)展示了超参数 α\alpha 对性能的影响:

Fig. 1.Sensitivity of hyper-parameter α
Figure 13: 超参数 α\alpha 的敏感性。

关键观察与分析:

  • α\alpha 从 0.2 增加到 1.0: Recall@20NDCG@20 均显著提高,表明适度强调对齐目标有利于协作和语义信息的有效集成。当 α\alpha 设置为 1.0 或 2.0 时,性能达到峰值,表明对齐目标的适度强调可以实现模态特定知识的最佳集成。
  • α\alpha 的鲁棒性: 性能在较宽的 α\alpha 值范围(0.5 到 5.0)内保持稳定,这表明所提出的方法对此超参数具有鲁棒性。这种不敏感性意味着模型不过度依赖于 α\alpha 的精细调整,只要对齐信号被充分纳入,就能持续受益。这种鲁棒性在实际场景中尤其可取,因为广泛的超参数搜索可能在计算上是昂贵的。

6.5.5. 超参数 β\beta 的敏感性

下图(原文 Figure 14)展示了超参数 β\beta 对性能的影响:

Fig. 14. Sensitivity of hyper-parameter \(\\beta\)
Figure 14: 超参数 β\beta 的敏感性。

关键观察与分析:

  • β\beta 从 0.2 增加到 1.0: Recall@20NDCG@20 均初始提升,表明纳入蒸馏损失 (Distillation Loss) 对增强学习表示的质量有益。这证实了通过可学习词元 cdisc_{\mathrm{dis}} 蒸馏的全局语义信号提供了互补的监督,有助于补偿第一阶段量化造成的信息损失。
  • β\beta 的鲁棒性: 模型在 β=1.0\beta = 1.0 时达到最佳性能,但在相对较宽的范围(0.5 到 2.0)内保持稳定,表明该方法对超参数的选择具有鲁棒性。即使将 β\beta 增加到 5.0,性能也没有大幅下降,这表明优化过程能够有效地进行超参数调整,即使在第二阶段训练中。

6.6. 案例研究 (Case Study)

为了展示 UNGER 生成式推荐框架的可解释性 (Interpretability) 和有效性,论文以个性化视频游戏推荐为例进行了案例研究。

下图(原文 Figure 15)展示了 UNGER 在视频游戏推荐场景中的应用:

Fig. 1.An example that illustrates the application of UNGER for the video game recommendation scenario.
Figure 15: 说明 UNGER 在视频游戏推荐场景中应用的示例。

6.6.1. 用户历史交互画像 (User Historical Interaction Profiling)

  • 用户历史: 假设一个用户曾交互过的视频游戏包括:《黑神话:悟空》(Black Myth: Wukong)、《赛博朋克 2077》(Cyberpunk 2077)、《刺客信条:影》(Assassin's Creed Shadows) 和《使命召唤:黑色行动》(Call of Duty: Black Ops)。
  • 统一特征: 这些游戏跨越了多种类型和风格,但其关键的统一特征揭示了用户在多个维度上的一致偏好:
    1. 游戏类型和流派: 动作导向的体验,涉及战斗、潜行和开放世界探索。
    2. 目标受众: 成人内容,包含暴力、道德复杂的叙事和精致的故事情节。
    3. 平台偏好: 明确偏好 PlayStation 兼容游戏,表明稳定的用户平台上下文。
  • UNGER 的优势: 与纯语义模型不同,UNGER 不依赖于手工制作或静态属性。相反,每个历史物品都被编码成一个能够捕获相关物品级别和用户相关信息的 Unicode。这些代码构成了个性化序列建模的基础。

6.6.2. 自回归统一代码解码 (Autoregressive Unified Code Decoding)

基于用户交互历史衍生的统一代码,UNGER 进行自回归解码以推断下一个最可能的统一代码序列。

  • 预测的 Unicode 序列: [66, 100, 168, 99]
  • 代码解释: 论文发现某些代码始终对应特定的语义概念,每个代码都代表一个离散的语义块。解码轨迹可以解释如下:
    1. 代码 66 (Domain: Video Games): 将生成限制在游戏领域,排除音乐或电影等其他垂直领域的物品。
    2. 代码 100 (Mature Content Affinity): 表明模型推断用户偏好成人内容,这是从先前游戏选择中反复出现的模式中得出的。
    3. 代码 168 (Action-Oriented Gameplay): 捕捉用户对快节奏、动作重度交互的兴趣,涉及战斗、战术或物理探索。
    4. 代码 99 (Platform: PlayStation): 暗示了涉及持续使用 PlayStation 专用或兼容游戏的行为模式。
  • 可解释性: 尽管每个代码不直接对应人工定义的标签,但其学习到的表示与高级概念对齐,从而实现了可解释的预测。统一代码构成了指导生成的推理结构。

6.6.3. 推荐解释:荒野大镖客 (Red Dead Redemption)

UNGER 生成的最终推荐是《荒野大镖客》(Red Dead Redemption)。将生成的统一代码序列映射到该游戏的档案,发现高度一致性:

  • 代码 66 (Video Game Domain): 《荒野大镖客》明确属于视频游戏领域。
  • 代码 100 (Mature Content): 该游戏的 ESRB 评级为“成人”,与用户表现出的对成人主题的接受度一致。
  • 代码 168 (Action-Adventure Gameplay): 游戏玩法结合了叙事、探索和动作元素,与之前的交互模式相呼应。
  • 代码 99 (Platform): 该游戏在 PlayStation 平台可用,符合用户的设备和生态系统使用模式。
  • 结论: 尽管统一代码不是手动工程化的语义标签,但其学习到的表示与可解释的物品特征良好对齐,从而实现了事后自然的解释。

6.6.4. 讨论和见解 (Discussion and Insights)

  • UNGER 的能力: 本案例研究突出了 UNGER 通过离散代码生成过程,将隐式用户行为与显式推荐推理联系起来的能力。与依赖不可解释的潜在嵌入或静态特征匹配的传统推荐系统相比,UNGER 利用统一代码逐步构建高保真度的用户意图表示。
  • 决策过程: 序列解码过程在多个维度上细化搜索空间,包括领域、内容风格、游戏类型和平台,从而模拟了类似于用户表达偏好的逐步决策过程。
  • 透明度和控制: 统一代码空间的离散和可解释性质提供了一个介于用户历史和物品选择之间的透明层。对《荒野大镖客》的推荐示例展示了 UNGER 如何重构复杂、多属性的用户意图并将其映射到适当的内容,验证了框架的设计目标:透明度、个性化和可控生成。

7. 总结与思考

7.1. 结论总结

本文提出了 UNGER,一个用于生成式推荐的创新框架,旨在通过统一代码 Unicode 整合物品的语义和协作知识。UNGER 的核心在于其能够将两种模态信息无缝编码到单一离散代码序列中,从而显著降低存储和推理成本,并加速推荐过程。为克服现有生成式推荐中多模态融合的挑战(如独立的编码、语义主导问题和量化信息损失),UNGER 引入了一个精心设计的两阶段框架:

  1. 统一代码生成: 第一阶段通过可学习的模态适应层和跨模态知识对齐任务与下一项预测任务的联合优化,自适应地学习融合嵌入。这种机制有效解决了语义主导问题,确保语义和协作知识得到平衡利用。随后,这些融合嵌入被量化为离散的 Unicode

  2. 生成式推荐: 第二阶段利用这些 Unicode 进行自回归推荐。为弥补量化过程可能带来的信息损失,UNGER 引入了内部模态知识蒸馏任务,通过一个特殊设计的 [c_dis] 词元进行全局对比学习,确保模型进行更全面和充分的学习。

    在三个公共推荐基准数据集上的广泛实验表明,UNGER 在各项评估指标上均优于现有的最先进方法,包括生成式和传统推荐范式。此外,通过对模型深度、宽度和数据量的分析,证实了 UNGER 展现了生成式模型特有的缩放定律特性,并且对关键超参数具有良好的鲁棒性。案例研究也进一步验证了 UNGER 在提供可解释性、个性化和可控生成方面的有效性。

7.2. 局限性与未来工作

论文作者指出了 UNGER 的一些局限性,并提出了未来的研究方向:

  1. 语义模态的丰富性: 当前的语义模态主要依赖文本描述。未来的工作计划通过整合视觉嵌入(从物品图像或视频帧中提取)、音频和语音表示(如音乐和播客领域)来丰富语义模态。这将使统一代码能够捕捉用户偏好的风格、美学和情感方面,这些是纯文本描述无法完全传达的。
  2. 词元器 (Tokenizer) 的改进: 计划通过采用更先进的向量量化 (Vector Quantization) 技术来改进词元器,如 LFQ [64]、IBQ [50] 和 ActionPiece [19]。这些技术有望提供更好的收敛特性、更高的码本利用率和更具表达力的潜在表示,从而进一步提高模型的生成质量和鲁棒性。
  3. 数据集稀疏性限制: 目前的评估仅限于 Amazon 数据集中相对稀疏的子集。虽然这与以往工作一致,但也意味着 UNGER 在更密集推荐场景下的行为尚未得到系统探索。作者认为,这种评估是未来研究的重要方向,将有助于确立所提出框架更广泛的适用性和泛化能力。

7.3. 个人启发与批判

7.3.1. 个人启发

UNGER 提出了一个优雅而实用的解决方案,解决了生成式推荐中多模态融合的核心挑战。它的创新点在于:

  • 统一代码的理念: 将语义和协作信息压缩到一个紧凑的统一代码中,是解决多模态生成式推荐效率问题的关键。这种设计思维不仅降低了资源消耗,也为不同模态间的深层交互创造了条件,避免了简单拼接的弊端。这对于实际工业部署具有重要价值。

  • 语义主导问题的针对性解决: 通过模态适应层和跨模态知识对齐任务来平衡两种异构信息的贡献,是当前多模态融合研究中的一个重要方向。许多多模态模型都面临某一模态过于强势的问题,UNGER 的方法提供了有益的参考。

  • 信息损失补偿: 量化带来的信息损失是一个普遍挑战,UNGER 引入知识蒸馏来弥补,体现了对模型精度细节的关注。这种对细节的关注是构建高性能模型的关键。

  • 可解释性的潜力: 案例研究展示了 Unicode 序列在一定程度上是可解释的,能够映射到高级语义概念。这对于推荐系统来说至关重要,因为可解释性有助于用户信任和系统调试。

  • 缩放定律的探索: 在生成式推荐中系统性地探索缩放定律,为该领域未来的模型设计和资源分配提供了宝贵的指导。这表明 UNGER 具有在更大规模下表现更佳的潜力。

    UNGER 的方法和思路可以迁移或应用到其他需要融合多源异构信息,并进行序列生成或离散表示学习的领域,例如:

  • 多模态内容生成: 例如,根据文本描述生成图像或视频,其中文本和视觉信息需要有效融合。

  • 跨域推荐: 在不同领域之间进行推荐时,往往需要整合不同类型的信息,UNGER 的统一代码思想可以借鉴。

  • 智能体行为序列预测: 在游戏中,根据玩家历史行为预测其下一步动作,可能需要结合玩家的意图(语义)和游戏状态(协作)。

7.3.2. 批判与潜在改进

尽管 UNGER 取得了显著成果,但仍有一些潜在问题或可以改进的地方:

  • 对预训练模型依赖性: UNGER 严重依赖于强大的预训练语义编码器(如 Llama2-7b)和协作编码器(如 DIN)。这些模型的性能直接影响 Unicode 的质量。未来的研究可以探索如何减少对特定预训练模型的依赖,或者开发更通用的预训练策略。
  • 量化粒度与解码效率的权衡: 实验中观察到,增加聚类数量 KK 虽能提升 NDCG,但可能降低 Recall,并增加解码复杂性。如何动态调整或自适应地确定最佳量化粒度,以在表示能力和解码效率之间取得平衡,仍是一个挑战。
  • 负样本采样策略: 跨模态知识对齐任务中的负样本采样采用了批内负样本 (in-batch negative samples)。这种采样方式可能不够充分,无法提供足够有挑战性的负样本。可以探索更高级的负样本采样策略,如硬负样本挖掘 (Hard Negative Mining) 或内存库 (Memory Bank) 机制,以进一步提升对齐效果。
  • Unicode 的稀疏性问题: 如果物品数量非常庞大,Unicode 码本的稀疏性可能会成为问题。虽然分层聚类有助于缓解,但仍需进一步研究如何有效管理大规模码本。
  • 动态环境适应性: 推荐系统所处的用户偏好和物品属性都是动态变化的。当前的 Unicode 生成是相对静态的过程。如何设计 Unicode 能够动态更新和适应变化,以更好地捕捉实时趋势,是一个重要的未来方向。
  • 更复杂的行为模式: 目前模型主要关注用户历史交互序列。用户的更复杂行为模式(如会话信息、搜索查询、评论文本等)的整合方式可以进一步探索,以丰富协作和语义知识。
  • 计算资源需求: 尽管 UNGER 相比双代码方法降低了成本,但其训练过程仍然涉及大型语言模型和 Transformer 架构,对计算资源的需求仍然较高,尤其是在第一阶段的融合嵌入学习中。优化训练效率和资源消耗也是一个实际的考量。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。