以下仅仅为个人对文章的阅读记录,如有错误,欢迎指正。如需转载注明来源即可~~ (哈哈哈哈哈,点个赞再走)
Huang T, She Q, Wang Z, et al. GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction[J]. arXiv preprint arXiv:2007.03519, 2020.
原文链接:https://arxiv.org/pdf/2007.03519.pdf
一、相关工作
因为门机制广泛运用于计算机视觉,自然语言处理中,有助于优化深度学习的训练。因此作者提出了名为GateNet的模型,可以选择显著的信息同时显式地选择更有效的高阶交互。
主要贡献:
- 提出了基于门的特征嵌入层来代替传统的嵌入层,提高模型的能力。将特征嵌入门插入到FM、DeepFM、DNN和XDeepFM等经典模型的嵌入层中,我们发现了显著的性能改进。
- MLP层是典型DNN模型中隐式捕获高阶特征交互的重要组成部分,在深度模型的MLP部分引入了隐藏门,提高了经典模型的性能。
- 通过插入隐藏门来增强标准DNN模型是简单而有效的,可以达到与其他最先进的模型基线(如DeepFM和XDeepFM)相当的性能。
二、GateNet模型
(一)、基于门的嵌入层
首先看图,挺好理解的。首先我们理解,这一层是使用在每个field的embedding上的。例如我们的输入有10个field,那么针对每个field的feature embedding,都有一个小的网络。这个网络有两种形式,"vector-wise" 和 "vector-wise",对应图中的两种模式。vector-wise 可以看到只学一个权重,然后权重和原始embedding 相乘;bit-wise,学习和初始embedding相同长度的权重,逐位相乘。计算方式也很简单,通过矩阵实现即可。一定注意的是,每个field的embedding上都有一个小的网络。(其实都可以,不过作者后续试验也说明这样的效果好。)
(二)、带有门的隐藏层
结构如下。如果你熟悉residual net的话,是不是很熟悉,把residual net的加法改成乘法即可。这里首先将所有的初始embedding向量变成一个向量,然后使用MLP层,这里隐藏层的维度都是相同的,否则无法进行乘法操作。结构比较简单,具体公式可以查看原文。
三、实验分析
数据集:Criteo、ICME、SafeDriver。数据划分只有训练集和测试集。
指标:AUC
(一)、带有门的特征嵌入层是否可以促进原始模型的效果?
1、添加了带有特征嵌入层之后的效果
2、是否为每一个field配置一个网络。(private or shared)
3、bit-wise or vector-wise?
(二)、带有门的隐藏层是否有可以促进原始模型的效果?
(三)、将两个结构组合是否可以提高模型的效果?
三者对比没有很明显的结论。可能还是需要根据特定的数据集选择特定的方法。
(四)、超参数对模型的影响。
1、激活函数的影响
2、embedding size的影响
3、DNN层数的影响
四、个人小结
结构很简单,不知道大家觉得是否有明显的创新?
网友评论