参考: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.