简介
DCN(Deep Cross Network)由谷歌和斯坦福联合发表在AdKDD 2017会议上。DCN网络在wide & deep模型基础上进行改进,将wide部分替换成cross network,自动学习高阶的特征交叉并且引入的参数规模成线性增加。 wide & deep模型中wide部分,需要人工设计一些交叉特征,DCN网络通过引入Cross Network避免了人工做特征交叉。
Deep & Cross模型结构
1. Embedding and Stacking Layer
- Deep & Cross模型的输入为Dense, Sparse特征,Sparse特征通过Embedding层的映射转换为低维dense特征,然后与归一化后的dense特征concate在一起输入到后续网络。
为sparse特征的数量。
的维度为
。
2. Cross Network
- Cross Network的递推公式为如下。cross网络的每一层拟合的是残差
, 假设cross network的层数为
,则网络的参数数量为:
,其中
维度为
。

3. DNN Network
- DNN网络的递推公式如下。假设DNN网络每层的维度为
,网络的层数为
。则DNN网络的参数数量为:
。第一层的参数数量为:
4. Combination Layer
- 输出层将Cross Network和DNN Network输出拼接在一起,输入到sigmoid函数得到预估概率。输出概率计算公式如下:
- 最终模型的损失函数如下,损失函数中加入了参数的
正则化:
loss function.png

Cross Network设计初衷
- 假设
为一个2维的向量:
,则
的计算公式如下:为了计算简便省略
。从下面的公式可以看出
包含原始特征
从一阶到二阶的所有可能的交叉。
包含所有原始特征一阶到三阶的交叉。
-
并且Cross Network具有以下特点:
(1)有限的特征交叉: cross网络相当于对特征做了有限的特征交叉,特征交叉的阶数为cross网络的层数;
(2)参数数量呈线性增长: cross网络的参数数量为;
(3)特征参数共享: cross特征网络中,不同的特征权重不是完全不一样的,部分参数是共享的;
QQ20210723-0.png
参考资料
- DCN网络论文:Deep & Cross Network for Ad Click Predictions https://arxiv.org/pdf/1708.05123.pdf
- 揭秘 Deep & Cross : 如何自动构造高阶交叉特征 https://zhuanlan.zhihu.com/p/55234968
网友评论