美文网首页
推荐系统遇上深度学习(八十六)-[腾讯&微博]GateNet:使

推荐系统遇上深度学习(八十六)-[腾讯&微博]GateNet:使

作者: 文哥的学习日记 | 来源:发表于2020-07-11 16:53 被阅读0次

    本文介绍的论文是《GateNet:Gating-Enhanced Deep Network for Click-Through Rate Prediction》
    下载地址为:https://arxiv.org/pdf/2007.03519.pdf

    1、背景

    深度学习在CTR预估中已经有了广泛的应用。在深度学习模型中,大都包括embedding layer和MLP hidden layers。同时,门机制(gating mechanism)在CV和NLP领域也有广泛的应用,最为大家熟知的就是在LSTM和GRU中的应用。

    关于门机制的介绍,大家可以参考张俊林老师(同时也是本文介绍的论文的作者之一)下面的博文:https://blog.csdn.net/malefactor/article/details/51183989#0-tsina-1-86888-397232819ff9a47a7b7e80a40613cfe1

    一些实验证明门机制可以提升非凸深神经网络的可训练性,那么将门机制应用在深度学习CTR预估模型中,会碰出怎样的火花呢?本文介绍的便是二者的结合:GateNet。

    2、GateNet介绍

    推荐系统中常用的深度学习模型入Wide & Deep,YoutubeNet,DeepFM等,可以看到这些模型都包括embedding layer和MLP hidden layers,那么将门机制和这两种layer相结合,便产生了Feature Embedding Gate和Hidden Gate,接下来对二者分别介绍。

    2.1 Feature Embedding Gate

    Feature Embedding Gate主要是在embedding layer增加门机制,用于从特征中选择更为重要的特征。如果模型中带有Feature Embedding Gate,其网络结构如下图所示:

    假设输入的离散特征,经过Embedding layer得到E=[e1,e2,e3,...,ei,...ef],其中f代表特征域的个数,ei代表第i个域的embedding向量,长度为K。

    接下来,embedding向量会通过Feature Embedding Gate进行转换。首先,对每一个embedding向量,通过下面的公式来计算门值gi,代表该向量的重要程度:

    然后,将embedding向量ei和门值gi计算哈达玛积,得到gei,并得到最终的输出GE。

    上面只是对Feature Embedding Gate的一个概要介绍,其具体的做法包括多种,比如输出的gi是一个跟ei同样长度的向量,那么此时我们称门为bit-wise gate,如果输出的gi是一个值,那么此时称门为vector-wise gate。二者的区别如下:

    另一种就是是否所有的域都用同一个参数矩阵W,如果每个域的参数矩阵都不相同,那么我们称之为field private,如果所有域的参数矩阵相同,我们称之为field sharing。

    那么bit-wise gate和vector-wise gate,field private和field sharing哪种效果更好呢,在实验部分告诉你答案。

    2.2 Hidden Gate

    Hidden Gate主要是在MLP中增加门机制,用于选择更加重要的特征交互传递到更深层的网络。如果模型中带有Hidden Gate,其网络结构如下图所示:

    假设a(l)是第l层隐藏层的输出:

    接下来将a(l)输入到hidden gate中,计算方式如下:

    好,Feature Embedding Gate和Hidden Gate的介绍就到这里了,接下来看下实验部分。

    3、实验结果

    首先来看下在网络中单独加入Feature Embedding Gate的效果:

    可以看到,加入Feature Embedding Gate后,在多个模型以及多个数据集中都取得了更好的AUC。

    接下来回答前文提出的问题,field private和field sharing,以及bit-wise gate和vector-wise gate哪种效果更好。实验结果如下:

    可以看到,field private的结果是明显好于field sharing的,但在不同的数据集中,bit-wise gate和vector-wise gate表现有所差异。

    然后看下在MLP中加入Hidden Gate的效果,加入Hidden Gate后AUC也有一定的提升:

    最后看下将两种gate进行结合的效果:

    可以看到,同时加入两种gate,效果并没有比单独只加一种gate更好,具体的原因有待进一步实验。

    好了,本文就介绍到这里了,对原文感兴趣的可以自行阅读。

    相关文章

      网友评论

          本文标题:推荐系统遇上深度学习(八十六)-[腾讯&微博]GateNet:使

          本文链接:https://www.haomeiwen.com/subject/nlsicktx.html