Wide&Deep模型的提出不仅综合了“记忆能力”和“泛化能力”, 而且开启了不同网络结构融合的新思路。 所以后面就有各式各样的模型改进Wide部分或者Deep部分, 其中比较典型的就是Deep&Cross模型, 该模型针对W&D的wide部分进行了改进, 因为Wide部分有一个不足就是需要人工进行特征的组合筛选, 过程繁琐且需要经验, 2阶的FM模型在线性的时间复杂度中自动进行特征交互,但是这些特征交互的表现能力并不够,并且随着阶数的上升,模型复杂度会大幅度提高。于是乎,作者用一个Cross Network替换掉了Wide部分,来自动进行特征之间的交叉,并且网络的时间和空间复杂度都是线性的。 通过与Deep部分相结合,构成了深度交叉网络(Deep & Cross Network),简称DCN。
下面的图就是DCN的结构图,可以很容易的看到,在这个结构中先是一个embedding层,将高维稀疏的数据映射成了低微稠密的数据。然后进行连接操作。之后cross和deep层并行输出结果并拼接,然后输出结果再进过一个逻辑回归输出预测结果。
这个模型的核心就是这个cross部分
其公式如下
我们看下面的例子
我们可以很明显的发现没进行一层的运算特征交叉就多了一个维度。这就实现了模型的自动特征交叉。并且有的特征的权重是共享的没同时也提高了模型的泛化性,有一定去除噪音的效果。