打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一文读懂CTR预估模型的发展历程

CTR预估背景


从DNN和FM说起

CTR预估问题的核心是特征工程,而特征交叉又是特征工程最重要的一环。不同特征的组合构造而成的交叉特征对于点击率预估十分重要。例如,当存在节日特征和国家特证这两个特征时,能够较差国家特证和节日特征,如中国+春节,能够更好的反映出当前样本的特点,也和label关联更密切。

在传统的逻辑回归模型中,人工构造不同特征的交叉,并对每组交叉特征设定一个权重,可以得到类似于下面的线性方程:

其中xi代表某一个特征,对于离散特征而言,需要通过one-hot编码将一个离散特征变成多个0-1特征。当某些离散特征非常稀疏时,这种交叉导致训练样本中有很多未曾出现过的组合。例如包含500个取值的类目特征和包含10000个取值的用户特征,这两个特征的交叉会生成500*10000的不同组合,这么庞大的特征组合数量,训练样本难以覆盖,因此对应的权重wij也就无法求解。

为了解决这个问题,FM的方法和DNN的方法被提出。FM的方法给每个特征赋予一个可学习的向量,将原来的先行方程转换为如下形式:

这样我们需要拟合的参数量,从原来的500*10000个缩小为500+10000个,大大缓解了特征稀疏的问题。这里将每个二阶特征组合的权重拆解成了每个特征对应向量的乘积,利用了矩阵分解的思想,也是FM(Factorzation Machine)这一方法名字的由来。FM这种方法采用的是vector-wise特征交叉,即在每个特征向量的维度进行交叉。

另一种解决方法是Embedding+DNN的思路。将每个特征通过Embedding矩阵转换成一个向量,将所有向量拼接到一起,通过多层DNN网络进行预测。DNN这种方法采用的是bit-wise维度,即每个元素值交叉,不管这个值来自哪个特征。

CTR模型的发展历程也在FM和DNN两种方式的基础上进行不断演化。

对于DNN和FM的模型优化

对于DNN和FM模型的优化可以分为两类,一类是将DNN模型和FM模型各自的优点进行融合,另一类是针对DNN模型或FM模型存在的问题进行改进。

FM和DNN的结合

Deep Learning over Multi-field Categorical Data – A Case Study on User Response Prediction(2016,FNN)将DNN和FM模型的优势进行了结合。该方法首先使用FM进行训练,得到每个特征对应的向量,作为每个特征的向量表示。然后使用这个向量作为每个特征的初始化向量,后面使用DNN进行预测。Product-based Neural Networks for User Response Prediction(2016,PNN)对该方法进行了改进,不再使用FM预训练得到向量,而是对每个特征的向量随机初始化,对DNN模型进行修改。在DNN模型中引入了FM的思想,对每两个embedding pair进行内积或外积运算,相当于FM中的二阶特征交叉这一步,再把一阶和二阶特征拼接到一起,后面使用全连接层进行CTR预测。

FNN和PNN的问题在于,由于采用了DNN结构,模型更倾向于提取高阶特征交叉,对低阶特征交叉提取较少,而后者在CTR预估中也是非常重要的。DeepFM: A Factorization-Machine based Neural Network for CTR Prediction(2017)提出DeepFM模型,通过结合DNN和FM实现二者优势互补。模型分为DNN模块和FM模块,DNN模块和FM模块共享底层embedding。Deep模块和FM模块的输出最终拼接到一起,共同预测点击率。

针对DNN/FM问题的改进


DNN或者FM模型都是基于embedding的,FM中的embedding是每个特征对应的向量,DNN中的embedding是每个特征值对应的向量。基于embedding的方法虽然提升了模型的泛化性(generalization),但是记忆性(memorization)较弱。例如,对于某个user+某个item这种组合特征,一种处理方法是userid+itemid组成新的id,另一种方式是userid的embedding和itemid的embedding做内积。前者是id特征,记忆性要明显强于后者,而前者的泛化性较弱,例如训练样本中没有这个user和这个item的组合。针对DNN或FM的记忆性较差问题,Wide & Deep Learning for Recommender Systems(2016,Wide&Deep)提出了在DNN模型基础上,增加一个并行的Wide网络,DNN部分负责泛化性,而Wide网络负责记忆性。Wide部分采用上一节给出的简单线性模型,即每个特征或每组交叉特征前面用学习一个权重。


Wide&Deep的缺点在于,左侧部分依赖人工设计特征,Deep & Cross Network for Ad Click Predictions(2017,DCN)将左侧的wide部分替换成了cross layer。Cross layer的核心是下面这个计算公式:


每一层的特征x都是上一层特征和第一层特征的一个组合。为什么采用这个公式,我们来看一个只有2个特征的两层cross layer的展开运算:


随着层数的增加,最终cross部分的输出是所有特征的多阶交叉,且交叉的阶数和cross layer的层数线性相关。通过这种方式,实现了对所有特征交叉的自动化学习,而不再需要手动提取高阶交叉特征了。

xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems(KDD 2018)进一步对cross layer进行了升级。这篇文章指出,DCN中的cross layer得到的特征交叉只是一个固定形式的(为乘一个标量),这限制了其他形式特征交叉的学习。同时,DCN的公式推导的最终结果是bit-wise的交叉,而非FM中采用的vector-wise的。因此,本文提出了CIN结构替代原来的cross layer。CIN主要目标是实现vector-wise的特征交叉,即将FM的思想引入到cross layer部分,其每层的特征计算方式和示意图如下:


上图中的a和b将这个公式拆成两个部分。图a描述了l-1层的X和0层的X外积的过程,这个过程生成了一个“图像”。图b描述了用W加权的过程,这个过程类似于在图像上做卷积。

总结

本文介绍了点击率预估模型的发展历程,从DNN模型和FM模型出发,介绍了FM和DNN相结合,以及针对DNN/FM问题进行的改进,梳理了近年来点击率预估模型的整体发展历程。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
深度学习尝鲜-DeepFM模型原理
【算法】深度学习在CTR预估/推荐系统中的应用探索
推荐系统中的深度匹配模型
CTR预估模型演变及学习笔记
Adv. Intell. Syst. | 青岛大学发表基于深度学习和宿主信息嵌入的微生物组多标签疾病检测研究
【用户需求】爱奇艺个性化推荐排序实践
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服