今天学习的是阿里 2020 年的工作《Deep Match to Rank Model for Personalized Click-Through Rate Prediction》。
现有的 CTR 模型的研究往往集中在 user representation 中,而很少关注 U2I 之间的相关性表示。但 U2I 之间的相关性可以直接衡量用户对目标物品的偏好程度。为了弥补现有研究的不足,作者提出了 Deep Match to Rank 模型(简称 DMR)。DMR 模型结合了协同过滤的思想,很好的弥补了 U2I 之间交互不足的缺点。
为了改善 CTR 的性能,目前很多模型的研究都集中在自动学习特征交互和增强模型的表达方面,如 Wide&Deep、PNN 等,也有一些模型想着去从用户行为序列中挖掘用户的潜在兴趣,如 DIN、DIEN。
而作者在这些基础上迈进一步,开始关注 U2I 之间的相关性。U2I 的相关性可以直接衡量用户对物品的喜好。这个可以理解成从用户的特征到 U2I 交叉特征的升级。
而我们知道,衡量这种关系最经典的模型便是协同过滤。最简单的 CF 便是 ItemCF,其预先计算 I2I 之间的相似度,然后根据用户行为间接得到 U2I 的相关性;而 MF 的方法更加直接,直接通过用户的表征和物品的表征的内积来的到 U2I 的相关性。
在这些技术的基础上,作者提出了一个全新的排序模型 DMR,主要是融合了协同过滤的思想,根据协同过滤中的 U2I CF 和 I2I CF 分别构建了两个子网络来表征 U2I 相关性。
本文贡献如下:
本节详细介绍下 DMR 模型。
下图为 DMR 模型的架构,除了手工构造的 U2I 交叉特征外,作者还利用 I2I 和 U2I 两个子网来表征 U2I 相关性,从而进一步提高模型的表达能力。
受到 MF 模型的启发,U2I 网络直接对用户表征和物品表征进行内积来表征 U2I 的相关性,这可以看成是一种显式的特征交叉。
用户行为可以折射出用户的潜在兴趣。所以我们通过对用户行为进行建模来获取用户表征。一种简单的方法是无视用户行为的顺序,直接对物品表征进行平均池化来获得用户表征。但考虑到用户最近行为更能代表用户兴趣,所以作者采用了带有位置编码的 Attention 来对不同行为进行加权作为用户表征:
其中, 为 position embedding; 为行为 t 的特征向量; 为需要学习的参数, 为归一化的第 t 个行为的权重。
通过加权求和的池化操作和一个全连接层得到最终的用户表征 :
其中, 为一个非线性变化,对应网络中的 PReLU; 为第 t 个行为加权后的特征向量。
这里的 Attention 网络有三个被简化了的细节:
然后我用内积表示 U2I 的相关性:
其中 为目标 Item 的输出矩阵中对应的向量。
我们希望 r 越大,两者的相关性越强,从而对 CTR 预测有正向效果。但从反向传播的角度来看,仅仅通过点击很难学出这样的效果。为此,作者加入了辅助召回网络(Auxiliary Match Network)引入用户行为作为 label 来帮助原来的网络进行学习。
辅助网络作用是根据前 T-1 个行为来预测第 T 个行为,属于多分类问题,有多少候选商品就有多少个分类结果。我们很容易拿到用户前 T-1 次行为后的向量表示 ,那么用户第 T 次交互的物品为 j 的概率为:
我们以交叉熵作为损失函数:
其中,y 为 label,p 为预测概率,K 为类别数。
当然,考虑计算量问题,所以使用 negative sampling 简化计算,损失函数如下:
其中,k 为负样本数量,且数量远小于总数 K。
DeepMatch 会把该 loss 加到原有网络中的 loss 中一起进行训练,辅助网络会促使内积与 CTR 正相关,从而帮助模型进行训练:
从一块可以看到,U2I 网络是将排序和召回两者以统一的方式进行了联合训练。
U2I 网络通过内积表达 U2I 的相关性,而 I2I 网络则通过计算 I2I 的相似性表征 U2I 对的相关性。参考 DIN 网络的做法,作者以目标商品为 query 对用户行为序列做 attention,从而区分不同行为的重要程度,最后对权重求和便得到了另一种 U2I 相关性表达:
通过加权求和的池化操作,用户行为的特征向量 可以转变为固定长度的特征向量 :
I2I 网络使用 Additive attention 形式进行计算,区别于 U2I 网络的 Dot-product Attention,可以增强表达能力。
除了 U2I 相关性表征,I2I 网络也将计算出的用户表征输入到 MLP 中。
简单看下实验部分,以阿里妈妈公开数据集和 1688 工业数据集为例。
首先是离线实验:
而线上实验通过 AB 测试,相对 DIN 来说,CTR 提升 5.5%,DPV 提升12.8%。
DMR 提供了一个 Matching 和 Ranking 联合训练的思路,U2I 相关性表征的模块也可以很容易嵌到现有的 CTR 模型中,相当于在原来的模型上加了一些有效的特征。
附上代码地址:https://github.com/lvze92/DMR