本文介绍Deep & Cross Network for Ad Click Predictions,这个和之前一篇Deep Crossing文章是不一样的,Deep Crossing通过ResNet和Embedding来学习特征组合;
摘要
特征工程对于预测模型是很重要的,但是这个过程费时费力,DNNs可以自动学习特征交互,但是不能学习所有的特征类型;文中提出Deep & Cross Network (DCN),DCN在保持了原来的DNN模型的优势基础上,引进了一个新的交叉网络;除此之外,DCN显示的在每层引入特征交叉,但是也只是增加了可以忽略不计的复杂度给DNN;
一、介绍
对于CTR预估中的CPC(cost-per-click)模型,只有当广告被点击,才会被收费;但是这些问题的数据一般是离散且类别型的,One-hot以后,数据变得高维且稀疏,对于线性模型是一个巨大的挑战;文中引入以一种自动的形式来显示的应用特征交叉,交叉网络由好几层构成,因为最大的交互深度是被证明由层的深度所决定;
二、 DEEP & CROSS NETWORK (DCN)
DCN的网络架构如下所示:
首先是一个Embedding层和Stacking层,然后接着是并行的和,最终由一个来组合上两层的输出;
2.1 Embedding and Stacking Layer
考虑输入数据是稀释+密集数据,因为One-hot以后的类别特征维度高且稀疏,一般用Embedding来表示,如,其中,分别代表Embedding维度和输入维度,通过Embedding后,我们将所有的数据,转换为输入,如下所示:
然后将送到下一层网络中;
2.2、 Cross Network
这一层的主要目的是显示的应用特征交叉,如下所示:其中,,并在函数以后自身输入,所以这个函数学习的是残差,一个交叉层的可视化图如下:
上面表明随着隐藏层的增加,其对应的交叉特征的度也在增大;其交叉层的参数数量是:,所以是线性的时间和空间复杂度,相比于NN层来说是可以忽略不计的,为了引入非线性特征,并行增加;
2.3、 Deep Network
全连接的前馈神经网络,即,其中是ReLU**函数,假设所有层的大小都是一样的,且代表有多少个隐藏层,代表隐藏层的大小,的参数数量是
2.4、 Combination Layer
该层将上述两个层的结果结合起来,且通过函数得到输出,然后最小化logloss+L2,如下式所示:
三、CROSS NETWORK ANALYSIS
从三个角度分析为什么交叉网络有效:1、polynomial approximation;2、generalization to FMs;3、efficientprojection。
四、 EXPERIMENTAL RESULTS
4.1、Criteo\ Display\ Ads\ Data
数据集存在13个整数特征和26个类别特征,且每个类别有很高的基数,将7天数据,前6天训练,第7天随机划分两部分:验证集+测试集;
4.2、 Implementation Details
Data processing and embedding: 实数特征通过log归一化,类别特征的维度是;
Optimization: mini-batch(512)+Adam+BN+梯度裁剪(100);
Regularization: 早停+L2+Dropout;
Hyperparameters: 使用网格搜索调参;
4.3、比较的模型
比较DNN、LR、FM、Wide & Deep和 Deep Crossing。
4.4、 Model Performance
不同模型测试集Logloss对比结果如下:
详细对比DCN的交叉结构层数大小(0层代表没有交叉,即DNN),如下所示:
上图右上角的注解代表的是并行的的参数,可看出4层和3个交叉层最好;