【推荐算法】MMoE模型:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

news/2024/5/19 23:06:35 标签: 推荐算法, 算法

1、MMoE背景

MMoE是谷歌在2018年发表在KDD上的一篇基于多任务学习的经典论文,其使用场景是对不相关任务的多任务学习。在推荐系统中,这些不相关的任务可以示例为:视频流推荐中的CTR、时长、点赞、分享、收藏、评论等相关性不强的多个任务。

2、MMoE模型概述

2.1、Shared-Bottom model

MMoE模型的基础结构是“Shared-Bottom multi-task DNN”结构,Shared-Bottom model网络结构如下图。

Shared-Bottom model在输入层后接入几个bottom层作为多任务的共享网络结构,然后每个任务有一个独立的网络“塔”。这个网络结构比较简单,就是多个任务共享底部的Shared-Bottom网络,然后每个子任务在链接一个独立的tower网络。

这种网络结构的优点是浅层参数共享,互相补充学习,任务相关性越高,模型的loss可以降低到更低,但当任务没有好的相关性时,会影响模型的效果。

假设当前有K个任务,Shared-bottom Multi-task Model由一个shared-bottom的网络组成,这个shared-bottom网络可表示为函数f,将K个tower networks表示为h^{k},其中k=1,2,...,K为任务数。Shared-Bottom model的shared-bottom网络接入的是输入层,每个tower networks建立在shared-bottom网络的输出上,每个tower networks的输出就是对每个独立任务的网络输出,可表示为y_{k}。这样,对于子任务k,Shared-Bottom model的网络输出为:

  • x:input;
  • f(x):input过shared-bottom network;
  • hk(f(x)):shared-bottom network输出过目标k的tower网络。

2.2、One-gate MoE model

Shared-Bottom会导致不相关任务联合学习效果不佳,为了解决这个问题,一种实现是One-gate MoE模型。MoE由一组专家系统(Experts)组成的神经网络结构替换原来的Shared-Bottom部分,每一个Expert都是一个前馈神经网络,再加上一个门控网络(Gate)。

与Shared-bottom网络不同的是,One-gate MoE网络结构是将隐藏层划分为三个专家(expert)子网,同时接入一个Gate网络将各个子网的输出和输入信息进行组合,并将得到的结果进行相加。One-gate MoE将Shared-bottom层替换为3个Expert network并增加了一个门控网络。

MoE模型可公式化表示为:

 其中, f_{i}表示第i个专家网络,i=1,2,...,n,g是用来组合所有专家网络的结果的一个门网络。

g(x)_{i}是g(x)的第i个logit输出,表示专家网络f_{i}的概率值。Gate网络输出每个 Expert被选择的概率,然后将三个Expert 的输出加权求和。也就是说,Gate网络产生n个experts上的概率分布,最终的输出是所有experts的带权加和。

 2.3、Multi-gate MoE model

与所有任务共享底层网络不同的是,MMoE模型使用一组底层网络,Bottom网络中的每个网络都是一个Expert专家网络(Expert专家网络采用的是前馈神经网络)。MMoE结构为每一个任务设置一个“门网络Gate”,Gate网络的输入是输入特征,输出是每一个专家网络的权重,也就是说Gate网络用来选择每个Expert网络的权重,即每个Gate网络都可以根据不同任务来选择专家网络的子集。

3、RELATED WORK

多目标模型能够学习不同任务间的共性和差异。对于每个任务来说,多任务模型不仅能够提升效率还能够提升模型质量。当前使用广泛的多任务学习模型采用的是shared-bottom的模型结构,这种结构的底层网络被所有目标共享。这种模型结构虽然能够一定程度上减少过拟合的风险,但是因为所有的任务共享底层网络参数及目标间的差异性会导致网络难于最优化。

4、MMoE

4.1、Mixture-of-Experts

原始的MoE模型结构:

MMoE是MoE的改进,相对于MoE的结构中所有任务共享一个门控网络,MMoE的结构优化为每个任务都单独使用一个门控网络。这样的改进可以针对不同任务得到不同的Experts权重,从而实现对Experts的选择性利用,不同任务对应的门控网络可以学习到不同的Experts组合模式,因此模型更容易捕捉到子任务间的相关性和差异性。

4.2、Multi-gate Mixture-of-Experts 

MMoE模型的核心思想:使用一个MoE层代替shared bottom network。

MMoE模型为每个任务k添加一个独立的门网络g^{k},任务k的输出是:

MMoE模型由使用ReLU激活单元的相同多层感知机组成,门网络是输入经过softmax层的一个线性变换

 其中,w_{gk}是训练矩阵,n是专家网络数,d是特征的维度。

4.3、三种结构对比

图a中的模型是最常用也是最基础的shared-bottom模型,这个模型不同任务共享底层的tower,然后每个任务各自学习一个上层的tower。

