MMOE 论文阅读

MMOE 简介

MMOE 是一个 multitask 模型

multitask 主要有以下有点:

1. 把几个任务合为一个模型,相比于每个任务各训练一个模型来说,可以节省资源

2. 由于几个任务共享了数据,对于相关性比较大的任务来说,可以使数据学的更充分

multitask 也存在以下几个问题:

1. 对于几个任务共享的参数,不同任务在训练时可能会有冲突,导致参数学不好

2. 模型的迭代变得更复杂了

MMOE 模型和另外两个 MultiTask 模型对比

图 a

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

优缺点分析:

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

图 b

为了底层的共享网络对不同任务也能做到个性化,图 b 中的共享网络由多个专家网络组成,并用了一个gate模型去学习不同专家网络的权重,最后每个任务是不同专家网络的加权和

优缺点分析:

优点就是底层共享网络由多个专家网络组成,增加了底层网络的个性化,可以减少参数参数冲突

图 c

图 C 中的网络就是论文提出的 MMOE 网络,和图b中的网络对比,每个任务学了单独的gate

优缺点分析:

优点就是对共享的底部网络增加了个性化,对于相关性比较差的任务也能表现的很好

缺点就是增加了模型的复杂度,而且每个任务都学了一个gate网络,最优解非常多,难以学好

原文地址:https://www.cnblogs.com/xumaomao/p/15208528.html