简介
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
网友评论