一、PLE [2020]

《Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations》

  1. 多任务学习(multi-task learning: MTL )已成功应用于众多推荐场景。然而,在实际推荐系统中,由于任务间存在复杂的且相互竞争的关联关系(correlation),多任务学习模型常因负向迁移问题(negative transfer)导致性能下降。此外,通过对现有SOTA 的多任务学习模型的大量实验,我们发现了一种有趣的“跷跷板现象” (seesaw phenomenon)——提升某一任务的性能往往会以损害其他任务的性能为代价。

    为解决这些问题,我们提出了一种具有新颖的 sharing structure designProgressive Layered Extraction: PLE 模型。该模型显式地分离了 shared componentstask-specific components ,并采用渐进式的路由(progressive routing)机制,从而渐进式地提取和分离 deeper semantic knowledge ,在 general setup 下提高了任务之间的 joint representation learninginformation routing 的效率。

    我们将 PLE 同时应用于关联关系复杂的任务和关联关系正常的任务中,涵盖双任务场景到多任务场景,实验基于 Tencent 视频推荐的真实数据集(含 1 billion 样本)。结果表明,在不同 task correlationstask-group size 下,PLE 的性能显著优于 SOTA 的多任务学习模型。

    此外,在 Tencent 大型内容推荐平台上的在线评估显示,与现有 SOTA 多任务学习模型相比,PLE 使观看次数提升 2.23%,观看时长提升 1.84% 。这表明改进效果显著,验证了其有效性。

    最后,在公开的 benchmark 数据集上的大量离线实验表明:除推荐场景外,PLE 还可应用于多种场景以消除跷跷板现象。目前,PLE 已成功部署到 Tencent 在线视频推荐系统中。

  2. 个性化推荐在 online applications 中发挥着至关重要的作用。推荐系统(recommender systems: RS)需要整合各种 user feedbacks 来建模用户兴趣(user interests),以最大化 user engagement and satisfaction。然而,由于问题的高维特性,用户满意度(user satisfaction )通常难以通过 a learning algorithm 来直接建模。同时,user satisfaction and engagement 受多个主要因子的影响(这些因子可以被直接学习),例如 clicking, finishing, sharing, favoriting, and commenting 的可能性等等。因此,将多任务学习(Multi-Task Learning: MTL)应用于推荐系统,以同时建模 user satisfaction or engagement 的多个方面,已成为一种日益普遍的趋势。事实上,它已成为主流行业 applications 中的主流方法。

    多任务学习在单个模型中同时学习多个任务,并通过任务间的信息共享(information sharing)来提高学习效率(《Multitask learning》)。然而,实际推荐系统中的任务往往关联松散(loosely correlated),甚至相互冲突,这可能导致性能下降,即所谓的负向迁移(negative transfer)(《Transfer learning》)。通过在真实大规模视频推荐系统和公开基准数据集上的大量实验,我们发现:当 task correlation 是复杂的且有时是 sample dependent 的时候,现有多任务学习模型往往会以牺牲其他任务的性能为代价来提升某些任务的性能。即,与对应的单任务模型相比,多个任务无法同时得到改善。本文将这种现象称为“跷跷板现象”(seesaw phenomenon)。

    以往的研究更多地致力于解决负向迁移问题,却忽略了跷跷板现象。

    • 例如,交叉缝合网络(cross-stitch network)(《Cross-stitch networks for multi-task learning》)和水闸网络(sluice network)(《Sluice networks: Learning what to share between loosely related tasks》)提出通过学习静态的线性组合(static linear combinations)来融合不同任务的 representations ,但无法捕获样本依赖性(sample dependence)。

    • MMOE《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》)基于 input 来应用 gating networks 从而组合 bottom experts 以处理任务差异(task differences),但忽略了 experts 之间的差异(differentiation)和交互(interaction),在我们的工业实践中被证明存在跷跷板现象。

    因此,设计一种更强大的、更高效的模型来处理复杂的关联关系(correlations)并消除棘手的跷跷板现象至关重要。

    为实现这一目标,我们提出了一种新型的多任务学习模型,称为 Progressive Layered Extraction: PLE。该模型在 design of shared network 中更好地利用先验知识(prior knowledge)来捕获复杂的任务关联(task correlations)。

    • MMOE 中粗略的 shared parameters 不同,PLE 显式地分离 shared expertstask-specific experts,以减轻 common knowledgetask-specific knowledge 之间有害的参数干扰(parameter interference)。

    • 此外,PLE 引入 multi-levelexperts and gating networks,并应用渐进式分离路由(progressive separation routing),从 lower-layer experts 中提取 deeper knowledge ,并在 higher levels 渐进式地分离 task-specific parameters

    为评估 PLE 的性能,我们在真实的工业推荐数据集和主要的公开数据集(包括 census-incomesynthetic data、以及 Ali-CCP 数据集)上进行了大量实验。实验结果表明,PLE 在所有数据集上均优于现有 SOTA 的多任务学习模型:不仅在具有复杂关联关系(omplex correlations )的 task groups 上,而且在不同场景中具有正常关联关系(normal correlations )的 task groups 上都取得了一致的改进。此外,在 Tencent 大规模视频推荐系统上的在线指标显著提升,证明了 PLE 在实际推荐 applications 中的优势。

    本文的主要贡献总结如下:

    • 通过在 Tencent 大规模视频推荐系统和公开基准数据集上的大量实验,观察到一种有趣的跷跷板现象:由于复杂的 inherent correlations ,现有 SOTA 的多任务学习模型往往以牺牲其他任务的性能为代价来提升某些任务的性能,且并未优于对应的单任务模型。

    • 提出了一种具有新颖的 shared learning structurePLE 模型,从 joint representation learninginformation routing 的角度,提高 shared learning 的效率,进而解决跷跷板现象和负向迁移问题。除 recommendation applications 外,PLE 还可灵活应用于多种场景。

    • 在工业数据集和公开基准数据集上进行了大量离线实验,以评估 PLE 的有效性。在 Tencent 某大型内容推荐平台上的 online A/B test 结果也表明,在实际应用中,PLE 相比现有 SOTA 多任务学习模型有显著改进,观看次数提升 2.23% ,观看时长提升 1.84%,产生了显著的商业收益。目前,PLE 已成功部署到该推荐系统中,并有望应用于许多其他推荐场景。

