深度特征工程:[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的结构
图中输入包括连续特征和向量, 模型分两支,一是DNN模型,一是Cross Net,最终两者的输出concat一起经过FFN输出。
CrossNet的公式如下:
公式的矩阵显示是:
式中w和b都是d维向量,因此每增加一层增加2d个参数,参数相比DNN很少。
3、DCN-M的改进点
- 3.1修改cross的公式
将w由向量变成矩阵,提高表示能力
图示化如下: - 3.2 混合低秩矩阵
为了降低计算量,作者将cross部分的参数矩阵w分解为两个小矩阵,新网络称DCN-Mix。能分解的基础是作者将初始化的w和学习完成后的w的奇异值对比如下,可以发现学习完成后的奇异值衰减很快,说明w是低秩的(适合奇异值分解):
因此新的公式如下:式中U和V都是d*r的矩阵
该公式有两种解释:
(1)在子空间学习特征交叉
(2)将输入特征映射到低维空间,再映射回来
由此引发作者的两个改进点:
(1)在多个子空间学习,引入MoE(Mixture-of-Experts)思想,通过门加权多个专家的结果。
(2)在映射回原空间之前,增加非线性(tanh)变化提炼特征
4、效果
- 4.1 验证DCN-M确实可以拟合高阶特征
作者设计了三个函数分别让CrossNet和DNN去拟合,下面展示了拟合后的误差,证明了CrossNet对于DNN的优越性。 - 4.2 验证DCN-M可以捕捉重要的特征交叉
可视化权重矩阵W:
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.