推荐系统遇上深度学习(九十二)-[腾讯]RecSys2020最佳长论文-多任务学习模型PLE

今天介绍的是腾讯提出的一种新的多任务学习个性化推荐模型,该论文荣获了RecSys2020最佳长论文奖,一起来学习下!

1、背景

多任务学习通过在一个模型中同时学习多个不同的目标,如CTR和CVR,最近被越来越多的应用到线上的推荐系统中。

当不同的学习任务之间较为相关时,多任务学习可以通过任务之间的信息共享,来提升学习的效率。但通常情况下,任务之间的相关性并不强,有时候甚至是有冲突的,此时应用多任务学习可能带来负迁移(negative transfer)现象,也就是说,相关性不强的任务之间的信息共享,会影响网络的表现。

此前已经有部分研究来减轻负迁移现象,如谷歌提出的MMoE模型。该模型会在第二节进行一定的回顾。但通过实验发现,多任务学习中往往还存在seesaw phenomenon(本文中暂且翻译为跷跷板现象,如有不当,欢迎指正),也就是说,多任务学习相对于多个单任务学习的模型,往往能够提升一部分任务的效果,同时牺牲另外部分任务的效果。即使通过MMoE这种方式减轻负迁移现象,跷跷板现象仍然是广泛存在的。

论文提出了Progressive Layered Extraction (简称PLE),来解决多任务学习的跷跷板现象。本文会在后面对PLE进行详细介绍。

本文的后续首先将介绍一下多任务学习的一些常见的架构,然后重点介绍论文提出的PLE,最后简单介绍一下实验结果部分。

2、多任务学习介绍

这一部分主要是根据论文中给出的总结图进行介绍。论文中将MTL模型分为了Single-Level MTL Models和Multi-Level MTL Models。因此我们也按照此进行介绍。

2.1 Single-Level MTL Models

Single-Level MTL Models主要包含以下几种形式:

1)Hard Parameter Sharing:这也是最为常见的MTL模型,不同的任务底层的模块是共享的,然后共享层的输出分别输入到不同任务的独有模块中,得到各自的输出。当两个任务相关性较高时,用这种结构往往可以取得不错的效果,但任务相关性不高时,会存在负迁移现象,导致效果不理想。

2)Asymmetry Sharing(不对称共享):可以看到,这种结构的MTL,不同任务的底层模块有各自对应的输出,但其中部分任务的输出会被其他任务所使用,而部分任务则使用自己独有的输出。哪部分任务使用其他任务的输出,则需要人为指定。

3)Customized Sharing(自定义共享):可以看到,这种结构的MTL,不同任务的底层模块不仅有各自独立的输出,还有共享的输出。2和3这两种结构同样是论文提出的,但不会过多的介绍。

4)MMoE:这种结构的MTL之前的文章中也都介绍过了,相信大家也比较熟悉。底层包含多个Expert,然后基于门控机制,不同任务会对不同Expert的输出进行过滤。

5)CGC:这是本文提出的结构,后文会进行详细的介绍,此处省略。

2.2 Multi-Level MTL Models

Multi-Level MTL Models主要包含以下几种形式:

1)Cross-Stitch Network(“十字绣”网络):出自论文《Cross-stitch Networks for Multi-task Learning》,上图中可能表示的不太清楚,可以参考下图:

从上面的公式中可以看出,当aBA或者aAB值为0时,说明两者没有共享的特征,相反的,当两者的值越大,说明共享部分越大。

2)Sluice Network(水闸网络):名字都比较有意思,哈哈。这个结构出自论文《Sluice networks: Learning what to share between loosely related tasks》,模型结构比较复杂,本文不做详述,感兴趣的同学可以阅读原文

3)ML-MMoE:这是MMoE的多级结构,不再赘述

4)PLE:CGC的进阶版本,同样是本文提出的结构,后文会进行详细的介绍,此处省略。

好了,简单回顾了一些多任务学习的网络结构,接下来进入本文的重点了,准备好了么!

3、PROGRESSIVE LAYERED EXTRACTION介绍

3.1 seesaw phenomenon

我们先来看一下MTL中的seesaw phenomenon(跷跷板现象),论文主要基于腾讯视频推荐中的多任务学习为例进行介绍,其视频推荐架构如下图:

这里主要关注VCR和VTR两个任务。VCR任务可理解为视频完成度,假设10min的视频,观看了5min,则VCR=0.5。这是回归问题,并以MSE作为评估指标。VTR表示此次观看是否是一次有效观看,即观看时长是否在给定的阈值之上,这是二分类问题(如果没有观看,样本Label为0),并以AUC为评估指标。

