美文网首页
推荐系统 - MMoE模型

推荐系统 - MMoE模型

作者: nlpming | 来源:发表于2021-07-20 00:47 被阅读0次

    1. 简介

    • MMoE(Multi-gate Mixture of Experts)由Google发表在KDD 2018会议上。在推荐系统领域,我们不仅要推荐用户感兴趣的东西,并且要尽可能促进购买。所以我们需要同时要优化CTR和CVR模型,阿里巴巴提出ESMM模型给出了一个解决方案,同时优化pCTR和pCTCVR。但是ESMM是一个典型的Shared Bottom Model,两个模型共享一部分参数。多任务学习存在一个明显的问题是,当两个子任务差别非常大的时候效果不太好。因此Google在MoE模型的基础上提出MMoE模型,能够同时捕捉子任务之间的相关性和差异性。

    2. MMoE模型结构

    2.1 Shared-Bottom model

    Shared-Bottom model.png

    2.2 One-gate MoE model

    • One-gate MoE模型,使用单个Gate组合MoE模型输出的结果。MoE由多个专家(expert)网络组成,每一个expert网络可以认为是一个前馈神经网络。Gate网络计算得到在每个expert上的概率值,最后通过加权得到的输出,输入到每个子任务的tower网络中。假设总共有n个expert网络,每个expert网络的输出为f_i(x),对于第i个expert网络,Gate网络输出的概率值为g(x)_i,则每个tower网络的输出为:
      y_k = h^k \left( \sum_{i=1}^{n} g(x)_i f_i(x) \right)
    • 其中Gate也是一个子网络,生成在Expert网络上的概率分布:\sum_{i=1}^{n} g(x)_i = 1
    One-gate MoE model.png

    2.3 Mult-gate MoE model (MMoE)

    • MMoE在One-gate MoE模型基础上进行改进,对每个子任务都引入一个Gate网络,以此来捕获不同子任务之间的差异性。 Expert网络对于子任务之间共享,用于学习子任务之间的相关性。最终每个子任务tower网络的输出为:
      y_k = h^k \left( \sum_{i=1}^{n} \color{red}{g^k(x)_i} f_i(x) \right)
      g^k(x) = softmax(W_{gk} x)
    Mult-gate MoE model .png

    3. MMoE模型理解

    参考资料

    相关文章

      网友评论

          本文标题:推荐系统 - MMoE模型

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