当前位置: 首页 > 网络应用技术

多任务,多目标CTR估计技术

时间:2023-03-06 21:47:28 网络应用技术

  简介:多客观学习是MTL。在业务场景中,我们经常面临多个必要的目标。而且多个目标通常都有冲突。如何同时改善多个目标是多任务的重要性在实际业务方案中进行多目标。

  1个多个任务和多目标学习

  多任务学习是深度学习时代非常常见的建模方法。在NLP,CV和CTR的许多领域中,应用非常广泛。

  多客观学习是MTL。在业务场景中,我们经常面临多个必要的目标。而且多个目标通常都有冲突。如何同时改善多个目标是多任务和多项式的重要性- 在实际业务方案中获得目标。如下图所示,视频推荐任务必须是点击率和广播率;在CTR估计字段中使用多务和多目标的today,E-商业排序,点击率和转换率是一种非常主流的建模方法。它值得在深度研究中进行。

  首先,让我们澄清一些名词概念。如下图所示,多任务和多标签之间的关系被解释了。

  多任务学习:多任务学习建模多任务可以在多个任务之间的关系。任务输入可以是不同的功能/示例。例如,Feature和样本。这是多输入和多输出(MIMO)的类型。常用的训练模式是预训练+填充和多任务联合培训替代培训。

  多标签学习:还有一个单输入和多输出(SIMO),这是一种非常常见的多标签学习。同一样品上同一功能和同一样品的建模。它通常也称为多目标。,深度回归,实例回归。在CTR字段中,同时估算了相同的输入样本,同时点击和转换率。常用的训练模式是联合培训模式,它正式形式形式:

  heta^{sh}是一个多任务共享参数。heta^{t}是任务T.联合训练的总损失的独家参数,是每个子任务的权力的背景,与损失相对应。多任务和多目标学习后来引用了本文,默认是这种建模方法。

  2优势和挑战

  多目标学习的结果,有4个状态,如下所示。“做得好”:最佳状态,所有共享任务都得到了改进。“不错”:第二个状态,所有任务并没有减少,至少至少是一项任务是改进的。如果是主要任务 +辅助任务的组合,它可以实现牺牲辅助任务以实现改善杂务的效果,这也是很好的。“不是理想的”:Seesaw,任务上升和下降。“不可接受”:负面迁移现象,所有任务都不如以前那么好。

  多任务和多目标学习的优点:有可能实现“相当好”和“做得好”。

  多任务和多目标学习挑战:

  (1)如何将“不可接受”和“不满意”的两个状态迁移到“很好”和“做得好”;

  (2)最大程度地刺激“良好”和“做得好”的影响;

  共享参数!1 + 1> 2 [不错/做得好]

  共享参数在效果 +性能级别上带来了很多优势。在效果级别,通过隐式数据增强了多任务的优势。各个相关的任务一起学习,共享参数,相互学习,减轻过度拟合现象,由某些任务的稀疏样本带来,并获得更好的广义性能。在绩效级别,与n个单个任务的网络参数总数相比,多任务大大减少了,MTL模型在实际 - 实际 - 实际上也更有效 -时间预测场景。

  共享参数!1 + 1 < 1 【无法接受/不理想】

  多任务多目标为了实现 1+1>2.在任务参数空间上设置了一个假设,例如:W.R.T.应互相接近任务参数。一些距离测量,共享共同的概率首次验证或保持在低维空间或流动中。当所有任务相关时,这些假设可以很好地工作,但是如果无关任务之间的信息共享发生,则概率将导致下降效果,锯和负迁移。

  因此,现场研究的核心问题已被引入:我们如何充分利用“共享参数”,以便多个任务与之和谐相处,相互补充并相互补充?

  研究上述核心问题,有两个方向,一个是架构,另一个是优化策略,如下图所示。

  体系结构考虑了哪些参数共享,何处以及如何从网络结构设计的方向共享。

  优化策略多目标优化策略从损失和梯度的角度考虑任务与任务之间的关系。磁性,调整损耗更新速度,并优化梯度更新方向(方向)。以缓解微型层面上的梯度冲突,参数被撕裂,并且在宏级达到多任务的平衡。

  1个多任务多核心网络结构设计

  体系结构考虑了哪些参数共享,何处以及如何从网络结构设计的方向共享。可选的共享网络结构设计对效果的改善具有关键的效果。因此,多任务的重点仍然是如何处理的。设计和共享结构与任务相结合。本文主要介绍CTR字段中的多掩码结构。如上图所示,更常见的结构是股份[Hard Hard],无需重复。,Google提出了MMOE将Hard的参数分为多个专家。通过控制不同损失对每个专家的影响,Google在2019年提出了SNR的影响。在简单的NAS(神经体系结构搜索)的帮助下,对子网络进行了组合,以学习自己的网络结构,以实现不同的目标。PLE在2020年,在MMOE的基础上增加了独特的任务。

  如下图所示,网络结构和共享底部,mmoe,ple和细节的简单说明未扩展。

  演变是共享更灵活的参数的方向。思考为什么这种演变会带来效果?我们经常看到效果得到改善。解释是:不同的专家负责学习不同的信息内容,然后通过门结合此信息。不同任务门的软配件的热分布差异表明,专家是针对不同目标的不同目标负责的。MMOE使用参数上的“变为零”的策略,并且PLE“变成零+”。

  如下图所示,更生动地了解到,在共享底部的结构中,整个共享参数矩阵就像一个大质量对象。在梯度更新的步骤中,两个损耗反向计算的梯度向量是G1和G2,这是该对象。接收到的不同方向的两个力,这两个力同时移动该对象的位置。如果两种力量在多个更新中都保持一致,则它们可以轻松实现和谐共存并相互补充。相反,多种力量可能会相互消耗和抵消,因此将大大减少任务效果。在这种情况下,”如何选择多个任务并考虑任务之间的相关性“已成为股份MTL取得成功的关键因素。

  MMOE做了一个聪明的事情,“变成零。”将共享参数矩阵变成组合门的多个共享专家。当彼此之间发生不同的损失冲突时,可以在不同的专家中表达不同的损失,因此,如果可以减少相互偏移情况,则可能会减少。一些专家受到一定任务的极大影响,而某些专家则由其他任务主导。这个“每个获得”状态。但是,mmoe不能保证“每个收益”。PLE添加了SPCIFIC专家,以确保“每个收益”,并可以在“共享参数”的撕裂竞争中获得最基本的保证。

  3估计值,CTR,CVR,R3。覆盖底部具有上升板的现象,但PLE可以实现多个目标的双赢情况。下表显示了单个任务的相对改进。

  将来,在CTR领域中多任务和多目标的升级,我认为它仍然会改善“更灵活的参数共享”的效果。“将其变成零”的方式更加灵活(例如,参数共享的相似性是根据任务之间的相似性动态决定的,相似的任务是更多的共享,而较小的任务较少)。“有东西要获得的东西”更加多样化(例如,,例如,从专家的角度动态确定哪个任务主导了当前时刻)。

  2多个任务和多目标优化策略

  优化策略多目标优化策略从损失和梯度的角度考虑任务与任务之间的关系。为了缓解微级别的梯度冲突,参数被撕裂,并且在宏观层面达到了多任务的平衡。如下所示,当前的常见方法[稍后将详细介绍几种方法的原理和衍生物]。

  经过相关文献的调查和摘要,我们认为多校和多目标优化策略主要集中在三个问题上:

  幅度(超重损失):如果损失价值较大且较小,我该怎么办,而损失的现象占据很大的价值?

  速度(损失学习速度):任务困难且容易,损失学习速度是快速或缓慢的。我应该怎么办?

  由于样本的稀疏性和学习难度,不同的任务在学习过程中具有不同的学习速度。没有调整,当某个任务接近融合甚至过于拟合时,可能会发生某个任务,而其他任务仍在欠款中。

  方向(损失梯度冲突):多重损失的反向梯度,更新方向冲突以及负面迁移的现象,我该怎么办?

  不同的损失更新共享参数w_ {sh}。当梯度具有大小和方向时,相同的参数会同时通过多个梯度更新,这可能会导致冲突,从而导致相互消耗量。

  后来,我们将分享一些来自网络结构和优化策略的两个方向的文章。

  MMOE:Google KDD 2018提出了建议,它成为CTR领域中MTL的标准。

  在本文中,有一种非常有趣的方法:手动控制这两个任务的相似性,然后观察不同任务中不同网络结构的性能效应。结论:当多任务中MMOE之间的相关性相对较低,相对较低,相对较低,相对较低,效果可能非常好。

  如下图所示,OMOE和MMOE的影响显然比基线要好,表明RE -Zero专家在改善效果方面具有非常重要的作用。在最近的步骤中,如果任务相关性很高(相关性=相关性=)1.0),OMOE和MMOE的效果相似,但是如果任务相关性(相关= 0.5),多门的结构对由任务差异引起的冲突具有一定的缓解作用。

  SNR:Google AAAI 2019,MMOE的改进,但没有官方的开源,目前关注的相关工作并不多。

  本文的想法接近自动搜索(NAS)。子网络用于多任务和动态学习。可见收入主要希望可以使用类似的任务来自动学习更多。

  PLE:Tencent Recys 2020,MMOE的改善,简单结构和显着效果。

  根据MMOE,其特定专家已添加到每个任务中。以上解释了特定专家为什么有效的原因。在下图的右上角,PLE是唯一一个赢得的“ win -win”。[一个平坦的一个上升]。其余是一种seesaw现象。hard共享是负迁移。观察在不同相似性的多任务中非常出色。

  1个不损耗

  文章:“对场景几何和语义的减肥的多任务学习不确定性”

  据估计,本文是多目标损失优化策略中最常见的方法。在我们的使命中,没有明显的效果[PS。根据大多数学生使用的大多数学生,没有效果]。

  文章希望在模型中直接构建不损耗,然后通过不确定性指导重量的调整。

  经验提示:损失大 - >不确定性 - >重量轻,损失小 - > Unitedrtainty->重量重量。这在我们自己的实验中也得到了验证,小损失小任务的任务重量是数十倍的重量在其他损失任务中(例如CTR,CVR,付费目标建模,付费损失是最小的。此方法给出了很大的重量,这很快就会导致命运。),因为后来的日志项目的存在,总损失可能为负。如果您的多任务设计,您需要使用此属性:损失很大 - > unablectionty->较小的重量,小损失 - > Unitedrtainty->重量,然后您可以尝试此方法(我们也可以尝试超闭合+返回返回返回穆尔特 - 任务损失,不确定的重量减轻体重很小,总体效果是正面的)。

  2个毕业

  3 DWA

  文章:“注意端到端多任务学习”

  定义一个指标来衡量任务学习的速度,然后指导任务调整的重量。

  除了上述损失之外,由于这一轮损失,这可以使该任务损失的下降以衡量任务的学习速度,然后直接执行任务的重量。,此任务的重量增加,快速下降期的重量将减小。梯度标准化的简化版本仅考虑任务的下降,是简单而直接的。

  经验提示:最终可以实现的融合状态没有影响。

  4 pe-ltr

  文章:“用于电子商务推荐的多个客观优化的帕累托高效算法”

  Tao在2019年的主要搜索文章。首先,您需要谈论问题建模。任务损失公式可以为多目标优化建模,即,即优化可能冲突的目标的集合。

  满足这些条件的解决方案称为帕累托固定点[所有帕累托固定点,但不一定是确定的]。上述优化问题可以转换为

  转换说明是,找到一组W可以在共享参数部分中尽可能多地平衡每个任务的梯度。如果将其优化为0,则满足KKT条件。如果不优化为0,您还可以找到一般损失,可以减少整个情况下的所有任务。

  新的优化目标仍然是一个艰难的第二个计划。本文提出了解决此问题的两个步骤解决方案。1。仅考虑等效的约束来放松问题,然后分析放松问题问题的解决方案。但是,此时的解决方案可能对无限的约束不满意。2。投影步骤,获得有效的解决方案,以满足第一步的所有约束。

  经验提示:目前,源代码演示是开源的,但目前尚未在框中使用。我们得到了优化并适应自己的场景。在每一轮迭代中,每个任务的价值都相当稳定,但是目前不是我们场景中的理想结果。

  该方法是探索任务级别的平衡关系并求解W.WWW 2021微信文章“个性化近似帕托托效率重新计算”提出,视频推荐任务中不同用户的不同用户(视频点击vs视频终结率)是不同的。例如,新用户更多地关注指导和点击。老用户更加关注指导交易,例如消费品行业。对交易的更多关注,非消费者行业着重于指导询问以实现多目标和共同的增长。国家/行业/用户/用户层的优化其他小组目标也是一个有趣且有价值的点。

  5 PCGRAD和GRADVAC

  文章:PCGRAD-“用于多任务学习的梯度手术”,GradVac-“梯度疫苗:研究和改善大规模多用性模型中的多任务优化”

  这两篇文章是Google最近的研究。在PCGRAD的ICLR 2020被拒绝后,nips 2020是施放的。第一次,本文面临梯度冲突的来源。梯度调整以简单而直接的方式进行。ICLR2021 GRADVAC是PCGRAD的改进,是应用于多语言计算机翻译任务。

  PCGRAD指出,MTL多目标优化存在三个问题:1。方向不一致,导致撕裂并需要解决;2.不一致的幅度,导致领先的梯度并需要解决;本文使用不一致作为打破这个问题的起点。如何打破?在白话中,首先使用余弦相似性来定义两个任务是否在共享参数。如下图所示,截面角度大于90度,非固定角度小于90度。没有冲突。这是核心。

  GRADVAC应用于机器翻译领域,并给出了三个非常有趣的观察结果:

  1.梯度与语言相似性的相似性=>接近任务享受类似的几何形状,等级

  A。任务是翻译任务,不同的翻译语料库共享一个大型模型。如上图所示,每个网格的分数含义是:转换为EN任务的梯度和余弦相似的b。语言越近,语言越相似,语言越相似,语言越接近,语言越相似。

  2.梯度的相似性与模型效应呈正相关

  A。回答问题:相似性的任务越高,与联合Trainnig的相似之处越相似,它会带来更好的结果吗?

  我。答案是肯定的!相似性的任务越高,MTL培训越好,效果越好。研究表明,EN-X比X-EN更困难。从下面的梯度相似,也可以观察到X-en的梯度相似性更高。使用En-FR对作为锚点,将更高/较低的任务添加到共同训练不同的模型中。然后在相同的测试集合中进行评估[将En-fr作为主字符,其他语言作为辅助任务]比较较高的对和较低的梯度相似性,在BLEU指标上观察它们在BLEU索引上添加较高相似性的效果,因为辅助字符将具有更好的效果。

  3.随着培训步骤和网络水平,梯度相似性不断发展。

  A。随着训练的变化:梯度相似将逐渐收敛到水位b。随着层的变化:x-en [越接近lar靠近输出位置,越相似],较低的引线],因为它们全部来自en,这很容易解释,也可以做出ANCE。

  我认为这些观察结果非常重要,什么GradVac本身似乎并不那么重要。

  经验提示:重建代码,尝试,目前尚无共享经验。随后的添加。

  多任务和多目标出现在Seesaw和负面迁移中。微型级别的冲突是必不可少的。无论是从架构或优化策略二维而言,都可以优化和升级。相同的目标是减轻冲突并减少多任务之间的内部消费。

  总而言之,从实际的角度来看,我们需要做一个胜利 - 赢得多个任务模型。

  (1)网络结构骨干,目前首选PLE;

  (2)多任务的设计和结构必须考虑任务之间的相似之处;例如主 +辅助任务,需要考虑辅助任务与主要任务之间的关系;

  (3)在优化策略方面,请注意多重损失的顺序。如果差异很大,请注意约束和控制;上面,对抗损失和CTR CVR损失是阶数的幅度。

  (4)梯度冲突的分辨率是一种技能,另一种是可以直接调整PCGRAD代表的梯度的方法,可以使用。

  有两种典型方法可以优化多任务和目标的优化:

  在不同的业务需求下,任务目标的重点,关联和选择。

  参考

  本文提到的参考如下

  作者|Zhiyang,Wenjing来源|阿里技术公共帐户