两个任务之间的关系比较复杂。 首先,VTR的标签是播放动作和VCR的耦合结果,因为只有观看时间超过阈值的播放动作才被视为有效观看。 其次,播放动作的分布更加复杂,在存在WIFI时,部分场景有自动播放机制,这些样本就有较高的平均播放概率,而没有自动播放且需要人为显式点击的场景下,视频的平均播放概率则较低。

论文对比了上述所有结构的MTL在腾讯视频VCR和VTR两个任务上相对单任务模型的离线训练结果:

可以看到,几乎所有的网络结构都是在一个任务上表现优于单任务模型,而在另一个任务上表现差于单任务模型,这就是所谓的跷跷板现象。MMoE尽管有了一定的改进,在VTR上取得了不错的收益,但在VCR上的收益接近于0。MMoE模型存在以下两方面的缺点,首先,MMoE中所有的Expert是被所有任务所共享的,这可能无法捕捉到任务之间更复杂的关系,从而给部分任务带来一定的噪声;其次,不同的Expert之间也没有交互,联合优化的效果有所折扣。

针对以上两点,本文提出了PLE结构,在两个任务上都取得了相对单任务模型不错的收益,有效解决了跷跷板现象。

3.2 Customized Gate Control

Customized Gate Control(以下简称CGC)可以看作是PLE的简单版本,本文先对其进行介绍,其结构如下图所示:

CGC可以看作是Customized Sharing和MMoE的结合版本。每个任务有共享的Expert和独有的Expert。对任务A来说,将Experts A里面的多个Expert的输出以及Experts Shared里面的多个Expert的输出,通过类似于MMoE的门控机制之后输入到任务A的上层网络中,计算公式如下:

其中,gk(x)是下层模块的输出,wk(x)是第k个任务针对不同Expert输出的权重,Sk(x)则是第k个任务所用到的Expert的输出,例如对于任务A,使用Experts A和Experts Shared里面的多个Expert的输出。

3.3 Progressive Layered Extraction

在CGC的基础上,Progressive Layered Extraction(以下简称PLE)考虑了不同的Expert之间的交互,可以看作是Customized Sharing和ML-MMOE的结合版本,其结构图如下:

在下层模块,增加了多层Extraction Network,在每一层,共享Expert不断吸收各自独有的Experts之间的信息,而任务独有的Expert则从共享Expert中吸收有用的信息。每一层的计算过程与CGC类似,这里就不再赘述。接下来介绍训练时的几点优化。

3.4 MTL训练优化

传统的MTL的损失是各任务损失的加权和:

而在腾讯视频场景下,不同任务的样本空间是不一样的,比如计算视频的完成度,必须有视频点击行为才可以。不同任务的样本空间如下图所示:

解决样本空间不一致的问题,前面我们介绍过ESMM的方式。而本文则是在Loss上进行一定的优化,不同的任务仍使用其各自样本空间中的样本:

其中δki取值为0或1,表示第i个样本是否属于第k个任务的样本空间。

其次是不同任务之间权重的优化。关于MTL的权重设置,最常见的是人工设置,这需要不断的尝试来探索最优的权重组合,另一种则是阿里提出的通过帕累托最优来计算优化不同任务的权重。本文也是人工设置权重的方式,不过在不同的训练轮次,权重会进行改变。在每一轮,权重的计算如下:

上式中所有的参数均为人工设定的超参数。

4、实验结果

最后简单看一下实验结果。首先是离线的训练结果,表中的收益均是相较于单任务学习模型的:

接下来是线上A/B实验的结果:

可以看到,无论是离线训练还是线上A/B,PLE均取得了最佳的效果。

接下来,论文比较了在任务之间相关系数不同的情况下,Hard Parameter Sharing、MMoE和PLE的结果:

可以看到,无论任务之间的相关程度如何,PLE均取得了最优的效果。

最后,论文对比了MMoE和PLE不同Expert的输出均值,来比较不同模型的Expert利用率(expert utilization)。为方便比较,将MMoE的Expert设置为3个,而PLE&CGC中,每个任务独有的Expert为1个,共享的为1个。这样不同模型都是有三个Expert。结果如下:

可以看到,无论是MMoE还是ML-MMoE,不同任务在三个Expert上的权重都是接近的,这其实更接近于一种Hard Parameter Sharing的方式,但对于CGC&PLE来说,不同任务在共享Expert上的权重是有较大差异的,其针对不同的任务,能够有效利用共享Expert和独有Expert的信息,这也解释了为什么其能够达到比MMoE更好的训练结果。

参考文献

1、https://zhuanlan.zhihu.com/p/52566508
2、《Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations》
3、https://www.jianshu.com/p/ab7216e95fa9

好了,本文的介绍就到这里了,可以学习的地方还是比较多的,不仅能够对不同的MTL结构进行一个简单的梳理,同时学习到最新的MTL学习框架,感兴趣的同学一定要阅读下原文,吸收其精华!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267