1.1 相关工作

  1. 高效的多任务学习模型、以及多任务学习模型在推荐系统中的应用,这是与本文相关的两个研究领域。在本节中,我们简要讨论这些领域的相关工作。

1.1.1 Multi-Task Learning Models

  1. Figure 1a 所示,硬参数共享(Hard parameter sharing )(《Multitask learning》)是最基本的且常用的多任务学习结构,但由于任务间直接共享参数,可能会因任务冲突而遭受负向迁移(negative transfer)。

    为解决任务冲突,交叉缝合网络(cross-stitch network)(《Cross-stitch networks for multi-task learning》)(如 Figure 1f 所示)和水闸网络(sluice network)(《Sluice networks: Learning what to share between loosely related tasks》)(如 Figure 1g 所示)均提出通过学习 weights of linear combinations 来选择性地融合不同任务的 representations 。然而,在这些模型中,所有样本都使用相同的 static weights 来组合 representations ,并未解决跷跷板现象。本文提出的 Progressive Layered Extraction: PLE 模型应用带有门结构(gate structures )的渐进式路由机制(progressive routing mechanism),基于 input 来融合知识,实现了对不同 inputs 的自适应组合(adaptive combinations )。

  2. 已有一些研究将门结构和注意力网络(attention network)应用于信息融合。

    • 混合专家模型(MOE)(《Adaptive mixtures of local experts》)首次提出在底层共享一些 experts ,并通过一个门控网络(gating network)来组合 experts

    • MMOE (如 Figure 1 所示)(《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》)扩展了 MOE,在多任务学习中为每个任务利用不同的 gates 来获得不同的 fusing weights

    • 类似地,多关系注意力网络(MRAN)(《Multiple Relational Attention Network for Multi-task Learning》)应用 multi-head self-attention 在不同 feature sets 上学习不同的 representation subspaces

    MOEMMOEMRAN 中, expertattention module 在所有任务间共享,没有 task-specific 的概念。相比之下,我们提出的 Customized Gate Control: CGCPLE 模型显式地分离 task-common 参数和 task-specific 参数,以避免因复杂的 task correlations 导致的参数冲突(parameter conflicts)。尽管 MMOE 在理论上有可能收敛到我们的网络设计(network design),但网络设计中的先验知识(prior knowledge)至关重要,而 MMOE 在实践中很难找到收敛路径(convergence path)。

    • 《End-to-end multi-task learning with attention》应用 task-specific attention networks 选择性地融合 shared features,但不同任务在 attention network 中融合之前仍然共享相同的 representation

    以往的工作均未显式地解决 representation learningrouting 的联合优化(joint optimization)问题,尤其是它们以不可分离的联合方式(inseparable joint fashion);而本文首次尝试在 joint learning and routing 的通用框架上提出一种新型的渐进式分离方式(progressive separation fashion)。

  3. 也有一些工作利用自动机器学习(AutoML)方法寻找良好的网络结构。

    • 子网络路由(SNR)框架(《SNR: Sub-Network Routing for Flexible Parameter Sharing in Multi-task Learning》)通过二元随机变量(binary random variables)控制子网络之间的连接,并应用神经架构搜索(NAS)(《Neural architecture search with reinforcement learning》)寻找最优结构。

    • 类似地,Gumbel-matrix routing framework《Gumbel-Matrix Routing for Flexible Multi-task Learning》)利用 Gumbel-Softmax trick ,将多任务学习模型的 routing 建模为二元矩阵。

    • 《Routing networks: Adaptive selection of non-linear functions for multi-task learning》routing 过程建模为马尔可夫决策过程(MDP),应用多智能体强化学习(MARL)(《Multi-agent reinforcement learning: a critical survey》)训练 routing network

    这些工作中的网络结构设计基于某些简化假设,不够通用。

    • 《Routing networks: Adaptive selection of non-linear functions for multi-task learning》 中的 routing network 在每个 depth 为每个任务选择不超过一个功能块(function block),这降低了模型的表达能力。

    • Gumbel-matrix routing networkrepresentation learning 施加了约束,即每个任务的 inputs 需要在每一层合并为一个 representation

    • 此外,这些框架中的 fusing weights 无法针对不同 inputs 进行调整,且昂贵的搜索成本是这些方法寻找最优结构的另一个挑战。

