终于有内味了......

2021-05-14 11:14:12 浏览数 (1)

作者:一元,炼丹笔记三品炼丹师

Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender Systems(CIKM 2020)

背景

现有的推荐算法通常根据用户的历史点击序列,通过优化单个任务(如点击率预测)来学习项目的排名得分,但对于同时建模用户的多种行为或联合优化多个目标(如点击率和转化率),这对电子商务网站都至关重要。

在本文中,作者认为基于不同类型的行为来描述用户的不同兴趣,并同时进行多任务学习以实现多个目标的显著改善是至关重要的。本文提出了一个新的框架Deep multiple-aspected Transformers(DMT),它可以在多个transformer的同时对用户的多种行为序列进行建模。通过利用专家的多门混合优化多个目标。此外,还可以利用无偏学习来减少训练数据中的选择偏差。在JD真实生产数据集上的实验证明了DMT的有效性,它显著优于现有的方法。

电商推荐系统的挑战

设计一个现实世界的大规模电商推荐系统会面临大量的问题,包括:

多目标排序

需要同时优化多个目标,这些目标是相近的,但却需要一个平衡点,在电商中最典型的就是:CTR和CVR预估问题,如果我们专注在CTR优化上,那么就会出现我们最终给所有的用户推荐来最流行的商品,这些商品点击率很高,但是最终购买率却非常低。如何做到高点击高转化是一大难点。

用户行为的多种类型

在电商中的用户行为有着多种不同的类型,(例如:点击,加购,下单),这些行为反映了用户的不同的实时兴趣,当前大量的研究都会优化点击序列,但是却会忽略用户的其他行为,例如购买等;

有偏的隐式反馈

现有的推荐系统通常利用用户的隐含反馈(如点击与否)来学习排名模型。然而,在隐式反馈数据中存在选择偏差。用户可能仅仅因为某个产品排名靠前而点击它,这种观察被称为“位置偏差”。

给定一个目标商品,其相邻的商品也会影响其点击的情况,本文称之为“邻近偏差”。如果一个产品被同一类别中的许多相似产品包围,用户可能不太可能单击该产品。例如,在图1中,产品“iphone11”可能因为排名第一而被点击的概率更高,而这三个“iPhone”可能在被点击方面存在激烈的竞争。哪些类型的偏见信息更具影响力?如何有效地建模和减少偏差?这些也是非常具有挑战的问题。

问题定义

在电商推荐系统中的多目标排序问题:给定个候选商品,多目标排序问题的目标是预测基于多目标的每个候选商品的排序分数。本文重点考虑两大目标:点击率(Click-through Rate)和再点击转化率(Click-through Conversation Rate), 注意:Click-through Conversation Rate = Click-through Rate和Conversation Rate的乘积。

模型

输入和Embedding层

我们将输入分为两块,一块是类别特征;一类是dense特征.

1. 类别特征

类别特征包含两类特征:

  1. 用户的行为序列: , 其中为序列的长度; 里面的每个元素表示用户在商品上进行了操作;本文我们主要考虑三种序列::点击序列; :加购序列; :下单序列;
  2. Embedding层: 对于每个商品,我们使用商品的id,,类别的id,,品牌id,以及商店的id,,我们对其进行转换,得到: ,我们将它们进行concat得到我们的embedding向量。

2. Dense特征

积累的诸多dense特征。

Deep Multifaceted Transformer Layer

1. Deep Multifaceted Transformers

为了捕捉每个用户的multifaceted兴趣,我们使用三个单独的深度兴趣Transformer,此处我们的点击序列,我们使用最近50个点击商品,加购和下单都是最近的10个(一年);

2. Deep Interest Transformer

对于每个行为序列,我们探索用户的实时兴趣并将其表示为一个兴趣向量。

1.Self-Attention模块

Attention(Q,K,V) = softmax(frac{QK^T}{sqrt{d_k}})V

(1).为了捕获queries,keys和不同子空间的关系,我们使用multiple heads self attention,

MultiHead(Q,K,V) = Concat(head_1,head_2,...,head_h)W^O \ head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)

其中是heads的个数,, , 是投影矩阵的参数. ,

(2).Point-wise Feed Forward Networks,

为了增加模型的表示能力,每个self-attention block使用FFN,

FFN(x) = ReLU(xW_1 b_1)W_2 b_2

其中, ,,,.

位置编码:对于每个行为序列, S =其中T为序列的长度.

  • 正弦曲线位置embedding(pos_sincos): 使用sine和cosine函数对序列的位置进行编码;
  • 学习得到的位置编码(pos_learn): 在模型训练的时候直接学习位置的embedding,谈后在序列中加入位置的embedding到对应的item embedding中;

2.Encoder: 编码器在行为序列的embedding上应用了一个self-attention block,并允许序列中的每个商品都参与输入序列中的所有商品。自我注意机制模拟了用户行为序列中每两个商品之间的相互关系,可以更好地从历史行为中了解用户的兴趣。

3.Decoder: 由于用户可能有不同的兴趣,解码器使用目标商品作为查询,编码器的输出作为键和值。它学习目标商品和历史序列中每个商品之间的attention 分数,并为每个商品学习一个唯一的用户兴趣向量。兴趣向量随目标商品的不同而变化,提高了模型的表达能力。

