DCN:Deep & Cross Network for Ad Click Predictions简介


Deep & Cross Network for Ad Click Predictions

摘要

作者起草了DCN,该网络可以保持DNN的优点(隐式地生成特征之间的交互),同时又利用交叉网络来对特征进行显式的交叉计算。这也不要求手工的特征工程,同时只是在DNN的基础上加了一些可容忍的复杂度。实验证明DCN已经在CTR预估与分类问题上超过了sota。

介绍

对于web伸缩型的推荐系统,因为其产生的数据较为稀疏,对于线性模型来说已经不太好处理了。因此交叉特征变得很重要,但是这经常要求我们手动特征工程,为了减少这方面的工作,交叉网络应运而生。同时联合DNN,发挥两者的共同优势。

嵌入和堆叠层

对于离散数据,一般处理时会被编码成one-hot向量,对于实际应用中维度会非常高,因此使用
在这里插入图片描述

来将这些离散特征转换成实数值的稠密向量,最后将嵌入向量和连续特征向量堆叠在一起形成一个向量。

在这里插入图片描述

交叉网络

对于每层的计算,使用下述公式:

在这里插入图片描述

一层交叉层的可视化如下图所示:

在这里插入图片描述

该网络可以使交叉特征的次数随着层数的增加而不断变大,对于l层其最高多项式次数为l+1。

计算的时间与空间复杂度都是线性,因此DCN的效率与DNN是一个量级的。

深度网络

深度网络就是一个全连接的前馈神经网络,每个深度层具有如下公式:

在这里插入图片描述

链接层

将两个网络的输出联合,送进标准的logits层。

在这里插入图片描述

正则化的log loss函数:

在这里插入图片描述

实验

  1. 比较DCN,DC,DNN,FM,LR模型的最好的logloss

    在这里插入图片描述

  2. 比较实现对应的logloss,DNN和DCN需要的参数数量

    在这里插入图片描述

  3. 在固定参数下实现最好的logloss所需要的内存

    在这里插入图片描述

  4. 在层数与结点一致的情况下,比较DNN与DCN的logloss(X




    1



    0






    2





    10^{-2}


    )差距,负值代表DCN表现好于DNN

    在这里插入图片描述

  5. 最后展示了不同设置的变化趋势。

    在这里插入图片描述

可以参考我的github来看看源代码,如有错误,欢迎交流。