由于多个任务共享底层的tower,可以使底层的信息学习的非常充分,同样的,如歌不同任务间相关性不强,在学习过程中可以发生参数冲突(即同个特征在不同任务中可能是相反的作用)

为了底层的共享网络对不同任务也能做到个性化,图b中的MoE结构将共享网络由多个专家网络组成,并用了一个gate模型去学习不同专家网络的权重,最后每个任务是不同专家网络的加权和。底层共享网络由多个专家网络组成,增加了底层网络的个性化,可以减少参数参数冲突。

图c中的MMoE网络,和图b中的网络对比,每个任务学习了单独的一个gate。

其优点就是对共享的底部网络增加了个性化,对于相关性比较差的任务也能表现的很好;缺点就是增加了模型的复杂度,而且每个任务都学了一个gate网络,最优解非常多,难以学好。

5、MMoE模型效果

论文给出的实验效果对应的模型配置:

  • 8个experts,每个expert是一个单层网络,隐层单元数是16;
  • tower网络也是一个单层网络,隐层单元数是8;
  • Adam optimizerl;
  • learning rate is grid searched from [0.0001, 0.001, 0.01]

6、参考资料

  • MMoE论文
  • DeepCTR/mmoe.py at master · shenweichen/DeepCTR · GitHub
  • 推荐系统 - MMoE模型 - 简书

http://www.niftyadmin.cn/n/781095.html

相关文章

html读取oss_阿里云使用js 实现OSS图片上传、获取OSS图片列表、获取图片外网访问地址(读写权限私有、读写权限公共);...

详情请参考:https://help.aliyun.com/document_detail/32069.html?spma2c4g.11186623.6.763.ZgC59a或者https://help.aliyun.com/document_detail/64041.html?spma2c4g.11186623.6.762.EmuWIt这里写的是最简单的写法,只是实现其简单的功能1.引入js文件…

mongodb 导出到sqlserver_MongoDB、Sql Server和Mysql导入导出指定条件数据

一 Mongo 导出导入指定条件的数据1. 本地有安装NoSQL Manager for MongoDB Professional管理工具连接Mongo2. 在工具中先利用查询条件来过滤出你需要的数据,然后切换至Text View复制其中的数据到notepad中保存为json格式3. 利用正则表达式 /\* \d* \*/ 或者/\*\s\d…

correl函数相关系数大小意义_用Correl函数返回相关系数,以确定属性关系 Excel用Correl函数返回相关系数以确...

延伸:Excel用Correl函数返回相关系数以确定属性关系描述:①启动Excel2013,打开表格,在相关系数后面的单元格输入公式:CORREL($B$2:$B$13,C2:C13)②回车,得到结果0.75114738.结果的意义我稍后为大家讲解。③…

idea右键maven_maven的安装配置以及在IDEA中的配置图文教程

一、下载maven:二、安装配置1、下载后解压到本地目录,如图2、配置环境变量:我的电脑右键-》属性-》高级系统设置-》环境变量系统变量中新建一个名字为MAVEN_HOME的变量, MAVEN_HOMED:\Java\apache-maven-3.5.2然在path中加入 %MAV…

algorand共识协议_Algorand共识算法简介

Algorand共识算法简介2019-12-26 02:29:19 搜索更多类似文章Algorand共识算法是图灵奖获得者Silvio Micali在2017年底提出。Michali是MIT的教授,是一位密码学家和计算机理论学家,在伪随机数以及零知识证明领域很有名。Algorand共识算法的论文的下载地址&…

华为路由器接口如何区分_全千兆无死角,华为路由 Q2 Pro子母装还真是不简单...

关于WIFI信号,不知道朋友们有哪些感触,但对于笔者来说,家里的路由器放在大厅信号倒没问题,但是进入相对比较靠里的房间,信号就时有时无,很多时候都迫不得已只能使用流量上网。有人会说,那你换个…

android usb数据抓包_在Android平台,使用tcpdump构建USB抓包工具 (lembed.com)

http://onesheepishgirl.com/wp-content/uploads/2013/11/app.php?p307{Occhiali Da Sole Ray Ban Rb7010 Lente Grigio Nero Rosso Telaio}http://www.notmormon.com/wp-content/uploads/2013/10/system.php?p115{mcm boston}http://www.batteryeater.com//new/img/medals/t…

抖音只能上下滑动吗_抖音短视频推荐为什么是上下滑动?抖音短视频推荐表格设置方法...

抖音推荐为什么上下滑动?小编为大家带来抖音推荐表格设置方法。如果你不喜欢这样的表格排版是可以自己设置的哦,很多用户表示并不是很清楚。下面,我们来看看抖音推荐表格怎么设置。抖音玩的好的基本上都找抖速涨工作室(点击进入)下单刷粉丝量、播放量或…