「Deep & Cross Network for Ad Click Predictions」- 论文摘要
1、前言
特征工程是许多预测模型成功的关键,但需要人工进行特征工程的提取,DNNs能自动学习组合特征,但是也会学到无用的组合特征。本文提出Deep&Cross Network(DCN)模型,不仅保持了DNNs模型的优势,而且能够有效的学习bounded-degree的组合特征,尤其DCN模型会在每一层都实现cross feature,不需要人工特征工程。
2、Introduction
CTR预估是一个大规模的问题。在做特征工程时如果能探索到少量的cross feature,这会产生一个好的预测结果。但是大规模的稀疏特征,对于特征的探索产生了极大的挑战。
本文提出一个新颖的网络结构,cross network,其主优势:
在多个层都实现了自动化的cross feature,也不需要进行人工特征工程
最高的多项式度在每一层增加,并由层深度决定。 网络由度数的所有交叉项组成,直到最高,其系数都不同。
cross network内存效率高,并且利于实现
本文的实验结果显示,DCN的logloss小于DNN,且其参数数量几乎少一个数量级
3、DEEP & CROSS NETWORK (DCN)
结构图:
3.1、Embedding and Stacking Layer
由于输入是存在sparse feature(离散特征)和dense feature(连续特征)的数据,加上categorical feature的one-hot,这导致了数据更加的稀疏且维度高,所以我们需要进行embedding降维处理,Embedding Vector:
x_{embed, i } = Wembed, i^{x_i}
。其中xi为输入的二值向量中第i个category,最后我们对所有的Embedding Vector以及dense feature进行stacking,即:
x_0 = \begin{bmatrix} x^T_{embed,1}, &..., & x^T_{embed,k},&x^T_{dense} \end{bmatrix}
然后将x0输入到下一个网络。
3.2、Cross Network
cross network由cross layers组成,每一层有如下公式:
x_{l+1} = x_0x^T_lw_l+b_l+x_l = f(x_l, w_l, b_l) +x_l
,xl为第l层cross layer,wl,bl为第l层的权重和偏差(参数)。cross操作如图所示:
3.3、Deep Network
全连接层,公式:
3.4、Combination Layer
将cross network以及deep network的输出结果进行concat,然后将结果送入logits layer,对于二分类问题:
p = \sigma ([x^T_{L_1}, h^T_{L_2}]w_{logits})
4、CROSS NETWORK ANALYSIS
4.1、Polynomial Approximation
多项式公式:
P_n({x}) = \begin{Bmatrix} & \sum_\alpha w_\alpha x^{\alpha_1}_1x^{\alpha_2}_2 ... x^{\alpha_d}_d | 0 \leq |\alpha | \leq n , \alpha \in N^d \end{Bmatrix}
。在cross network中实际上进行的是多项式乘法操作得到cross feature。
cross network的第l层与第l+1层的关系,
x_{i+1} = x_0x^T_iw_i+x^i
,x0为embedding层的输出,第l层的输出为
gl(x_0) = x^T_lw_l
,gl(x0) reproduces polynomials
\begin{Bmatrix} \sum_\alpha c_\alpha (w_0,...,w_l) x_1^{\alpha_1}x_2^{\alpha_2}....x_d^{\alpha_d} | 0\leq |\alpha|\leq l+1,\alpha \in N^d \end{Bmatrix}
,其中
c_\alpha = M_\alpha \sum_{i\in B_\alpha } \sum_{j\in P_\alpha } \prod ^{|\alpha|}_{k=1}w^{(j_k)}_{i_k}
4.2、Generalization of FMs
cross network的参数思想来源于FM模型,FM模型是进行二阶组合特征,degree为2,二阶表达式为权重W乘上xixj,其中W等于i,vj>,FM只能做到两阶的特征组合。而在DCN中可以完成任意多阶的组合,阶数与cross的深度一致,并且其参数复杂度与阶数是线性关系。
d \cdot L_c \cdot 2
,d为输入向量的大小,Lc为cross的深度。
5、总结
DCN模型的输入基本为连续特征(Dense Feature)和id类的离散特征(Sparse Feature),同时将会离散特征处理成embedding特征,这样就可以通过理解为模型的输入是一个连续的向量x0
根据提供的DCN网络结构图,其右侧部分是传统的DNN模型,其中每个全连接层都使用RELU激活函数, 把输入特征通过多个全连接层之后特征变得更加高阶。
左侧部分则是DCN的核心Cross层,每一层的特征都由其上一层的特征进行交叉组合,并且会吧上一层的原始特征重新加回来。这样既能做特征组合,又能保留低阶原始特征,而且还随着Cross层的增加,是可以生成任意高阶的交叉组合特征。
最终会将DNN模型和Cross模型输出的向量进行concat起来之后过一把LR进行点击率预测。
本作品采用《CC 协议》,转载必须注明作者和本文链接