Deep & Cross Network for Ad Click Predictionshttps://dl.acm.org/doi/pdf/10.1145/3124749.3124754
背景
前一篇文章介绍了很多FM系列的方法,但是FM通过特征之间的两两关系来构建交叉特征,这些都是低阶特征组合。谷歌提出DCN,除了DNN部分,在显示构造特征的部分进行多层cross network进行特征的交叉。
方法
如图所示为DCN的结构示意图。通过embedding层将输入数据转换为embedding,然后右边部分是DNN部分,用于发掘特征之间的高阶关系,他能自动的进行特征交互,但是DNN是隐式的对所有特征值进行交互,不一定能学习到有效的特征交叉。右边部分则是采用显示的特征交叉来构建特征之间的相互关系。DeepFM中也是用类似的方法,不过缺点正如背景中所说的,因此本文提出了多层交叉的方式。
Cross Network
cross network就是交叉网络,即结构图中的左边部分。下式为交叉网络中每一层的计算方式,每一层计算的时候都是前一层的输出
和最初始的输入特征
做交叉,可视化如下图。
交叉网络的特征交叉程度随着层数的加深而增大,如果交叉网络有L层,则交叉程度为L 1
DNN和Combination Layer
DNN部分就是多层前馈神经网络,
。结合层:
,将交叉网络和DNN的输出结合起来,经过一层全连接层和sigmoid得到ctr预估。损失函数依旧是交叉熵损失函数,加上L2正则项。
总结
可以发现,DCN和FM系列还是有明显区别的。首先,FM系列做的特征交叉是比较低阶的,而DCN做的多层交叉使得整个交叉后的特征是高阶的。其次,FM系列在FFM之后都采用了Field的概念,分成不同的field来对特征做交叉,而DCN是对整个特征进行操作。