基于Transformer的个性化推荐重排序模型解析

摘要
本文详细解析阿里巴巴团队发表于2019年的论文《Personalized Re-ranking for Recommendation》。该论文提出了一种基于Transformer的个性化重排序模型(PRM),通过自注意力机制捕捉推荐列表中物品的全局关系,并结合预训练的个性化向量优化用户偏好建模。本文将从问题背景、模型创新、公式解析、实验验证等方面展开深入解读。


一、问题背景与动机

1.1 传统排序方法的局限性

在推荐系统中,排序(Ranking)是核心任务,其目标是根据用户偏好生成有序的物品列表。传统排序方法(如Learning to Rank)通过优化全局评分函数,对每个物品独立评分。然而,这种方法存在两个主要问题:

  1. 忽略物品间相互影响:列表中的物品可能存在互补或竞争关系,例如用户购买手机后可能更关注配件,但传统方法未显式建模这种关系。
  2. 缺乏个性化编码:不同用户对同一特征的敏感度不同(如价格敏感型用户与品牌偏好型用户),但传统方法使用全局统一的评分函数。

1.2 重排序(Re-ranking)的意义

重排序任务旨在对初始排序列表进行优化,通过建模物品间关系和用户个性化偏好,生成更优的推荐序列。早期方法(如RNN、LSTM)因序列编码距离衰减问题,难以捕捉长距离依赖,而Transformer的自注意力机制能够有效解决这一问题。


二、模型创新点

2.1 核心贡献

  1. 首次引入个性化重排序:在重排序任务中显式引入用户个性化信息,通过预训练的用户向量(PV)建模用户偏好。
  2. 基于Transformer的编码结构:利用自注意力机制捕捉物品间的全局依赖关系,避免RNN的序列衰减问题。
  3. 大规模电商数据集:公开了一个包含用户点击日志和特征的真实电商重排序数据集。
  4. 显著性能提升:离线和在线实验均显示,模型在点击率(CTR)和收入(GMV)等指标上优于基线方法。

三、模型架构与公式解析

3.1 整体架构

PRM模型分为三个部分:

  1. 输入层:融合物品特征、个性化向量(PV)和位置编码(PE)。
  2. 编码层:通过多层Transformer编码器建模物品间关系。
  3. 输出层:生成重排序得分并优化列表。

PRM模型架构

3.2 关键公式解析

公式1:传统排序损失函数

L = ∑ r ∈ R ℓ ( { y i , P ( y i ∣ x i ; θ ) ∣ i ∈ I r } ) \mathcal{L} = \sum_{r \in \mathcal{R}} \ell \left( \{ y_i, P(y_i | \boldsymbol{x}_i; \theta) | i \in \mathcal{I}_r \} \right) L=rR({yi,P(yixi;θ)iIr})

  • 符号解释
    • R \mathcal{R} R:所有用户请求集合。
    • I r \mathcal{I}_r Ir:用户请求 r r r的候选物品集合。
    • x i \boldsymbol{x}_i xi:物品 i i i的特征向量。
    • y i y_i yi:物品 i i i的标签(如是否被点击)。
    • P ( y i ∣ x i ; θ ) P(y_i | \boldsymbol{x}_i; \theta) P(yixi;θ):排序模型预测的点击概率。
  • 问题:未考虑物品间关系和用户个性化。
公式2:重排序损失函数

L = ∑ r ∈ R ℓ ( { y i , P ( y i ∣ X , P V ; θ ^ ) ∣ i ∈ S r } ) \mathcal{L} = \sum_{r \in \mathcal{R}} \ell \left( \{ y_i, P(y_i | X, \boldsymbol{PV}; \hat{\theta}) | i \in \mathcal{S}_r \} \right) L=rR({yi,P(yiX,PV;θ^)iSr})

  • 改进点
    • 输入为初始列表 S r \mathcal{S}_r Sr的特征矩阵 X X X
    • 引入个性化矩阵 P V \boldsymbol{PV} PV,表示用户对物品交互的偏好。
