TIGER
(上)生成式检索推荐系统研究
1. 推荐系统简介
推荐系统在信息爆炸时代通过分析用户的历史交互行为,捕捉其兴趣、爱好和偏好,从而预测用户可能感兴趣的商品、视频、电影、书籍、音乐,甚至社交网络上的好友。传统推荐系统将用户与物品的交互表示为矩阵,通过矩阵分解等方法学习用户和物品的潜在表征。
2. 深度推荐系统框架
深度推荐系统的整体框架包括以下几个部分:
- 输入层:包含用户特征、物品特征、相关上下文以及用户与物品的交互数据。
- 嵌入层(Embedding Layer):通过嵌入层生成相关向量嵌入。
- 隐藏层(Hidden Layer):采用多层感知机(MLP)、卷积神经网络(CNN)等深度神经网络,学习查询和物品的精准表征。
- 预测层(Prediction Layer):通过查询与物品的相似性度量(例如内积)对相关物品进行排序,生成最终预测结果。
现代推荐系统采用检索和排序的策略:在检索阶段从庞大的候选集中筛选出一组可行的候选对象,然后在排序阶段使用排序模型对其进行排序。因此,推荐系统的流程通常是从检索到排序,或称为从召回到排序。建立检索模型的标准方法包括通过矩阵分解在同一空间学习查询和候选的嵌入。为了更好地捕捉数据中的非线性关系,近年来多采用神经网络将查询和候选嵌入到同一空间的框架。由于候选集规模可能非常庞大,需通过索引快速筛选用户可能感兴趣的候选集,通常使用近似最近邻搜索(ANN)方法进行高效筛选。
3. 当前推荐系统的局限与挑战
当前推荐系统存在以下局限和挑战:
- 复杂流程:基于召回、排序和重排的流程复杂,需要对每个阶段分别优化。
- 召回阶段依赖:召回阶段的目标是从庞大的候选集中快速筛选相关物品。如果召回阶段无法高效筛选出用户感兴趣的物品,即使后续排序模型再高效、再精准,也难以获得满意的推荐结果。因此,召回阶段的局限直接影响排序阶段的效果。
- 反馈循环:推荐系统主要基于用户的历史交互行为进行预测,容易产生反馈循环,导致更倾向于推荐热门商品、热门产品或频繁交互的物品。这引发了冷启动问题(新商品因交互次数少难以被推荐)和长尾问题(倾向推荐热门产品)。
- 个性化与多样性不足:推荐结果可能缺乏个性化,即使用户交互历史相似,推荐内容也应体现个性化差异。此外,由于反馈循环,推荐系统易生成单一的、类似性质的推荐内容,缺乏多样性。
- 过度依赖协同信号:当前推荐系统过度依赖用户和物品的协同信号和特征,导致可解释性和灵活性不足。
因此,需要研究一种新的推荐系统范式。本文提出基于生成式检索的全新推荐框架,并将其应用于序列推荐,旨在创建语义上有意义的token序列作为物品的语义ID,反映物品内容及相似物品间的语义关联。通过深度用户交互序列中的语义ID,训练基于Transformer的序列到序列模型,生成用户下一步可能交互的物品语义ID,采用生成方式而非传统匹配或相似性度量方法,目标是提升性能并解决上述局限。
4. 研究动机
本文的研究动机包括以下几个方面:
- 冷启动能力:支持推荐此前未出现的新物品,解决冷启动问题。
- 多样性控制:通过调节生成参数实现推荐内容的多样性,使推荐结果更加灵活。
- 新范式探索:构建端到端的生成式推荐范式,提升推荐系统的泛化能力、可解释性和灵活性,开辟新的研究方向。
- 性能提升:提出的TIGER模型在多个数据集上,通过不同性能指标(如召回率和NDCG)显著优于当前最先进的(SOTA)推荐模型。
5. TIGER模型:生成式检索推荐框架
5.1 模型概述
本文提出TIGER(Transformer Indexer for Generative Retrieval)模型,一种端到端的生成式检索模型。与传统基于匹配和排序的推荐方式不同,TIGER直接预测候选物品的ID,将推荐任务(特别是序列推荐)转化为生成式检索任务。
5.2 工作流程
TIGER的工作流程如下:
-
输入用户交互历史
:例如,用户交互了两件商品:
- 商品1:橘色鞋子,品牌X,物品ID 233。
- 商品2:红色鞋子,品牌Y,物品ID 515。
-
语义ID生成
:随机生成的物品ID(如233、515)缺乏内容或语义关联。本文为每个物品生成语义ID,例如:
- 商品1(ID 233)生成语义ID 52115。
- 商品2(ID 515)生成语义ID 521578。 每个语义ID中的数字具有层次性,反映物品的语义含义及相似物品间的关联。
-
生成式检索:将语义ID输入生成式检索模型,预测用户下一个可能感兴趣的物品语义ID(如52555)。通过哈希表查询,映射为具体物品ID(如64,对应橘色鞋子,品牌Y)。
5.3 建模流程
TIGER的建模流程包含两个阶段:
- 语义ID生成:
- 输入物品的文本特征,包括物品ID、标题(Title)、描述(Description)、类别(Category)、品牌(Brand)等。
- 使用预训练文本编码器(如T5或BERT)生成稠密内容嵌入(Embedding)。
- 通过量化器将连续嵌入向量量化为离散的语义ID(如三元组52155),每个数字对应一个嵌入向量并具有语义含义。
- 这些语义ID形成一组离散有序的token序列,用于后续序列推荐任务。
- 生成式检索模型训练:
- 将语义ID输入基于Transformer的序列到序列(Seq2Seq)生成模型。
- 使用双向Transformer编码器生成用户下一步可能感兴趣的物品语义ID。
- 通过映射表将语义ID转换为具体物品ID及其内容。
5.4 语义ID的优势
将物品表示为语义ID序列具有以下优点:
- 知识共享与泛化:在语义数据上训练Transformer,支持相似物品间的知识共享,促进迁移和泛化。
- 缓解反馈循环:减少对热门物品的依赖,支持新物品推荐,缓解冷启动问题。
- 可扩展性:物品规模可能达数十亿,使用有限代码词组合生成的语义ID显著降低存储成本和参数规模,提升系统可扩展性。
6. 贡献总结
TIGER框架的贡献包括:
- 提出基于生成式检索的推荐框架,为每个物品分配语义ID,训练生成模型预测用户下一步交互的物品语义ID。
- 通过召回率和NDCG等指标验证,TIGER在多个数据集上显著优于现有SOTA推荐模型。
- 解决当前推荐系统局限:
- 支持新物品或冷门物品推荐,改进冷启动问题。
- 通过可调参数生成多样化推荐结果,实现可控的多样性。
- 开辟端到端生成式推荐新范式,提升泛化能力、可解释性和灵活性。
7. 相关工作
序列推荐的相关工作包括:
- SASRec:将Transformer的自注意力机制应用于序列推荐,建模用户历史行为,预测下一个可能物品。包含Embedding层、自注意力层和预测层。
- BERT4Rec:采用双向自注意力Transformer,克服单向模型局限,捕捉用户行为的双向上下文。相比单向模型(如SASRec),双向模型能更精准地学习用户行为模式,适应兴趣交杂或转变的场景。
- GRU4Rec:基于循环神经网络(RNN)的序列推荐。
- CasRec:采用卷积神经网络(CNN)架构,通过横向和纵向卷积捕捉高阶马尔可夫链。
- HGN:层次门控网络,捕捉用户长期和短期兴趣。
- FDSA(2019):通过特征级深度自注意力,将物品特征和嵌入融合到同一空间。
- TrioRec:使用自监督双向Transformer预训练,提升模型性能。
- P5:基于预训练大语言模型,将多种推荐任务融合到统一框架,依赖随机分配物品ID的tokenization生成token。
与P5通过大语言模型生成token不同,TIGER通过残差量化生成多层次语义ID。实验结果表明,TIGER的语义ID相比P5的token更能体现语义共享和关联。
(下)TIGER模型详解与实验分析
1. TIGER模型概述
本文提出的TIGER(Transformer Indexer for Generative Retrieval)模型是一种端到端的生成式检索推荐框架,包含两个核心部分:
- 基于内容特征生成语义ID:将物品的内容特征编码为嵌入向量,并通过量化器将嵌入向量量化为语义ID(Semantic ID)的token序列。
- 基于语义ID的生成式推荐系统:使用基于Transformer的模型,以语义ID为基础在序列推荐任务上进行训练,生成用户下一步可能交互的物品语义ID。
TIGER通过生成式检索直接预测目标物品的语义ID,而非传统推荐系统中的匹配或排序方式,解决了物品ID(如233、515)缺乏语义关联的问题。语义ID通过内容特征生成,能够表达物品间的语义相似性和内容关联,为下游预测任务提供支持。
2. 语义ID的设计与生成
2.1 语义ID的定义与特性
语义ID被定义为长度为M的token序列,每个token来自不同的代码簿(codebook)。例如,语义ID 52115由多个token组成,每个token具有不同层次的语义粒度,整体可表示的物品数量为各层codebook大小的乘积。语义ID的关键属性是:具有相似内容特征或嵌入向量的物品,其语义ID应具有较高的重叠性。例如,语义ID 52135与52140相比于12332更相似,因为前者与52135在左侧token有更多重叠,而左侧token通常包含更粗粒度的语义信息。
与大语言模型的tokenization不同,语义ID具有以下特点:
- 基于内容生成:不依赖随机分配的物品ID,而是基于物品的内容语义生成。
- 固定大小代码簿:每个token来自固定大小的codebook,可重复利用,支持组合式表达。例如,若每个语义ID由3个token组成,每个token来自1000个候选项的codebook,则可表达10亿个组合,足以覆盖大规模推荐系统中的物品。
- 规避空间问题