Multi-gate Mixture-of-Experts Layers

排序系统需要能够学习和估计多种类型的用户效用,并结合这些估计来计算最终的排序分数。多个目标之间可能存在复杂的关系(如独立、相关或冲突),常用的共享底层架构可能会损害多个目标的学习。此处采用MMoE来进行多目标任务的学习。

DMT在输出的顶层使用MMoE,它使用个专家网络,这边全是带有ReLU激活函数的MLP网络,为了对输入进行建模并得到每个expert的输出,我们将其表示为,对于每个任务.我们探索一个gating网络来学习每个专家的权重,; 然后我们计算专家输出的加权和,最后,我们将输入到一个utility网络()中得到.

Bias DNN

排序模型通常使用隐式反馈进行训练,这是有偏差的,因为显示的商品是从现有的排序系统生成的,用户有选择偏差(例如,位置偏差)。如图1所示,用户可以向下滚动并在多个页面中浏览产品。本文研究了电子商务推荐系统中的两种选择偏差:位置偏差和邻近偏差。

1. 位置偏差

“位置偏差”意味着用户倾向于单击显示在列表顶部附近的商品。每个商品的位置可以定义为屏幕中的索引号或页码。我们将它们分别表示为“位置索引”和“位置页面”。例如,在图1中,这四种产品的页码都是1,因为它们都在第一页,它们的索引号是1、2、3、4。我们将页面和索引的最大数量分别设置为100和400。

2. 邻近偏差

邻居偏差指: 点击一个商品的概率可能会被邻近的商品影响。我们将稀疏的bias特征编码到低维的向量然后将它们输入到MLP中,给定bias特征,目标商品的选择偏差:

y_b = NN_B(x_b)

其中是Bias的DNN。

模型训练预测

模型训练

在训练阶段,

y_k = sigma(u_k y_b) \ L_k = - frac{1}{N} sum_{i =1}^N (y_i logy_k (1 - y_i)log(1-y_k)) \ L = sum_{k=1}^N lambda_kL_k
y_k = sigma(u_k y_b) \ L_k = - frac{1}{N} sum_{i =1}^N (y_i logy_k (1 - y_i)log(1-y_k)) \ L = sum_{k=1}^N lambda_kL_k

其中为sigmoid函数,为训练集的带下,是标签,为每个任务的权重。

模型预测

最终在线生效的时候,我们没有位置信息,所以位置信息被丢弃了,

bar{y}_k = sigma(u_k) \ bar{y} = frac{sum_{k=1}^N w_k bar{y}_k}{sum_{k=1}^N w_k}

其中,为任务的排序分数, 我们使用线下的grid search以及在线的A/B测试来选择合适的.

实验

实验整体效果对比

  • 利用注意机制,DIN的性能优于DNN模型,而DIEN通过进一步对用户历史序列中的序列信息进行建模,可以获得比DIN更好的性能;
  • 与GBDT和基于深度网络的DNN、DIN和DIEN模型相比,DMT具有更好的效果。
  • 当我们使用Dense特征的时候,DIN,DIEN,DMT相较于的DNN的效果变小了.

DMT中成分有效性分析

1. 位置embedding方法对于DMT的影响
  • 学习得到的位置embedding方法相较于其它方案可以获得最好的效果;
2. 多个序列的影响
  • 增加加购序列相较于只使用点击序列可以提升模型的效果;
  • 加入订单序列后,点击预测和订单预测的效果没有进一步提高。(经验发现,对于一个有很长的回购期的产品(如电脑),用户会倾向于点击但在购买后的短时间内不会再次购买。对于回购期较短的产品(如牛奶),用户可以在短时间内点击并再次购买。订单序列可能导致点击预测与订单预测发生冲突,干扰点击或购物车序列中的信息)。

3. 多任务学习

  • 建模多种类型的行为将比单独建模单击序列带来更好的性能。
  • 共享bottom底可以提高预测性能。
  • MMoE在点击预测和订单预测方面都取得了最好的性能。这说明MMoE可以更好地模拟多个目标和用户不同行为序列之间的关系和冲突。
4. Bias DNN
  • 建模邻居的bias相较于position bias的特征可以带来更好的效果;(index or page number in the screen)

在线A/B测试

  • 对隐式反馈中的偏差信息进行建模,分别为CTR、CVR和GMV带来0.6%、2.3%和1.7%的增益。这证明了偏差深度神经网络的有效性。
  • 在CTR、CVR和GMV中,DMT分别比最先进的DIEN方法高4.5%、4.6%和8.0%。
  • 与我们推荐系统中的最后一代车型GBDT相比,DMT的CTR、CVR和GMV分别提高了18.8%、19.2%和17.9%.

小结

本文提出了DMT,利用深度多面变换器(Deep Multifaceted Transformers)对用户的不同行为序列进行建模,利用MMOE对电子商务中的多目标进行联合优化,并使用Bias深层神经网络来减少隐式反馈中的选择偏差。我们进行了大量的实验,并证明了DMT在大规模电子商务推荐系统中多目标排序的有效性。线上的A/B测试也进一步证明了DMT的有效性。

参考文献

  1. Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender Systems: https://dl.acm.org/doi/pdf/10.1145/3340531.3412697

0 人点赞