深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning

参考:https://mp.weixin.qq.com/s/0qidwbxyfTkODTw2DIiRWw
代码

1、贡献
DNN在特征交叉学习上比较低效,DCN[1]可以高效的学习高阶的特征交叉,本文在DCN的基础上,提出一种改良版的DCN-M模型。

2、回顾DCN的结构
深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
图中输入包括连续特征和向量, 模型分两支,一是DNN模型,一是Cross Net,最终两者的输出concat一起经过FFN输出。
CrossNet的公式如下:
深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
公式的矩阵显示是:
深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
式中w和b都是d维向量,因此每增加一层增加2d个参数,参数相比DNN很少。

3、DCN-M的改进点

  • 3.1修改cross的公式
    将w由向量变成矩阵,提高表示能力
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
    图示化如下:
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
  • 3.2 混合低秩矩阵
    为了降低计算量,作者将cross部分的参数矩阵w分解为两个小矩阵,新网络称DCN-Mix。能分解的基础是作者将初始化的w和学习完成后的w的奇异值对比如下,可以发现学习完成后的奇异值衰减很快,说明w是低秩的(适合奇异值分解):
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
    因此新的公式如下:式中U和V都是d*r的矩阵
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
    该公式有两种解释:
    (1)在子空间学习特征交叉
    (2)将输入特征映射到低维空间,再映射回来
    由此引发作者的两个改进点:
    (1)在多个子空间学习,引入MoE(Mixture-of-Experts)思想,通过门加权多个专家的结果。
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
    (2)在映射回原空间之前,增加非线性(tanh)变化提炼特征
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning

4、效果

  • 4.1 验证DCN-M确实可以拟合高阶特征
    作者设计了三个函数分别让CrossNet和DNN去拟合,下面展示了拟合后的误差,证明了CrossNet对于DNN的优越性。
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning
  • 4.2 验证DCN-M可以捕捉重要的特征交叉
    可视化权重矩阵W:
    深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning

5、可以学习的地方
1)深度网络中做特征交叉的方式
2)图示化问题分析的方式

参考文献:
[1] Wang R, Fu B, Fu G, et al. Deep & cross network for ad click predictions[M]//Proceedings of the ADKDD’17. 2017: 1-7.