专题解读 | 推荐系统中的多任务学习

admin 2023年9月29日14:56:10评论100 views字数 3697阅读12分19秒阅读模式
1 简介

当谈及推荐系统时,我们通常想到的是那些根据用户历史行为向他们推荐商品、音乐、文章或视频的智能算法。然而,推荐系统的世界不仅仅是单一任务,它是多元的,涵盖了多个任务和目标。在这篇文章中,我们将探讨推荐系统中的多任务学习,这是一种引人注目的技术,可以显著提升推荐系统的性能和个性化程度。多任务学习的核心思想是将不同但相关的任务组合在一起,通过共享知识和信息来提高模型的整体性能。在推荐系统中,这些任务可以包括点击率预测、商品推荐、用户情感分析等。通过将它们纳入一个统一的框架中,多任务学习可以实现以下目标:

  • 信息共享:多任务学习允许不同任务之间共享模型参数和特征表示。这意味着一个任务可以从其他任务中学到的知识,从而更好地理解用户和商品之间的关系。
  • 性能提升:通过同时考虑多个任务的目标和约束,多任务学习可以提高整体性能。例如,点击率预测和商品推荐可以相互促进,使得推荐更加准确和个性化。
  • 数据效率:对于某些任务,标记数据可能很昂贵或难以获取。多任务学习可以通过共享训练数据来提高数据的有效利用,从而减少了数据收集的成本。
  • 泛化能力:多任务学习有助于提高模型的泛化能力,使其能够更好地适应不同的用户和应用场景。

在这篇文章中,我们将深入探讨多任务学习在推荐系统中的应用,包括模型设计、数据准备、任务间关系建模等方面。多任务学习已经成为推荐系统领域的热门话题,我们相信它将为未来的个性化推荐带来更多创新和进步。让我们一起深入了解这个引人注目的领域吧!

2 多任务学习方法

多任务学习在推荐系统领域一直备受研究关注,相关的推荐模型不断涌现。在此,我们将按照图1所示的分类,对其中的四大类(分别是硬参数共享、软参数共享、专家参数共享和稀疏参数共享)进行深入分析和介绍。这些模型代表了多任务学习在推荐系统中的不同方法,通过研究它们,我们可以更清晰地了解多任务学习在推荐系统中的应用和优势。

专题解读 | 推荐系统中的多任务学习   图1:不同的多任务推荐模型

2.1 硬参数共享

硬参数共享是一种经典的多任务学习方法,近年来被广泛应用于工业大规模推荐系统中。硬参数共享的关键思想是所有任务共享底层参数,而顶层参数是针对特定任务独立训练的。硬参数共享已被证明是多个相关任务优化的有效方法。

专题解读 | 推荐系统中的多任务学习   图2:硬参数共享模型和Cross-Stitch模型


  给定个任务,模型由一个共享底层网络,即函数,以及个任务特定的塔形网络组成(如图2左所示),其中每个任务分别对应于。共享底层网络位于输入层之后,而塔形网络则建立在共享底层网络的输出之上。接下来,每个任务都有独立的输出,这些输出是由相应的任务特定塔生成的。对于任务,模型可以形式化的定义为:

然而,对于一些关联性较弱的任务而言,完全共享底层参数可能会导致这些任务之间的内在冲突,因此可能对这些任务的性能产生不利影响。这一问题限制了硬参数共享在实际应用中的性能表现。

2.2 软参数共享

软参数共享不要求每个任务共享所有的网络参数。相反,每个任务都通过一个具有独立网络参数的单独模型进行优化。此外,每个模型可以访问从其他模型中学到的信息。与硬参数共享相比,软参数共享不需要考虑任务之间的相关性。因此,当同时优化弱相关或不相关的任务时,它表现更出色。

Cross-Stitch网络就是一种软参数共享方法(如图2右所示)。该方法通过引入一个"Cross-Stitch"单元,在两个任务之间共享知识。Cross-Stitch单元从任务1和任务2中分离隐藏层输入,然后根据以下等式分别输出

其中,是一个可训练的参数,表示从任务到任务的交叉转移。接下来,分别传递到任务1和任务2中更高级别的层。

然而,软参数共享进行在线推理需要大量的时间,而使用多个单独模型存储更多的网络参数则需要大量的空间。因此,它在工业大规模多任务优化中是不现实的。

2.3 专家参数共享

有研究提出了一种专家混合(MoE)网络,该网络将多个专家与门控激活相结合(如图3左所示)。MMoE进一步提出对特定任务使用单独的门控激活(如图3右所示)。MMoE可以通过单一模型向多个专家学习,而不是针对每个任务使用单独的模型。

专题解读 | 推荐系统中的多任务学习   图3:One-gate MoE模型和Multi-gate MoE模型


原始的专家混合模型(如图3左所示)可以形式化的定义为:

其中,——的第个logit输出——表示专家的概率。在这里,个专家网络,而代表了一个门控网络,它集成了所有专家的结果。更具体地说,门控网络根据输入在个专家上产生一个分布,专家网络最后的输出是所有专家输出的加权和。

如图3右所示,MMOE为每个任务设置一个单独的门控网络,任务的输出可以形式化的定义为:

