本文是由美图公司,腾讯公司和厦门大学共同发表的一篇文章,题目为FLEN: Leveraging Field for Scalable CTR Prediction
文章提出了field-wise bi-interaction pooling技术,解决了在大规模应用特征field信息时存在的时间复杂度和空间复杂度高的困境,同时提出了一种缓解梯度耦合问题的方法,dicefactor。该模型已应用于美图的大规模推荐系统中,持续稳定地取得业务效果的全面提升。
下面将从论文背景,梯度耦合问题简介,FLEN模型结构以及实验对比几个方面为大家介绍这篇文章~
背景
点击率预估问题中,建模特征交互对于模型的效果起着至关重要的作用。然而,大部分基于因子分解的模型都存在着一个梯度耦合的问题。
本文提出了一个Field-Leveraged Embedding Network (FLEN) 模型,该模型能够以一种时空高效的方法缓解广泛存在的梯度耦合问题,从而得以在生产环境中部署服务。
FLEN使用了一个filed-wise bi-interaction pooling技术。通过利用特征所属的场的信息,filed-wise bi-interaction pooling能够以更少的模型参数量和更短的计算时间消耗来同时捕获inter-filed和intra-filed之间的特征交互。
同时提出一种dropout策略Dicefactor。Dicefactor随机丢弃一定的bi-linear交互的结果(元素级别)来帮助缓解梯度耦合问题。
FLEN也是首次公开提出的能够将不同的浅层模型如FM,MF,FwFM通过一个统一的框架表达的模型。
关于梯度耦合问题
FM存在的梯度耦合问题
-
假设有如下表达式
y ^ F M = b + w 男 + w 伦敦 + w 周二 + < v 男 , v 伦敦 > + < v 男 , v 周二 > + < v 伦敦 , v 周二 > \hat y_{FM}=b+w_{男}+w_{伦敦}+w_{周二}+<v_{男},v_{伦敦}>+<v_{男},v_{周二}>+<v_{伦敦},v_{周二}> y^FM=b+w男+w伦敦+w周二+<v男,v伦敦>+<v男,v周二>+<v伦敦,v周二>
其中 v v v为FM模型的隐向量 -
利用反向传播算法更新隐向量梯度时
关于 v 男 v_{男} v男的梯度为 ∇ v 男 y ^ F M = v 伦敦 + v 周二 \nabla_{v_{男}}\hat y_{FM}=v_{伦敦}+v_{周二} ∇v男y^FM=v伦敦+v周二
如果我们假设性别和星期是独立的,那么理想情况下应该有 v 男 v_{男} v男和 v 周二 v_{周二} v周二是正交的,但是上述梯度会持续朝着 v 周二 v_{周二} v周二的方向更新 v 男 v_{男} v男,反过来, v 周二 v_{周二} v周二也会朝着 v 男 v_{男} v男的方向被更新。
以上就是我们说的梯度耦合问题,由于FM使用了相同的隐含向量和不同场内的特征进行交互,在一定程度上损失了模型的表达能力,
- 如何解决这个问题
FFM模型提出了利用特征所属的场的信息来缓解梯度耦合方法,每个特征与不同场下的特征交互时都使用了不同的隐向量。
y ^ F F M = b + w 男 + w 伦敦 + w 周二 + < v 男 ( 与地点 ) , v 伦敦 ( 与性别 ) > + < v 男 ( 与星期 ) , v 周二 ( 与性别 ) > + < v 伦敦 ( 与星期 ) , v 周二 ( 与地点 ) >