1.1.2 Multi-Task Learning in Recommender Systems

  1. 为了更好地利用各种 user behaviors,多任务学习已被广泛应用于推荐系统,并取得了显著的改进。一些研究将协同过滤(collaborative filtering: CF)和矩阵分解(matrix factorization: MF )等传统推荐算法与多任务学习相结合。

    • 《Why I like it: multi-task learning for recommendation and explanation》《Explainable recommendation via multi-task learning in opinionated text data》recommendation 任务和 explanation 任务所学到的 latent representations 施加正则化,以联合优化它们。

    • 《Online multi-task collaborative filtering for on-the-fly recommender systems》将协同过滤与多任务学习相结合,更高效地学习 user-item similarity

    与本文中的 PLE 相比,这些基于分解的模型的表达能力较低,无法充分利用任务间的共性(commonalities)。

  2. 作为最基本的多任务学习结构,硬参数共享(hard parameter sharing)已被应用于许多基于深度神经网络(DNN)的推荐系统中。

    • ESMM《Entire space multi-task model: An effective approach for estimating post-click conversion rate》)引入了点击率(Click-Through Rate: CTR)和 CTCVR 两个辅助任务,并在 CTR 和转化率(Conversion Rate: CVR)之间共享 embedding parameters ,以提高 CVR prediction 的性能。

    • 《Rank and rate: multi-task learning for recommender systems》 提出了一个多任务框架,同时学习 ranking 任务和 rating 任务的参数。

    • 《Ask the gru: Multi-task learning for deep text recommendations》 中的文本推荐任务通过在底层共享 representations 得到改进。

    然而,在任务关联(task correlations)松散或复杂的时候,hard parameter sharing 通常会遭受负向迁移和跷跷板现象。相比之下,我们提出的模型引入了一种新型的共享机制,以实现更通用的、更高效的信息共享。

  3. hard parameter sharing 外,已有一些推荐系统应用了具有更高效 shared learning 机制的多任务学习模型。

    • 为了更好地利用任务间的关联关系,《Multi-pointer co-attention networks for recommendation》 利用 hierarchical multi-pointer co-attention 来提高 recommendation 任务和 explanation 任务的性能。然而,模型中每个任务的 tower networks 共享相同的 representation ,可能仍然会遭受任务冲突(task conflicts )。

    • YouTube 视频推荐系统(《Recommending what video to watch next: a multitask ranking system》)应用 MMOE《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》),通过为每个任务采用不同的 gating networks 来组合 shared experts ,能够更好地捕获 task differences 并高效地优化多个 objectives

      MMOE 平等对待所有 experts 而不加以区分不同,本文中的 PLE 显式地分离 task-common expertstask-specific experts ,并采用新型渐进式的 separation routing ,在真实世界的视频推荐系统中实现了相比 MMOE 的显著改进。

1.2 推荐系统多任务学习中的跷跷板现象

  1. 负向迁移(negative transfer)是多任务学习中常见的现象,尤其是在关联松散的任务中(《Transfer learning》)。对于复杂的任务关联(task correlation),特别是 sample dependent 的关联模式,我们还观察到跷跷板现象:当前的多任务学习模型难以提高 shared learning 的效率,并难以在所有任务上显著优于对应的单任务模型。在本节中,我们基于 Tencent 的大规模视频推荐系统,详细介绍和研究跷跷板现象(seesaw phenomenon )。

