美文网首页
推荐系统 - 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