重磅 | eBay提出强大的轻量级推荐算法——洛伦兹因子分解机
供稿 | eBay Search Science Team
作者 | 徐粲然
更多干货请关注“eBay技术荟”公众号
摘要
推荐系统和点击率预测要求必须对用户行为的特征交互进行建模。近几年来,随着深度学习的发展,新兴的深度模型(例如DeepFM, xDeepFM和Deep & Cross)层出不穷,这也使得算力、模型容量和精度三者之间的权衡变得非常重要。针对这类问题,eBay的研究员提出了一种被称作洛伦兹因子分解机的模型,曾发表于今年2月在纽约举行的AI顶级会议AAAI会议上。该方法不再使用深度模型的结构,但可以达到深度模型的准确率,而且能极大降低模型的参数量和训练时间。
一、导言
电商网站通过推荐系统和点击率预测向用户提供商品信息推荐和广告位排名。随着技术的发展,推荐系统会根据用户的兴趣进行个性化调整。如图1所示,通过对用户行为数据、商品属性数据的收集,系统将返回给用户感兴趣的商品。
图1: 个性化推荐系统的示意图
在大数据时代,大规模的推荐系统和点击率预测面临的最大挑战,就是绝大多数能过捕获的特征都是离散型的,因此导致模型的特征空间极度稀疏。在这种情况下,因子分解机(FM)提出用向量内积表示的二阶特征交互来进行建模。最近几年,越来越多的研究者考虑用高阶的特征交互或者利用深度学习方法来提高特征交互的表征能力。其中最有代表性的例子是DeepFM,它在传统的FM之上加入了多层MLP来达到学习深层表征的目的。
而在本研究中,我们重新检查了向量内积作为特征交互基础结构的利弊。2017年,Hsieh等人[1]曾经提出用欧式空间的度量代替内积是更合理的选择,原因是利用内积会导致直觉上的距离违背欧式空间中的三角不等式,亦即一个三角形的两条边的线段长度和大于第三条边的线段长度。这项工作揭示了研究特征交互需要考虑几何意义,我们的工作也沿用了这一思想。
与Hsieh的角度不同,我们利用了双曲几何当中的洛伦兹距离可以违背三角不等式的特殊性质。具体来说,我们利用双曲空间中的A和B两点与原点形成的三角形是否违背三角不等式来构造A和B两点间特征交互。这样做的好处有两个:一是双曲空间的表达能力强于欧式空间;二是这样构造的特征交互可以学习到精细的相互作用结构,能直接用于计算最终分数,无须叠加神经网络。实验结果证明,我们的模型不仅可以得到超越深度学习的准确率,还可以降低80%左右的模型参数和70%左右的训练时间。
二、三角不等式的意义
首先来补充一点数学背景知识。双曲几何是旨在研究具有恒定负曲率的非欧几里得空间。让我们来定义一下双曲空间上的洛伦兹内积,即对于两点u,v
图2: 当特征维度为2时,用标度后的三角不等式与协同度量学习的目标函数在双曲空间的区别
洛伦兹嵌入层
三角池化层
图3:洛伦兹因子分解机的结构
(点击可查看大图)
输入端的稀疏特征进入模型之后,会首先通过洛伦兹嵌入层得到其在双曲空间的表征。这些表征是定义在洛伦兹度规下的向量。之后,这些向量会通过我们在上一章介绍的标度三角不等式计算一个标量。最后,我们对所有的特征得到的标量求和得到模型的输出分数:
对于推荐系统而言,我们实际收集到的数据往往只有正样本,所以需要对每一个正样本做充分的负采样。对于点击率预测来说,展示给用户的广告被点击与否可以看作正负样本的标签。无论哪种情况,我们都可以利用交叉熵作为目标函数:
其中
为了证明LorentzFM的表现,我们在四个真实数据上做了实验。他们分别是MovieLens, KKBox,Steam和Avazu,其中前三个数据集是推荐系统的数据,而Avazu是广告点击率预测的数据。对于推荐系统的数据,我们对每个训练正样本进行负采样,并且用MRR,HR@10和NDCG作为指标。对于点击率预测数据,我们使用ROC曲线的AUC和Logloss作为指标。
我们对比的基线方法包括:FM[4],NFM[5],DeepFM[6],xDeepFM[7]和DCN[8]。其中最后四种都是基于FM层之上的深度神经网络。最终得到的对比实验结果如表1所示:表1:对维度为10的对比实验
(点击可查看大图)
图4:在测试集上不同的模型随着特征维度增加的变化
(点击可查看大图)
之前我们也提到,LorentzFM可以避免维度灾难,不需要调正则化系数。在图4中,我们对比了在Steam数据集上逐渐增加特征的维度所得到的模型表现。可以看到,LorentzFM是随着特征维度的增加逐渐变得更好的,但是对于其他模型来说,增加特征维度提高的空间不大,甚至有可能造成反作用。
另外需要注意的是,LorentzFM不使用任何深度神经网络。因此,我们比较了每个模型在表1中得到最优表现时模型的参数和训练时间,其结果归纳在表2当中。
表2:不同模型的训练参数和训练时间
(点击可查看大图)
可以看到,LorentzFM在达到可观的实验表现的同时,所需要的训练参数和训练时间和基于深度神经网络的方法相比都大为减少。
五、总结
我们提出的洛伦兹因子分解机模型是一种有效的轻量级模型,它的几何意义是双曲空间当中的三角不等式。通过运用这个模型,可以极大地提高推荐系统和点击率预测的表现,同时降低模型参数和训练时间。
实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作
一探究竟 | eBay流量管理之DSR在基础架构中的运用及优化
eBay大量优质职位,等的就是你