公式3:输入层特征融合

E ′ = [ x i 1 : P V i 1 x i 2 : P V i 2 … x i n : P V i n ] \boldsymbol{E}' = \begin{bmatrix} \boldsymbol{x}_{i_1} : \boldsymbol{PV}_{i_1} \\ \boldsymbol{x}_{i_2} : \boldsymbol{PV}_{i_2} \\ \ldots \\ \boldsymbol{x}_{i_n} : \boldsymbol{PV}_{i_n} \end{bmatrix} E= xi1:PVi1xi2:PVi2xin:PVin

  • 符号解释
    • P V i \boldsymbol{PV}_{i} PVi:物品 i i i对应的个性化向量,通过预训练模型生成。
    • x i \boldsymbol{x}_i xi:物品 i i i的原始特征。
  • 作用:将用户个性化信息与物品特征结合。
公式4:位置编码(Position Embedding)

E ′ ′ = E ′ + P E \boldsymbol{E}'' = \boldsymbol{E}' + \boldsymbol{PE} E′′=E+PE

  • 背景知识:Transformer本身不具备序列位置感知能力,需通过位置编码注入顺序信息。论文采用可学习的位置编码(PE),而非固定正弦函数。
公式6:自注意力机制

Attention ( Q , K , V ) = softmax ( Q K T d ) V \text{Attention}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V}) = \text{softmax} \left( \frac{\boldsymbol{Q} \boldsymbol{K}^T}{\sqrt{d}} \right) \boldsymbol{V} Attention(Q,K,V)=softmax(d QKT)V

  • 符号解释
    • Q , K , V \boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V} Q,K,V:查询(Query)、键(Key)、值(Value)矩阵,由输入矩阵 E \boldsymbol{E} E投影得到。
    • d d d:键向量的维度,用于缩放点积结果,防止梯度爆炸。
  • 作用:计算物品间的注意力权重,捕捉全局依赖。
公式7:多头注意力(Multi-Head Attention)

S ˙ = Concat ( head 1 , . . . , head h ) W O \dot{\boldsymbol{S}} = \text{Concat}(\text{head}_1, ..., \text{head}_h) \boldsymbol{W}^O S˙=Concat(head1,...,headh)WO

  • 背景知识:多头机制将输入投影到多个子空间,并行计算注意力,增强模型对不同交互模式的捕捉能力。

四、实验与结果

4.1 数据集

  1. Yahoo Letor数据集:公开数据集,经处理模拟推荐场景。
  2. 电商重排序数据集:包含740万用户、724万物品的真实点击日志,首次公开。

4.2 离线实验结果

  • Yahoo Letor:PRM-BASE(无个性化模块)相比DLCM,MAP提升1.7%。
  • 电商数据集:PRM-Personalized(含PV)相比PRM-BASE,MAP进一步提升4.5%。

4.3 在线A/B测试

  • GMV提升6.65%:个性化模块显著优化用户购买转化。
  • 注意力权重可视化:模型成功捕捉类别和价格相关的物品交互模式(如图2、3)。

注意力权重热力图


五、总结与展望

5.1 论文总结

PRM模型通过Transformer的自注意力机制和个性化向量,有效解决了传统排序方法忽略物品关系与用户偏好的问题。实验证明其在离线和在线场景中均具有显著优势。

5.2 未来方向

  1. 多样化优化:在重排序中引入多样性目标,避免推荐结果同质化。
  2. 标签空间优化:结合点击率以外的用户反馈(如购买、停留时长)进行多目标优化。

参考文献

  1. Vaswani A, et al. Attention is all you need. NeurIPS 2017.
  2. Covington P, et al. Deep neural networks for YouTube recommendations. RecSys 2016.

作者注
本文详细解析了PRM模型的核心思想与技术细节,适合推荐系统从业者与研究者参考。代码与数据集已开源,欢迎进一步探索!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值