基于多层次特征交互的点击率预测模型

2022-09-01 10:10郑嘉伟王粉花1b严由齐
实验室研究与探索 2022年5期
关键词:集上二阶高阶

郑嘉伟,王粉花,1b,2,赵 波,严由齐

(1.北京科技大学a.自动化学院;b.人工智能研究院,北京 100083;2.北京市工业波谱成像工程中心,北京 100083)

0 引言

点击率(Click-throughRate,CTR)预测是推荐系统[1]、广告系统[2]的重要组成模块,其本质上是一个二分类任务,直接使用原始数据很难达到最佳的预测效果,需要从原始数据中提取信息并进行变换组合,构建出新的特征,这些组合特征融合了多个原始特征的信息,又被称为交叉特征或者高阶特征。利用机器学习的方式从原始的特征中自动学习特征组合,最常用的方法就是因子分解机[3](Factorization Machines,FM),该模型把特征嵌入到一个隐空间中,通过嵌入向量的内积对特征间的相互作用进行建模,能够有效降低高维数据稀疏性,并且对噪声和冗余不敏感,拥有良好的可扩展性[4]。然而,为了让模型结构降低难度,一般只使用其二阶的特征交互,虽然在许多预测任务中取得了成功,但性能会受到二阶特征交互的限制[5]。

近年来,深度学习技术发展迅速,其对隐特征的学习能力非常出色,并且在图像处理、自然语言处理以及语音识别领域已有应用,许多学者开始将深度学习技术引入点击率预测模型当中。其中,Zhang 等[6]提出结合因子分解机和深度神经网络的模型(Factorization Machine Supported Neural Network,FNN),将输入特征经过因子分解机处理之后再输入多层全连接层,从而生成更高阶的特征组合,提高了模型的学习能力。Qu等[7]提出一种基于向量点击(Product)的模型(Product-based Neural Network,PNN),在嵌入层和全连接层之间进行product操作,从而更好地学习不同域特征之间的相关性。He 等[8]提出稀疏预测分析的神经因子分解机(Neural Factorization Machine,NFM),使用双线性交互结构来对二阶交叉信息进行处理,使交叉特征的信息能更好的被DNN结构学习,提高了对稀疏数据处理的能力。

但是,FNN、PNN和NFM都只考虑了高阶特征,缺乏对低阶特征信息的利用。对此,Cheng 等[9]提出了一种融合浅层模型和深层模型进行联合训练的框架Wide&Deep,综合利用浅层模型的记忆能力和深层模型的泛化能力,实现单模型对推荐系统准确性和扩展性的兼顾。Guo 等[10]基于Wide & Deep 模型进一步提出了一种将FM 和深度神经网络(Deep Neural Network,DNN)相结合的模型Deep FM,和Wide &Deep模型不同点在于将Wide 模型部分由LR 替换为FM,并且共享原始输入特征。Wang 等[11]提出了一种利用很少的参数去高效地显式学习特征的高阶交互关系的深度交叉模型DeepCross,将Wide 部分替换为由特殊网络结构实现的交叉网络,自动进行高阶特征的交叉组合,并学习对应权重,不需耗费大量成本去人工组合特征。Lian 等[12]提出一种可以同时显式和隐式的学习高阶特征向量之间的交互模型xDeepFM(eXtreme Deep Factorization Machine),以向量为最细粒度学习相关性,高阶特征学习效果更好。然而,该模型对CIN和DNN子模型只是简单的并列,没有在子模型的结合方式和输入数据的预处理上做其他工作,对低阶特征信息利用不充分,且训练参数过多。

本文基于xDeepFM 模型提出一种多层次特征交互的深度因子分解机(Multi Level Deep Factorization Machine,mDeepFM)。相比于xDeepFM,mDeepFM 在全特征学习和性能评测中均表现更优。

1 mDeepFM模型

mDeepFM模型如图1 所示,主要包含特征嵌入层、压缩交互网络、二阶特征交互层、全连接层、预测层几部分。相比xDeepFM,特征信息经过特征嵌入层处理之后,没有直接输入DNN,而是先经过二阶特征交互层,特征向量对位相乘再求和池化处理,输入DNN模块之前达到降维效果,减少了该模型学习的参数量,降低了DNN的训练难度,从而提高了训练速度。同时将嵌入层的信息输入压缩特征交互网络,进行显式特征交互,得到更加丰富的特征信息。

图1 mDeepFM模型框架图

1.1 特征嵌入层

特征嵌入层是将高维稀疏特征向量转换为低维稠密向量,再输入深层神经网络进行训练,计算用户和物品的嵌入向量相似度,可将嵌入技术作为推荐系统的召回策略之一。

将输入特征分类聚集为多个域,特征嵌入层会将不同域的稀疏向量进行独热编码后映射到低维向量,减少数据稀疏性并降低输入维度[13]。从输入层到嵌入层的子网络结构如图2 所示。将任意长度的输入域向量转换成相同的连续数值型向量,特征嵌入层的输出结果是一个水平拼接的向量,如下式所示:

