摘要
本文详细解析阿里巴巴团队发表于2019年的论文《Personalized Re-ranking for Recommendation》。该论文提出了一种基于Transformer的个性化重排序模型(PRM),通过自注意力机制捕捉推荐列表中物品的全局关系,并结合预训练的个性化向量优化用户偏好建模。本文将从问题背景、模型创新、公式解析、实验验证等方面展开深入解读。
一、问题背景与动机
1.1 传统排序方法的局限性
在推荐系统中,排序(Ranking)是核心任务,其目标是根据用户偏好生成有序的物品列表。传统排序方法(如Learning to Rank)通过优化全局评分函数,对每个物品独立评分。然而,这种方法存在两个主要问题:
- 忽略物品间相互影响:列表中的物品可能存在互补或竞争关系,例如用户购买手机后可能更关注配件,但传统方法未显式建模这种关系。
- 缺乏个性化编码:不同用户对同一特征的敏感度不同(如价格敏感型用户与品牌偏好型用户),但传统方法使用全局统一的评分函数。
1.2 重排序(Re-ranking)的意义
重排序任务旨在对初始排序列表进行优化,通过建模物品间关系和用户个性化偏好,生成更优的推荐序列。早期方法(如RNN、LSTM)因序列编码距离衰减问题,难以捕捉长距离依赖,而Transformer的自注意力机制能够有效解决这一问题。
二、模型创新点
2.1 核心贡献
- 首次引入个性化重排序:在重排序任务中显式引入用户个性化信息,通过预训练的用户向量(PV)建模用户偏好。
- 基于Transformer的编码结构:利用自注意力机制捕捉物品间的全局依赖关系,避免RNN的序列衰减问题。
- 大规模电商数据集:公开了一个包含用户点击日志和特征的真实电商重排序数据集。
- 显著性能提升:离线和在线实验均显示,模型在点击率(CTR)和收入(GMV)等指标上优于基线方法。
三、模型架构与公式解析
3.1 整体架构
PRM模型分为三个部分:
- 输入层:融合物品特征、个性化向量(PV)和位置编码(PE)。
- 编码层:通过多层Transformer编码器建模物品间关系。
- 输出层:生成重排序得分并优化列表。
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=r∈R∑ℓ({yi,P(yi∣xi;θ)∣i∈Ir})
- 符号解释:
- 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(yi∣xi;θ):排序模型预测的点击概率。
- 问题:未考虑物品间关系和用户个性化。
公式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=r∈R∑ℓ({yi,P(yi∣X,PV;θ^)∣i∈Sr})
- 改进点:
- 输入为初始列表 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:PVi2…xin: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(dQKT)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 数据集
- Yahoo Letor数据集:公开数据集,经处理模拟推荐场景。
- 电商重排序数据集:包含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 未来方向
- 多样化优化:在重排序中引入多样性目标,避免推荐结果同质化。
- 标签空间优化:结合点击率以外的用户反馈(如购买、停留时长)进行多目标优化。
参考文献
- Vaswani A, et al. Attention is all you need. NeurIPS 2017.
- Covington P, et al. Deep neural networks for YouTube recommendations. RecSys 2016.
作者注
本文详细解析了PRM模型的核心思想与技术细节,适合推荐系统从业者与研究者参考。代码与数据集已开源,欢迎进一步探索!