1.2.1 视频推荐的多任务学习 Ranking 系统

  1. 在本节中,我们简要介绍服务于 Tencent 新闻的多任务学习 ranking 系统,该系统是全球最大的内容平台之一,基于多样化的 user feedbacks 向用户推荐新闻和视频。如 Figure 2 所示,多任务学习 ranking 系统中有多个 objectives ,用于建模不同的 user behaviors ,如点击(click )、分享(share )和评论(comment )。在离线训练过程中,我们基于从 user logs 中提取的 user actions 来训练多任务学习 ranking 模型。每次 online request 后,ranking 模型输出每个任务的 predictions ,然后基于加权乘法的 ranking 模块通过下面所示的组合函数将这些 predicted scores 组合为 final score,并最终向用户推荐排名靠前的视频:

    score=pVTRwVTR×pVCRwVCR×pSHRwSHR××pCMRwCMR×f(videoLen)

    其中:

    • wVTR,wVCR,wSHR,,wCMR 决定了每个 predicted score 的相对重要性。它们是通过在线实验搜索来优化的超参数,以最大化在线指标。

    • f(videoLen) 是视频时长(video duration)的非线性转换函数,如 sigmoid() 函数或 log() 函数。

  2. 在所有任务中,观看完成率(View Completion Ratio: VCR)和有效观看率(View-Through Rate: VTR)是两个重要的目标,分别建模观看次数(view-count )和观看时长(watch time)的关键在线指标。具体来说:

    • VCR prediction 是一个回归任务,使用 MSE loss 进行训练,用于预测每次观看的完成率(completion ratio)。

      VCR 衡量用户观看视频的相对强度。例如,是 100% 观看、还是 50% 观看?

      给定不同总时长的两个视频,假设分别为 100 分钟和 10 分钟,50%VCR 代表了不同的观看时间。

    • VTR prediction 是一个二分类任务,使用 cross-entropy loss 进行训练,用于预测有效观看(valid view)的概率。有效观看定义为:观看时长超过某个阈值的播放行为。

      VTR 衡量用户观看视频的绝对强度。例如,是否观看超过 10 分钟。

      给定不同总时长的两个视频,假设分别为 100 分钟和 10 分钟,那么观看超过 1.0VTR 代表用户把第二个视频看完了。

    VCRVTR 之间的关联模式复杂。

    • 首先,VTRlabel 是播放行为(play action )和 VCR 的耦合因素,因为只有观看时长超过阈值的播放行为才会被视为有效观看。

      给定视频 v 的总时长 tvVTR 阈值 rVTR,那么:

      labelVTR={1, if labelVCR×tvrVTR0,else

      即:视频总时长乘以观看完成率,载于 VTR 阈值进行比较。

    • 其次,播放行为的分布更为复杂:WiFi 环境下自动播放场景的样本具有更高的平均播放概率(probability of play ),而其他无自动播放的显式点击场景的样本具有更低的播放概率。

      这意味着不同 context 下,样本具有不同的 label 分布。

    由于这种复杂且强烈依赖于样本的关联模式,在联合建模 VCRVTR 时观察到了跷跷板现象。

1.2.2 多任务学习中的跷跷板现象

  1. 为了更好地理解跷跷板现象,我们在我们的 ranking 系统中,针对 VCRVTR 这一具有复杂关联的任务组(task group ),使用单任务模型和 SOTA 多任务学习模型进行了实验分析。除了 hard parameter sharingcross-stitchsluice networkMMOE 外,我们还评估了两种创新提出的结构:非对称共享(asymmetric sharing )和定制共享(customized sharing):

    • Asymmetric Sharing:是一种新型的共享机制,用于捕获任务间的非对称关系。如 Figure 1b 所示,bottom layers 在任务间非对称地共享,共享哪个任务的 representation 取决于任务间的关系。可以应用拼接(concatenation)、求和池化(sum-pooling )和平均池化(average-pooling)等常见融合操作来组合不同任务的 bottom layers 的输出。

    • Customized Sharing:如 Figure 1c 所示,customized sharing 显式地分离 shared parameterstask-specific parameters,以避免固有的 task conflictsnegative transfer。与单任务模型相比,customized sharing 添加了一个 shared bottom layer 来提取 sharing information ,并将 shared bottom layertask-specific layerconcatenation 结果馈入到对应任务的 tower layer 中。

      CGC 相比,Customized Sharing 缺少了门控网络。

  2. Figure 3 展示了实验结果,其中越靠近右上方向的气泡表示性能越好( AUC 越高,MSE 越低)。值得注意的是,在我们的系统中,AUCMSE 改善 0.1% 会对在线指标产生显著改进。可以看出:

    • hard parameter sharingcross-stitch network 遭受了显著的负向迁移,在 VTR 上表现最差。

    • 通过创新的共享机制捕获非对称关系,asymmetric sharingVTR 上取得了显著改进,但在 VCR 上表现出显著下降。sluice networkasymmetric sharing 类似。

    • 由于显式地分离了 shared layerstask-specific layerscustomized sharingVCR 上优于单任务模型,但在 VTR 上仍然略有下降。

    • MMOE 在两个任务上都优于单任务模型,但 VCR 的改进仅为 +0.0001 ,处于临界水平。

    尽管这些模型在这两个具有挑战性的任务上表现出不同的学习效率,但我们清楚地观察到跷跷板现象:一个任务的改进往往导致另一个任务的性能下降,因为没有一个 baseline 多任务学习模型完全位于第二象限。在公开 benchmark 数据集上使用现有 SOTA 模型进行的实验也表现出明显的跷跷板现象。详细信息将在实验章节中提供。

    如前所述,VCRVTR 之间的关联模式复杂且依赖于样本。具体来说,VCRVTR 之间存在一些偏序关系(partially ordered relations ),不同样本表现出不同的关联关系。因此,cross-stitch networksluice network 为所有样本使用相同的 static weights 来组合 shared representations ,无法捕获样本依赖性(sample dependence ),从而遭受跷跷板现象。

    MMOE 通过 gates 基于 input 获得 fusing weights ,在一定程度上处理了任务差异和样本差异,优于其他 baseline 多任务学习模型。然而,MMOE 中所有任务共享 experts 而不加以区分,无法捕获复杂的任务关联,可能会给某些任务带来有害噪声。此外,MMOE 忽略了不同 experts 之间的交互,进一步限制了 joint optimization 的性能。

    除了 VCRVTR 外,工业推荐 applications 中还有许多关联复杂的任务,因为人类行为通常微妙且复杂,例如在线广告和电子商务平台中的 CTR predictionCVR prediction 。因此,一个考虑 experts 之间区分度(differentiation )和交互(interactions )的强大网络对于消除棘手的跷跷板现象至关重要,这个跷跷板现象由复杂的 task correlation 所导致。

  3. 在本文中,我们提出了一种 Progressive Layered Extraction: PLE 模型来解决跷跷板现象和负向迁移问题。PLE 的核心思想如下:

    • 首先,显式地分离 shared expertstask-specific experts ,以避免有害的参数干扰(parameter interference)。

    • 其次,引入 multi-levelexperts and gating networks ,以融合更抽象的 representations

    • 最后,采用一种新型的渐进式 separation routing 来建模 experts 之间的交互,并在关联复杂的任务间实现更高效的知识迁移(knowledge transferring )。

      “渐进式“ 的含义:PLE 中不同任务的参数不像 CGC 那样在 early layer 完全地分离,而是在 upper layers 渐进式地地分离。

    Figure 3 所示,PLE 在两个任务上都取得了相比 MMOE 的显著改进。结构设计和实验的详细信息将分别在后续章节给出。

1.3 PLE

  1. 为解决跷跷板现象和负向迁移问题,本节提出了一种具有新型 sharing structure designProgressive Layered Extraction: PLE 模型。

    • 首先,我们提出了一种显式地分离 shared expertstask-specific expertsCustomized Gate Control: CGC 模型。

    • 其次,将 CGC 扩展为具有 multi-level gating networks and progressive separation routing 的通用 PLE 模型,以实现更高效的 information sharingjoint learning

    • 最后,优化 loss function ,以更好地处理多任务学习模型中 joint training 的实际挑战。

1.3.1 CGC

  1. customized sharing 的启发(通过显式地分离 shared layerstask-specific layers ,实现了与单任务模型相当的性能),我们首先引入 Customized Gate Control: CGC 模型。如 Figure 4 所示:

    • bottom layer 有一些 expert 模块,top layer 有一些 task-specific tower networks

    • 每个 expert 模块由多个称为 "experts" 的子网络组成,每个模块中的 experts 数量是需要调优的超参数。

    • 类似地,a tower network 也是一个 multi-layer network ,其 widthdepth 作为超参数。

    具体来说,CGC 中的 shared experts 负责学习 shared patterns,而 patterns for specific taskstask-specific experts 提取。每个 tower network 同时从 shared experts 和其自身的 task-specific experts 中吸收知识,这意味着 shared experts 的参数受所有任务影响,而 task-specific experts 的参数仅受对应特定任务的影响。

  2. CGC 中,shared expertstask-specific experts 通过一个门控网络(gating network)进行组合,以实现选择性的融合(selective fusion)。如 Figure 4 所示,门控网络的结构基于单层前馈网络,使用 SoftMax 作为激活函数,input 作为选择器(selector)来计算 selected vectors (即 outputs of experts )的加权和。更精确地说,任务 k 的门控网络输出公式如下:

    gk(x)=wk(x)Sk(x)Rd

    其中:

    • xRdinput representationdinput representation 维度。

    • wk() 为一个 weighting function ,它通过线性变换和 SoftMax layer 计算任务 kweight vector

      wk(x)=Softmax(Wgkx)R(mk+ms)

      其中:WgkR(mk+ms)×d 为待学习的权重矩阵;msshared experts 数量;mk 为任务 ktask-specific experts 数量。

    • Sk(x)R(mk+ms)×d 是一个 selected matrix ,由所有 selected vectors (包括 shared experts 和任务 ktask-specific experts )组成:

      Sk(x)=[E(k,1),E(k,2),,E(k,mk),E(s,1),E(s,2),,E(s,ms)]

      其中:

      • E(s,i)Rd 为第 ishared expertsoutput vector1ims

      • E(k,i)Rd 为任务 k 的第 itask-specific expertoutput vector1imk

    最后,任务 k 的预测结果为:

    yk(x)=tk(gk(x))

    其中:tk() 表示任务 ktower network

    注意,可能有多个任务,如任务 k1 和任务 k2 。不同任务之间仅仅共享 shared experts,其它信息是独立的。

  3. MMOE 相比,CGC 移除了任务的 tower networktask-specific experts of other tasks 之间的连接,使不同类型的 experts 能够高效地专注于学习不同的知识,而不受干扰。结合动态地融合 representations 的优势(通过基于 inputgating networks ),CGC 实现了任务间更灵活的平衡,并更好地处理了任务冲突(task conflicts )和 sample-dependent correlations

1.3.2 PLE

  1. CGC 显式地分离了 task-specific componentsshared components 。然而,在深度多任务学习中,learning 需要渐进式地塑造(shape)越来越深的 semantic representations,而通常并不清楚中间表征(intermediate representations)是否应被视为 shared 的或 task-specific 定的。

    为解决这一问题,我们通过 Progressive Layered Extraction: PLECGC 进行了泛化。如 Figure 5 所示:

    • PLE 中有 multi-level extraction networks ,用于提取 higher-level shared information

    • 除了 task-specific expertsgates 之外,extraction network 还为 shared experts 采用一个门控网络(gating network),以组合该层所有 experts (包括 shared expertstask-specific experts)的知识。因此,PLE 中不同任务的参数不像 CGC 那样在 early layer 完全地分离,而是在 upper layers 渐进式地地分离。

    • higher-level extraction network 中的门控网络将 lower-level extraction networkfusion results of gates (而不是 raw input )作为 selector,因为这样做或许能为从 higher-level experts 那里提取抽象知识(abstract knowledge)提供更好的信息。

    注意:对于第 jextraction network

    • 任务 A 的门控网络的输入:来自于第 j1extraction network 的任务 A 的门控网络的输出。

    • 任务 Aexperts 的输入:读者猜测是跟门控网络的输入相同(作者在论文中没有说明)。

    注意:读者在实现 PLE 的过程中发现有一个变体表现良好:

    • Experts Ainput 来自于上一层 Experts A 的输出。

    • Experts Sharedinput 来自于上一层所有 task 输出的拼接,并且 Experts Shared 不需要门控输出。

    这意味着:Experts Shared 在每一层中抽取 shared information,而不是跨层传递 shared information

  2. PLE 中的加权函数(weighting function)、selected matrixgating network 的计算与 CGC 相同。具体来说,PLE 的第 jextraction network 中任务 kgating network 公式如下:

    gk,j(x)=wk,j(gk,j1(x))Sk,j(x)Rdgk,0(x)=x

    其中:

    • wk,j() 为任务 kweighting function,它的输入为 gk,j1(x)

      注意门控网络的输入是给定任务的上一个 levelgating network 输出。

    • Sk,j() 为任务 k 在第 jextraction network 中的 selected matrix 。即,在第 jextraction network 中,shared expertsoutput vectors 、以及任务 ktask-specific expertsoutput vectors 组成。

      Sk,j(x)=[E(k,j,1),E(k,j,2),,E(k,j,mk),E(s,j,1),E(s,j,2),,E(s,j,ms)]

      注意:这里假设每层都有 mk 个任务 ktask-specific experts 、都有 msshared-experts 。也可以设定 layer-specific 的数量。

      注意:这里没有给出任务 kexpert 网络的输入。读者猜测:跟门控网络的输入相同,即 gk,j1(x)

    • 值得注意的是,PLEshared moduleselected matrix Ss,j()task-specific 模块略有不同,因为它由该层的所有shared-expertstask-specific experts 组成:

      Ss,j(x)=[E(1,j,1),,E(1,j,mk),,E(K,j,1),,E(K,j,mK),E(s,j,1),,E(s,j,ms)]

      其中: K 为所有任务的数量;mk 为任务 ktask-specific experts 数量。

    计算完所有 gating networksexperts 后,最终可以得到 PLE 中任务 k 的预测结果:

    yk(x)=tk(gk,N(x))

    其中:Nextraction network 的数量;tk() 表示任务 ktower network

  3. 通过 multi-levelexperts and gating networksPLE 为每个任务提取和组合 deeper semantic representations ,以提高泛化能力。如 Figure 1 所示:

    • MMOE 的路由策略(routing strategy)是全连接的。

    • CGC 的路由策略是早期分离(early separation )。

    不同的是,PLE 采用渐进式分离路由(progressive separation routing ),从所有 lower-layer experts 吸收信息,提取 higher-level shared knowl-edge ,并渐进式地分离 task-specific parameters 。这种渐进式分离(progressive separation)过程类似于化学中从化合物中提取所需产物(desired product )的过程。

    PLEknowledge extraction and transformation 过程中,lower-level representationshigher-level shared experts 中被联合地 extracted/aggregated and routed ,获得 shared knowledge 并渐进地分配到 specific tower layers 层,从而实现更高效的、更灵活的 joint representation learning and sharing 。尽管 MMOE 的全连接 routing 似乎是 CGCPLE 的通用设计,但实验章节的实际研究表明:尽管存在可能性,MMOE 仍无法收敛到 CGCPLE 的结构。

1.3.3 Joint Loss Optimization for MTL

  1. 设计了高效的网络结构后,我们现在专注于以端到端的方式联合训练 task-specific layersshared layers 。在 multi-task learning 中, joint loss 的常见公式是每个单独任务的损失的加权和:

    L(θ1,,θK,θs)=k=1KωkLk(θk,θs)

    其中:

    • θs 表示 shared parameters

    • Lkωkθk 分别是任务 k 的损失函数、loss 权重、以及 task-specific parameters

    • K 是任务数量。

    然而,在实际应用中,多任务学习模型的联合优化(joint optimization)面临一些挑战。在本文中,我们优化了 joint loss function,以解决真实世界推荐系统中遇到的两个关键问题。

    • 第一个问题是由于用户行为的序列性(sequential )导致的异构样本空间(heterogeneous sample space)。例如,用户只有在点击某个 item 之后才能对其进行分享或评论,这导致了不同任务的样本空间不同,如 Figure 6 所示。为了联合训练这些任务,我们将所有任务的样本空间的并集作为整个训练集,并在计算每个单独任务的 loss 时忽略其自身样本空间之外的样本:

      Lk(θk,θs)=1iδkiiδki×lossk(y^ki(θk,θs),yki)

      其中:

      • lossk(,) 为是样本 i 在任务 k 上的 loss function,基于预测值 y^ki 和真实值 yki 计算得到的。

      • δki{0,1}表示样本 i 是否属于任务 k 的样本空间。

      另一种方法是:为每个任务维护独立的 dataloader,每个 batch 只包含该任务的样本。在训练时,循环或交替地从不同任务的 dataloader 中获取 batch

      注意:论文没有做消融研究来这个方法的效果。

    • 第二个问题是,多任务学习模型的性能对训练过程中 loss weight 的选择很敏感(《Multi-task learning using uncertainty to weigh losses for scene geometry and semantics》),因为它决定了每个任务在 joint loss 中的相对重要性。在实践中,观察到每个任务在不同 training phases 可能具有不同的重要性。因此,我们将每个任务的 loss weight 视为动态权重,而不是静态权重。

      • 首先,为任务 k 设置初始 loss weight ω(k,0)

      • 然后在每个 step 后基于 updating ratio γk 来更新任务 kloss weight

        ωk(t)=ωk,0×γkt

        其中:t 表示 training epochωk,0γk 都是针对任务 k 的超参数。

      注意:任务 k 本来只有一个超参数 ω(k,0),现在有两个超参数,调优难度更大。此外,论文没有做消融研究来探索这个动态权重的效果。

      采用动态权重的原因:早期训练阶段,某些任务(如 CTR )收敛快,应降低权重避免主导;后期训练阶段,困难任务(如VCR )需要更多关注,应增加权重。

1.4 实验

  1. 在本节中,我们在 Tencent 的大规模推荐系统和公开 benchmark 数据集上进行了大量的离线和在线实验,以评估所提出模型的有效性。我们还分析了所有 gate-based 的多任务学习模型中的专家利用率(expert utilization),以更好地理解门控网络(gating networks)的工作机制,并进一步验证 CGCPLE 的结构价值(structure value)。

    实验部分缺少消融分析。

1.4.1 Evaluation on the Video Recommender System in Tencent

  1. 在本节中,我们在 Tencent 视频推荐系统中,针对具有复杂和正常关联关系(complex and normal correlations)的 task groups 以及多任务场景进行了离线和在线实验,以评估所提出模型的性能。

  2. 数据集:我们通过对服务于 Tencent 新闻的视频推荐系统连续 8 天的用户日志进行采样,收集了一个工业数据集。该数据集包含46.926 million 用户、2.682 million 视频和 0.995 billion 条样本。如前所述,VCRCTRVTR、分享率(Share Rate: SHR )和评论率(Comment Rate: CMR)是该数据集中 modeling other preferences 的任务。

  3. baselines:在实验中,我们将 CGCPLE 与单任务模型(single-task model )、非对称共享(asymmetric sharing)、定制共享(customized sharing)、以及 SOTA 多任务学习模型(包括 cross-stitch networksluice networkMMOE)进行了比较。

    由于 PLE 中共享 multi-level experts ,我们通过添加 multi-level expertsMMOE 扩展为 multi-layer MMOE: ML-MMOE )(如 Figure 1h 所示),以进行公平比较。在 ML-MMOE 中,higher-level experts 通过 gating networks 组合来自 lower-level expertsrepresentations,并且所有 gating networks 共享相同的 selector

    selector 指的是门控网络的输入:

    • 对于第一层,它就是原始的 inputs

    • 对于第 j 层,第 k 个门控网络的 selector 作者并未说明。个人猜测就是所有门控网络第 j1 层所有门控网络输出的拼接。

  4. 实验设置:

    • 在实验中,VCR prediction 是一个回归任务,使用 MSE loss 进行训练和评估;其他 modeling other actions 的任务均为二分类任务,使用 cross-entropy loss 进行训练,并使用 AUC 进行评估。

    • 7 天的样本用于训练,其余样本作为测试集。

    • 在多任务学习模型和单任务模型中,我们为每个任务采用了一个 three-layer MLP network (即,task tower),激活函数为 ReLUhidden layer size[256, 128, 64]

    • 对于多任务学习模型,我们将 expert 实现为 a single-layer network,并调优以下 model-specific 的超参数:

      • shared layers 的数量。

      • hard parameter sharing and cross-stitch network 中的 cross-stitch units

      • 所有 gate-based models 中的 number of experts

    • 为了公平比较,我们将所有 multi-level 多任务学习模型实现为 two-level models ,以保持相同的网络深度。

  5. 评估指标:除了 AUCMSE 等常见评估指标外,我们定义了一个 MTL gain 指标,以定量评估 multi-task learning 相比单任务模型在特定任务上的收益。如下面的公式所示,对于给定的一个 task group 和一个多任务学习模型 q,模型 q 在任务 A 上的MTL gain 定义为:在相同的网络结构和训练样本下,多任务学习模型 q 相比单任务模型在任务 A 上的性能提升。

    MTL gain={MMTLMsingle,M is a positive metric MsingleMMTL,M is a negative metric 
  6. 在复杂关联(complex correlation )任务上的评估:为了更好地捕获主要的在线 engagement 指标(如观看次数、观看时长),我们首先在 VCR/VTR 这个 task-group 上进行了实验。Table 1 展示了实验结果,其中加粗字体标记了最佳分数,灰色标记了性能下降(negative MTL gain)。

    结果表明,CGCPLEVTR 上显著优于所有 baseline 模型。由于 VTRVCR 之间的复杂关联,我们可以通过锯齿状的灰色分布清楚地观察到跷跷板现象:一些模型提升了 VCR 但损害了 VTR ,而另一些模型提升了 VTR 但损害了 VCR 。具体来说:

    • MMOE 在两个任务上都优于单任务模型,但改进并不显著,而 ML-MMOE 提升了 VTR 但损害了 VCR

    • MMOEML-MMOE 相比,CGCVTR 上的提升更为显著,在 VCR 上也略有提升。

    • 最后,PLE 以相似的收敛速度收敛,并在上述模型中取得了显著改进,具有最佳的 VCR MSE 、以及最佳的 VTR AUCs 之一。

  7. 在正常关联任务(Normal Correlation)上的评估:尽管 CGCPLE 在关联非常复杂的任务上表现良好,我们进一步在具有正常关联模式的通用任务组 CTR/VCR 上验证了它们的通用性。由于 CTRVCR 旨在建模不同的用户行为,它们之间的关联相对简单。

    Table 2 所示,除 cross-stitch network 外,所有模型在两个任务上均表现出 positive MTL gain ,这表明 CTRVCR 之间的关联模式并不复杂,不存在跷跷板现象。在这种情况下,CGCPLE 仍然在两个任务上显著优于所有 SOTA 模型,具有出色的 MTL gain 。这验证了 CGCPLE 的收益具有通用性,能够提高 shared learning 的效率,并在各种任务关联(task correlation)情况下一致地提供增量的性能改进,不仅适用于难以协作的复杂关联任务,也适用于正常关联的任务。

  8. Online A/B Testing:我们在视频推荐系统中针对 task-group of VTR and VCR 进行了为期 4 周的精细 online A/B test。我们在基于 C++ 的深度学习框架中实现了所有多任务学习模型,将用户随机分配到多个 buckets 中,并将每个模型部署到其中一个 bucketfinal ranking score 通过前面章节中描述的 combination function of multiple predicted scores 来获得。

    Table 3 显示了多任务学习模型相比单任务模型在 total view count per usertotal watch time per user (系统的最终目标)这两个在线指标上的改进。结果表明:

    • CGCPLE 在所有在线指标上都比所有 baseline 模型有显著提升。

    • 此外,PLE 在所有在线指标上都显著优于 CGC,这表明多任务学习中 AUCMSE 的小幅改进会带来在线指标的显著提升。

    从那时起,PLE 已部署到该平台。

    • total view count per user :人均观看次数。在统计周期内,平均每个用户成功播放的视频数量。成功播放的定义为:播放时长超过给定阈值。这个指标对应于 VTR

    • total watch time per user :人均观看时长。在统计周期内,平均每个用户观看视频的总时长。

  9. Evaluation with Multiple Tasks:最后,我们在更具挑战性的多任务场景中探索了 CGCPLE 的可扩展性(scalability )。除了 VTR and VCR 外,我们引入了分享率(SHR)和评论率(CMR )来建模 user feedback 行为。将 CGCPLE 扩展到多任务场景很灵活,只需为每个任务添加一个 task-specific expert module 、一个 gating network 和一个 tower network

    Table 4 所示:

    • CGCPLE 在所有 task groups 的几乎所有任务上都比单任务模型有显著改进。这表明,对于具有两个以上任务的一般情况,CGCPLE 仍然表现出促进任务协作、防止负向迁移迁移、以及防止跷跷板现象的优势。

    • 在所有情况下,PLE 都显著优于 CGC。因此,PLE 在不同 sizetask groups 中,在提高 shared learning 效率方面表现出更强的优势。

1.4.2 Evaluation on Public Datasets

  1. 在本节中,我们在公开 benchmark 数据集上进行了实验,以进一步评估 PLE 在推荐之外场景的有效性。

  2. 数据集:

    • 合成数据集(Synthetic Data):合成数据集是根据 《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》 中的数据合成(data synthesizing)过程生成的,用于控制 task correlations。由于 《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》 中未提供数据合成的超参数,我们遵循标准正态分布来随机采样的 αiβi,并设置 c=1,m=10,d=512 以确保可重复性。我们为每种 correlation 生成了 1.4 million 个带有两个连续标签的样本(samples with two continuous labels)。

    • 人口普查收入数据集(Census-income Dataset):人口普查收入数据集(《UCI Machine Learning Repository》)包含 299,285 个样本和 40 个特征,提取自1994 年人口普查数据库。为了与 baseline 模型进行公平比较,我们考虑了与 《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》 相同的 task-group 。具体来说:

      • task 1 :旨在预测收入是否超过 50K

      • task 2 :旨在预测该人的婚姻状况是否为从未结婚(never married )。

    • Ali-CCP Dataset 数据集:该数据集是一个公开数据集,包含 84 million 个样本,提取自淘宝推荐系统。点击率(CTR)和转化率(Conversion Rate: CVR)是该数据集中建模点击行为和购买行为的两个任务。

  3. 实验设置:

    • census-income dataset 的设置与 《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》 相同。

    • 对于 synthetic dataAli-CCP dataset 数据集,在多任务学习模型和单任务模型中,我们为每个任务采用了一个 three-layer MLP network with RELU activationhidden layer size[256, 128, 64]

    超参数的调优与 Evaluation on the Video Recommender System in Tencent 章节中的实验类似。

  4. 实验结果:

    • synthetic data 数据集上的实验结果如 Figure 7 所示:

      • hard parameter sharingMMOE 有时会遭受跷跷板现象,表明在两个任务之间失去平衡。

      • 相反,PLE 在不同correlation 下对两个任务的表现始终最佳,相比 MMOEMTL gain 平均提高了87.2%

结合之前在工业数据集和 online A/B test 中的实验,PLE 在不同 task correlation 模式和不同 applications 中,在提高多任务学习效率和性能方面表现出稳定的通用优势(general benefit)。

1.4.3 Expert Utilization Analysis

  1. 为了揭示不同 gates 如何聚合专家,我们在工业数据集的 VTR/VCR task group 中研究了所有 gate-based models 的专家利用率(expert utilization)。为简单起见并进行公平比较,我们将每个 expert 视为 a single-layer network ,在 CGCPLE 的每个 expert module 中仅保留一个 expert ,而在 MMOEML-MMOE 的每一层中保留三个 experts

    Figure 8 显示了所有测试数据中每个 gate 所利用的 weight distribution of experts ,其中条形图的高度和垂直短线分别表示权重的均值和标准差。结果表明:

    • CGC 中,VTRVCR 以显著不同的权重来组合 experts ,而在 MMOE 中,不同 experts 的权重则非常相似。这表明 CGC 的精心设计结构(well-designed structure )有助于实现不同 experts 之间更好的区分。

    • 此外,在 MMOEML-MMOE 中,所有 experts 的权重都不为零。这进一步表明,尽管存在理论可能性,但在没有先验知识(prior knowledge)的情况下,MMOEML-MMOE 很难收敛到 CGCPLE 的结构。

      理论上,MMOE 的权重分布可以拟合到 CGCML-MMOE 的权重分布可以拟合到 PLE

    • CGC 相比,PLE 中的 shared expertsinput of tower networks 影响更大,尤其是对于 VTR 任务。

    • PLE 的性能优于CGC,这表明 shared higher-level deeper representations 是有价值的。换句话说,需要在任务间共享某些 deeper semantic representations ,因此渐进式分离路由(progressive separation routing )提供了更好的 joint routing and learning scheme

1.5 结论

  1. 在本文中,我们提出了一种新型的多任务学习模型,即 Progressive Layered Extraction: PLE 。该模型显式地分离 task-sharing parameterstask-specific parameters,并引入创新的渐进式路由方式(progressive routing manner),以避免负向迁移和跷跷板现象,实现更高效的 information sharing and joint representation learning

    在工业数据集和公开 benchmark 数据集上的离线和在线实验结果表明,PLE 相比 SOTA 多任务学习模型有显著且一致的改进。未来的工作将重点探索 hierarchical task-group correlations