图2 特征嵌入映射图

式中:n表示域的个数;ei表示第i个域的嵌入向量。

1.2 压缩交互网络

压缩交互网络(Compressed Intereaction Network,CIN)的网络结构如图3 所示。网络中的第l层隐藏层计算过程如下式所示:

图3 压缩交互网络架构图

1.3 二阶特征交互层

二阶特征交互层将n个域中的向量两两对位相乘,得到n×(n-1)/2 个向量,将这些向量相加得到一个低维的向量,这部分无任何参数需要学习。图4为一个3 维的向量二阶交互过程,嵌入层的输出向量在进入DNN 之前,先进入二阶特征交互模块进行处理,将嵌入向量进行两两交叉运算,然后将所有向量通过一个求和池化进行对位元素求和,即:

图4 二阶特征交互图

式中:vi和vj分别代表第i个和第j个向量的权重;⊗表示两个向量的元素积,即(ei⊗ej)k=eikejk,可以看出输出的是一个k维向量。数据在输入到全连接层之前进行降维,降低了DNN 部分的学习难度,同时提高模型的训练速度。

1.4 全连接层

模型中的DNN部分是将二阶特征交互层的输出向量作为输入,经过多层全连接神经网络,学习高阶的特征交互。其前向过程如下式所示:

式中:l是隐藏层的编号;σ为非线性激活函是第l层隐藏层的输出向量。

1.5 预测层

在预测层将逻辑回归、压缩交互层和全连接神经网络集成到一个框架,输出方程如下式所示:

式中:σ是Sigmoid 函数;x代表没有经过特征嵌入层处理的原始特征值;ydnn、ycin分别是全连接神经网络和压缩交互网络的输出值;Wlinear、Wdnn和Wcin分别是线性回归、全连接神经网络和压缩交互网络的参数模型;bdnn和b分别是全连接层和预测层的偏置参数。

2 预处理和防止过拟合方法

2.1 独热编码映射

在输入的原始数据中通常会有多种分类特征,这些特征的特点是离散化且无序,在点击率预测中进行特征相似度计算是非常有必要的,所以对这些特征进行独热(One-hot)编码,但是有的类别数量较多,独热编码后会非常稀疏,造成维度爆炸的现象增加计算难度,因此,有学者在独热编码过程中引入了一个最大支持维度参数M[14],例如,某个哈希类型的数据与频数的字典映射关系,

式中:xi是第i个不同的哈希值;Ni为哈希值对应的频数;K是哈希值的总数。如果K≤M,那么只需将xi对应的索引在独热编码中取值为1;如果K>M,则需要对频数Ni进行二次编码,创建一个新的映射表,直到维度小于M。

2.2 早停法

深度神经网络在学习过程中很容易出现过拟合现象。为了让模型的泛化能力达到最优,防止训练过程中出现过拟合,本文在训练过程中引入了早停法[15]。

如图5 所示,训练集误差和测试集误差在某一时刻趋势发生了变化,训练集误差还在下降,而测试集误差开始上升,当模型在测试集上的效果开始变差时停止训练,就能避免继续训练导致的过拟合问题。

图5 理想状态下训练集和测试集误差

3 实验结果与分析

3.1 实验环境

实验中采用TITAN Xp×2 进行运算加速,操作系统为64 位Ubuntu16.04,基于python3.6.7 的深度学习框架Tensorflow1.14.0 完成程序编程,基础学习率为0.001,优化方法为Adam,嵌入维度为10,批量大小为256。对于DNN,DCN,Wide&Deep,DeepFM,xDeepFM以及mDeepFM 用系数为0.000 1的L2 正则去约束模型,并选择文献[12]中最优的结构和参数设定。训练epoch 的选择采用了早停法,自动选择最佳迭代次数。

3.2 实验数据集

本文在Criteo和Avazu两个真实数据集上进行测试。其中,Criteo 数据集是Criteo 公司提供的关于用户-广告的历史点击行为的真实数据集,该数据集中包括了4 500 万用户点击事件记录,有13 个连续特征和26 个分类特征;Avazu 数据集是Avazu 公司提供的关于用户-广告的历史点击行为的真实数据集,该数据集包括了6 000 万用户点击事件记录,有8 个连续特征和14 个分类特征,两个数据集都根据9∶1的比例划分为训练数据集和测试数据集。

3.3 评价指标

本文使用二分类问题中最流行的两种评价指标:逻辑回归损失(Logloss)和ROC 特征曲线下的面积(AUC),值得注意的是AUC 即使提升0.001,对CTR预测任务都有重要意义,点击率的提升能直接影响业务收益。

Logloss针对的是单个样本的预测值,计算结果为预测概率和真实值之间的二元交叉熵,其能够体现出预测值与真实值之间的差距。Logloss定义为

式中:N是总体的样本数量;y(i)和分别为测试集上第i个样本的真实标签和模型预测为正样本的概率。