根据不同的输入数据,每个门控网络能够学习“选择”一个专家子集,在多任务学习环境下实现了灵活的参数共享。作为特例,如果仅选择得分最高的专家,那么每个门控网络实际上将输入空间分成了n个区域,每个区域对应一个专家。MMoE以一种复杂的方式建模了任务之间的关系,通过门控网络将多个任务的学习过程分离,但这些学习过程仍然会相互交织。当任务之间的相关性较低时,共享的专家将会受到惩罚,门控网络将会学习利用不同的专家来代替。与硬参数共享模型相比,MMoE只需要几个额外的门控网络,并且门控网络中的参数数量可以忽略不计。因此,整个模型仍然可以充分享受多任务学习中的知识转移优势。实验结果(图4)表明,借助精心设计的网络结构,MMOE在一定程度上解决了负迁移(非相关知识在任务间流动)的问题。

专题解读 | 推荐系统中的多任务学习

   图4:MMOE在大规模推荐系统上的实验结果

PLE进一步提出通过明确地分离任务共享和任务特定的专家网络来更好地处理任务之间的跷跷板现象(提高任务A的性能导致任务B的性能降低)。任务共享专家组和任务特定专家组构成一个CGC(如图5左所示)模块,PLE(如图5右所示)通过堆叠多层CGC来加深网络层数,以提取数据中的高阶特征。

专题解读 | 推荐系统中的多任务学习   图5:CGC和PLE模型


2.4 稀疏参数共享

前面介绍的模型通过精心设计的网络结构促进任务间相关知识的迁移,从而达到提高多任务预测能力的目的。而稀疏参数共享的重点是减少训练成本和提高推理速度,以便部署在大规模的推荐系统中。Sparse Sharing(如图6左所示)采取两阶段的训练过程。在第一阶段,稀疏共享利用IMP(迭代幅度剪枝)为每个任务单独提取子网(如图6右所示),并在第二阶段并行训练它们。

专题解读 | 推荐系统中的多任务学习

   图6:SparseSharing模型图及子网生成伪代码


并行训练子网流程如下所示:

  1. 选择下一个任务
  2. 为任务随机选择一组小批量数据;
  3. 将该小批量数据喂给任务对应的子网,例如,。其中表示任务对应的参数掩码,只激活基础网络中的部分神经元。
  4. 更新此任务的子网参数;
  5. 回到1。

总的来说,Sparse Sharing通过剪枝操作实现了参数高效,但无法解决参数冲突问题(不同任务对同一参数的优化方向不一致)。在这种情况下,CSRec应运而生,它不仅为每个任务单独训练一个子网,而且还学习了一个对应的对比参数子网。通过对比学习,CSRec能够评估不同参数对模型性能的影响,从而解决了参数冲突的问题。

首先,CSRec采用一个常用的MLP网络从输入向量中提取信息。的参数空间为,它是随机初始化的。给定一个任务,二进制参数掩码被随机初始化,其中是MLP网络中参数空间的大小。对于任务t,子网的参数是通过使用二进制掩码矩阵从基本MLP网络的参数空间中选择的。这样,每个任务就能得到它唯一的子网,表示为:

然后,利用基于掩模的对比策略生成每个任务的对比激活掩模。也就是说,每个任务也可以得到其对比子网,表示为:

对于所有的任务,我们可以得到特定任务的子网和对比子网。然后,我们交替训练所有任务,以优化对比损失,更新基本MLP网络的参数

在一次迭代中,CSRec为每个任务分别剪去中幅度最小的前%的参数,并更新相应的二进制参数掩码和对比掩码。让表示子网的稀疏性,其中表示掩码中0的数量。同时设置了一个最小界来控制参数的剪枝。如果稀疏度小于,我们继续修剪参数的%来更新中的参数,直到稀疏度大于。CSRec同步更新对比参数掩码,所有任务交替训练直到收敛。

实验结果表明,CSRec在较小的时空开销下,取得了更加优秀的推荐性能,且通过对比学习评估了不同参数的贡献,解决了参数冲突的问题。

专题解读 | 推荐系统中的多任务学习

   图7:CSRec在腾讯看点数据集上的实验结果


3 总结

以上就是本篇文章介绍的所有模型和方法。前三类参数共享方法着重于促进任务间的知识迁移,以提高多任务推荐的性能,而最后一类方法从参数高效性的角度来考虑问题。总的来说,模型的演进与当时多任务推荐领域的需求密切相关。例如,专家类参数共享方法在一定程度上解决了硬共享存在的负面迁移问题,而稀疏共享类方法则解决了软共享存在的时空开销过大的问题等。因此,多任务推荐模型的设计必须根据需要解决的具体问题来进行调整。


本期责任编辑:杨成
本期编辑:刘佳玮

北邮 GAMMA Lab 公众号
主编:石川
责任编辑:杨成、王啸
编辑:刘佳玮

长按下图并点击“识别图中二维码

即可关注北邮 GAMMA Lab 公众号

专题解读 | 推荐系统中的多任务学习



原文始发于微信公众号(北邮 GAMMA Lab):专题解读 | 推荐系统中的多任务学习

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月29日14:56:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   专题解读 | 推荐系统中的多任务学习https://cn-sec.com/archives/2078414.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息