赞
踩
在推荐领域,多目标已经成为了业界的主流,各大公司的各种业务场景,基本都是基于多目标的框架来搭建推荐系统。然而在现有的多目标模型中,很难同时对多个目标进行优化,通常会出现负迁移(negative transfer)和跷跷板现象(seesaw phenomenon)。
文章列出了当时业界对于多目标建模的一些算法模型,如下图所示:
论文指出,对于相关性较差的多任务,使用hard parameter sharing方式的网络结构,诸如shared-bottom、cross-stitch network和 sluice network等算法结构,存在负迁移和跷跷板现象,因为任务冲突或相关性较差,导致模型无法有效地进行参数学习。MMoE算法提出共享专家网络,每个任务通过自有gate网络对专家网络输出进行加权组合(门控机制),共享专家网络相当于应用 multi-head self-attention 学习不同的子空间表征。
本文提出CGC网络,显示的分开共享专家网络和任务特定网络,减轻模型学到的共享信息和特有场景信息之间的参数干扰。虽然MMoE模型在理论上可以得到同样的解,但是在实际训练过程中很难收敛到这种情况。
CGC网络结构如下图所示:
CGC包含shared experts和task-specific expert,expert module由多个子网络组成,子网络的个数和网络结构都是超参数;上层由多任务网络构成,每一个多任务网络(towerA和towerB)的输入都是由gating网络进行加权控制,每一个子任务的gating网络的输入包括两部分,其中一部分是本任务下的task-specific的experts和shared的experts组成,输入input作为gating network的selector。gating网络是一个FC结构(结构可调),获得不同子网络所占的权重大小,得到不同任务下gating网络的加权和。CGC网络结构保证了,每个子任务会根据输入来对task-specific和shared两部分的expert vector进行加权求和,再经过每个子任务的tower就得到了对应子任务的输出。
PLE网络结构如下图所示:
可以直观的看出,CGC网络是一种single-level的网络结构,而PLE网络结构就是将CGC拓展到了multi-level下。
不同的是:
笔者在百度从事精排算法,发现百度内PLE算法应用,有上层Extraction Network的gating network输入是底层input向量,auc+千二。
1)训练样本空间为全部任务的样本空间的并集,每个任务计算loss时只考虑这个任务的样本空间;
2)不同任务之间的权重设定:论文提出一种自适应动态调节的方案,在训练过程中调整不同任务之间的权重;
最终损失函数为:
PLE在浏览量和观看时长上的提升是非常明显。
可以看出,在不同任务相关性前提下,PLE模型效果都远超其它模型;
论文对比了MMoE和PLE不同experts网络的输出均值,对比两者的expert utilization。
其中bars的高度和垂直短线分别表示权重的平均值和标准差。
从中可以看出:
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。