随机抽取一对样本,包含一个正样本一个负样本,模型把正样本排到负样本上面的概率即为AUC。它能体现出样本间的相对关系,不会被具体的概率值变化扰动。AUC的定义如下:

式中:M为正样本个数;N为负样本个数;ranki表示每个样本为正样本概率的大小排序。

3.4 实验结果与分析

(1)二阶特征交互层有效性验证。为了验证二阶特征交互层的有效性,将mDeepFM模型去掉线性回归和压缩交互网络,只保留二阶特征交互层和DNN退化为Bi+DNN结构,并和FM与DNN进行对比。表1 分别展示了3 个不同模型在Criteo 和Avauz数据集上的实验结果,其中二阶特征交互层加全连接神经网络的效果在两项指标上都达到最优,说明这种结构在特征交互中是非常有效的。由于FM只考虑二阶特征的交互,DNN只进行了高阶特征交互,而Bi +DNN 的结构则同时兼顾了低阶和高阶特征信息的融合,因此在包含大量稀疏和稠密特征的真实数据集上表现最好。而FM的效果最差,则说明了真实数据集中只进行二阶特征交互是不够的,有必要进行高阶特征交互。DNN的效果虽然有所提升,但同时忽略了特征的低阶信息,所以效果不如同时融合多层次特征信息的Bi +DNN结构。综上实验结果表明,在真实数据上进行多层次的特征交互非常必要。

表1 二阶特征交互层有效性验证实验结果

(2)DNN 层数对模型影响测试。对xDeepFM 和mDeepFM的DNN 部分选择不同层数做对比实验,验证更深层次的隐式特征提取能否进一步提高性能。本文分别对两个模型的DNN部分选择1 层、2 层和3 层进行对比,xDeepFM-和mDeepFM-i 分别表示模型中有i层全连接层。结果如图6 所示,DNN 的全连接层越多,效果越差;当DNN为1 层时,两个模型的效果都达到最优。同时结果显示,当DNN 层数相同时,mDeepFM模型效果仍然优于xDeepFM。根据本实验的结果可知,更深的全连接层不能提高性能,反而会使性能降低,在异构组合模型中二阶特征交互层和1 层全连接层结合的效果优于两层全连接层。由于模型采用的是线性回归、压缩交互网络和全连接神经网络3部分组成,压缩交互网络已经具备了高阶特征交互的能力,如果DNN 部分使用更多的全连接层,会导致系统过拟合,从而导致性能下降。因此,要根据不同的场景选择合适的全连接层。

图6 不同DNN层数的性能对比

(3)本模型与其他主流模型性能对比评测。将mDeepFM模型与其他几种主流模型在Criteo 和Avauz数据集上进行比较,结果如表2 所示。可见,LR 模型效果最差,这说明如果仅仅使用最简单的记忆模型会受到数据稀疏性的影响,缺乏泛化能力,只能学习到数据集中存在的特征,无法进行特征组合学习高阶特征,其他的模型则能够进行特征交互具有一定的泛化能力。

同时从表2 可以看出,xDeepFM 模型的效果比其他主流的点击率预测模型更优,本文提出的模型效果相比xDeepFM模型又有进一步的提升:在Criteo 数据集上Logloss 达到了0.472 7,AUC 达到了0.775 8;在Avauz数据集上Logloss 达到了0.384 5,AUC 达到了0.764 1,和其他模型相比两项指标均达到了最优。实验结果表明,mDeepFM能够有效完成在真实数据集上的点击率预测任务,异构组合模型的点击率预测效果优于单一结构模型,多层次的特征交互对特征信息的利用更加有效。

表2 mDeepFM与其他模型对比

4 结语

本文提出一种基于多层次特征交互的点击率预测模型,结合了高阶特征的隐式和显式两种学习方法,在特征嵌入层和全连接神经网络之间加入二阶特征交互层,对低阶和高阶特征的线性和非线性组合进一步融合,可以让神经网络模型在低层次上学到更丰富的特征信息,在稀疏数据集和稠密数据集上都能对特征进行有效的自动组合,增强了模型的特征组合能力。同时为了避免训练过程中出现过拟合引入了早停法,并在特征预处理过程中引入最大支持的维度参数,避免稀疏特征在独热编码时发生维度爆炸现象。通过这些改进模型可以学到信息更加丰富的特征组合,并提高点击率预测的性能。在两个真实数据集Criteo 和Avazu上进行验证,结果表明,本文提出的模型在真实数据集上的点击率预测任务中非常有效,其性能均优于xDeepFM和其他几个主流特征交互模型。

猜你喜欢
集上二阶高阶
实数集到时标上的概念推广的若干原则
GCD封闭集上的幂矩阵行列式间的整除性
二阶整线性递归数列的性质及应用
单位球上全纯函数的高阶Schwarz-Pick估计
滚动轴承寿命高阶计算与应用
二阶线性微分方程的解法
一类二阶中立随机偏微分方程的吸引集和拟不变集
基于高阶奇异值分解的LPV鲁棒控制器设计
师如明灯,清凉温润
非线性m点边值问题的多重正解