本文介绍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以后,数据变得高维且稀疏,对于线性模型是一个巨大的挑战;文中引入cross networkcross \ network以一种自动的形式来显示的应用特征交叉,交叉网络由好几层构成,因为最大的交互深度是被证明由层的深度所决定;

二、 DEEP & CROSS NETWORK (DCN)

DCN的网络架构如下所示:
推荐系统笔记7-Deep & Cross Network for Ad Click Predictions
首先是一个Embedding层和Stacking层,然后接着是并行的cross neteorkcross \ neteorkdeep networkdeep \ network,最终由一个combination layercombination \ layer来组合上两层的输出;

2.1 Embedding and Stacking Layer

考虑输入数据是稀释+密集数据,因为One-hot以后的类别特征维度高且稀疏,一般用Embedding来表示,如Xembed,i=Wembed,ixiX_{embed,i}=W_{embed,i}x_i,其中Wembed,iRne×nv{{\rm{W}}_{embed,i}} \in {R^{{n_e} \times {n_v}}}nenvn_e和n_v分别代表Embedding维度和输入维度,通过Embedding后,我们将所有的数据stackingstacking,转换为输入x0x_0,如下所示:
x0=[xembed,1T,...,xembed,kT,xdenseT]{x_0} = \left[ {x_{embed,1}^T,...,x_{embed,k}^T,x_{dense}^T} \right]然后将x0x_0送到下一层网络中;

2.2、 Cross Network

这一层的主要目的是显示的应用特征交叉,如下所示:xl+1=x0xlTwl+bl+xl=f(xl,wl,bl)+xl{x_{l + 1}} = {x_0}x_l^T{w_l} + {b_l} + {x_l} = f({x_l},{w_l},{b_l}) + {x_l}其中xl,xl+1Rd{x_l},{x_{l + 1}} \in {R^d}wl,blRd{w_l},{b_l} \in {R^d},并在ff函数以后自身输入,所以这个函数ff学习的是残差xl+1xlx_{l+1}-x_l,一个交叉层的可视化图如下:
推荐系统笔记7-Deep & Cross Network for Ad Click Predictions
上面表明随着隐藏层的增加,其对应的交叉特征的度也在增大;其交叉层的参数数量是:d×Lc×2d \times {L_c} \times 2,所以是线性的时间和空间复杂度,相比于NN层来说是可以忽略不计的,为了引入非线性特征,并行增加deep networkdeep \ network

2.3、 Deep Network

全连接的前馈神经网络,即hl+1=f(Wlhl+bl)h_{l+1}=f(W_lh_l+b_l),其中ff是ReLU**函数,假设所有层的大小都是一样的,且LdL_d代表有多少个隐藏层,mm代表隐藏层的大小,deep networkdeep\ network的参数数量是
d×m+m+(m2+m)×(Ld1)d \times m+m+(m^2+m)\times (L_d-1)

2.4、 Combination Layer

该层将上述两个层的结果结合起来,且通过sigmoidsigmoid函数得到输出,然后最小化logloss+L2,如下式所示:
推荐系统笔记7-Deep & Cross Network for Ad Click Predictions

三、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归一化,类别特征的维度是6×()1/46\times(类别基数)^{1/4}
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对比结果如下:
推荐系统笔记7-Deep & Cross Network for Ad Click Predictions
详细对比DCN的交叉结构层数大小(0层代表没有交叉,即DNN),如下所示:
推荐系统笔记7-Deep & Cross Network for Ad Click Predictions
上图右上角的注解代表的是并行的deep networkdeep\ network的参数,可看出4层deep networkdeep\ network和3个交叉层最好;

相关文章: