当前位置: 首页 > news >正文

推荐系统论文分享之多任务模型--PLE(一)

目录

论文传送门:https://dl.acm.org/doi/10.1145/3383313.3412236

一、多任务学习背景

首先在进入论文分享前,需要思考🤔️一下,什么是多任务学习?为什么需要多任务学习?

什么是多任务学习?

为什么需要多任务学习?(优势/意义)

提升泛化性能

数据效率优化

降低计算成本

多任务学习中存在的跷跷板现象是什么?会有什么样的问题?

跷跷板现象是什么?

会有什么样的问题?

任务间负迁移:

主导任务压制

收敛困难

深挖下背后的根本原因

梯度冲突

任务相关性不足

损失权重分配不合理

常规的解决方案

动态梯度调整

自适应损失加权

任务分组与解耦

优化目标设计

小结:背景涵盖的东西可能比较多,很多部分单独拉出来也能说很多,大家先有个宏观的框架认知,随着论文分享的不断增多,就会逐渐熟悉每一个部分,螺旋式上升,莫急。

期望:希望各位看完ple的论文分享,问自己以下3个问题

二、论文背景

当前现状

多任务学习mtl模型往往会出现性能退化和负迁移问题,源自于现实推荐系统中任务关联的复杂性和竞争性

“跷跷板”现象的发现:提升某一任务性能时,往往会损害其他某些任务的性能。

本文的意义

提出了一种具有创新共享结构设计的渐进式分层提取(PLE)模型。

应用场景与实验结果

线上效果与扩展验证

三、论文核心讲解

CGC(Customized Gate Control)模型结构讲解

结构有三部分

专家网络

塔式网络

门控网络

PLE(Progressive Layered Extraction)模型结构讲解

为什么要ple,cgc还不够吗?

权重函数、选择矩阵和门控网络的计算

多专家与门控网络的渐进式分层提取

PLE(渐进式分层提取)通过多层次专家和门控网络,为每个任务提取并融合更深层的语义表征,从而提升泛化能力。如,MMOE采用全连接路由策略,CGC采用早期分离策略,而PLE则采用渐进式分离路由机制:吸收所有底层专家的信息,提取更高层次的共享知识,并逐步分离任务特定参数

渐进式分离的化学类比

路由策略的对比与收敛性

多任务学习的联合损失优化

四、总结


论文传送门:https://dl.acm.org/doi/10.1145/3383313.3412236 

一、多任务学习背景

  1. 首先在进入论文分享前,需要思考🤔️一下,什么是多任务学习?为什么需要多任务学习?

    1. 什么是多任务学习?
      1. 简化版本:就是同时学习多个任务
      2. 学术版本:多任务学习(Multi-Task Learning, MTL)是一种机器学习范式,通过同时训练模型完成多个相关任务,共享模型的部分结构或参数。其核心思想是利用任务间的关联性,提升模型在各项任务上的泛化能力,而非独立训练多个单任务模型。
    2. 为什么需要多任务学习?(优势/意义)
      1. 提升泛化性能
        1. 简化版本:
        2. 学术版本:多个任务共享部分模型参数时,模型需学习对所有任务通用的特征表示,从而减少过拟合风险。例如,在自然语言处理中,同时训练词性标注和命名实体识别任务,模型能更好地捕捉语言结构的共性
      2. 数据效率优化
        1. 简化版本:针对于数据缺失的任务,可以“借用”数据充足的任务
        2. 学术版本:某些任务可能数据稀缺(如医疗影像分析),而其他相关任务数据丰富。多任务学习允许数据丰富的任务辅助数据稀缺的任务,充分利用有限标注数据。
      3. 降低计算成本
        1. 简化版本:实惠
        2. 学术版本:单一模型处理多个任务比维护多个独立模型更节省存储和计算资源。例如,自动驾驶系统需同时检测行人、车辆和交通标志,多任务模型可共享主干网络。
  2. 多任务学习中存在的跷跷板现象是什么?会有什么样的问题?

    1. 跷跷板现象是什么?
      1. 跷跷板现象(Seesaw Phenomenon)是多任务学习(MTL)中常见的问题,指模型在优化多个任务时,某些任务性能提升的同时其他任务性能下降,导致任务间出现动态的竞争关系。这种现象类似于跷跷板的两端此起彼伏,难以同时平衡所有任务的性能。
    2. 会有什么样的问题?
      1. 任务间负迁移:
        1. 部分任务因共享参数或特征空间,在梯度更新时产生冲突。例如,任务A的梯度优化方向可能对任务B的性能产生负面影响。
      2. 主导任务压制
        1. 某些任务(如损失值较大或数据量较多的任务)可能在训练中占据主导地位,导致其他任务被忽略,最终整体性能不均衡。
      3. 收敛困难
        1. 动态的梯度竞争可能导致模型难以稳定收敛,训练过程波动较大,甚至陷入局部最优解。
    3. 深挖下背后的根本原因
      1. 梯度冲突
        1. 不同任务的损失函数梯度方向不一致,尤其在共享底层网络时,反向传播的梯度可能相互抵消或对抗。
      2. 任务相关性不足
        1. 若任务间的关联性较弱(如语义差异大),强行共享特征空间会导致跷跷板效应加剧。
      3. 损失权重分配不合理
        1. 固定或人工设定的任务权重无法适应训练过程中的动态变化,导致某些任务被过度优化或忽略。
    4. 常规的解决方案
      1. 动态梯度调整
        1. 通过梯度归一化(如PCGrad)或投影(如GradDrop)方法,减少任务间梯度的冲突。例如,PCGrad会将冲突的梯度投影到彼此的正交方向。
      2. 自适应损失加权
        1. 采用动态权重调整策略(如Uncertainty Weighting、GradNorm),根据任务难度或梯度大小自动平衡损失权重。
      3. 任务分组与解耦
        1. 对相关性强的任务共享底层参数,弱相关任务使用独立模块,减少干扰。例如,MMoE(Multi-gate Mixture of Experts)通过门控机制灵活分配专家网络。
      4. 优化目标设计
        1. 引入帕累托优化(Pareto Optimality)或多目标优化方法,直接优化任务间的平衡性而非单一任务性能。
  3. 小结:背景涵盖的东西可能比较多,很多部分单独拉出来也能说很多,大家先有个宏观的框架认知,随着论文分享的不断增多,就会逐渐熟悉每一个部分,螺旋式上升,莫急。

  4. 期望:希望各位看完ple的论文分享,问自己以下3个问题

    1. ple的网络结构,是否掌握
    2. ple应该在什么场景下进行使用
    3. ple出现的意义是什么?

二、论文背景

  1. 当前现状

    1. 多任务学习mtl模型往往会出现性能退化和负迁移问题,源自于现实推荐系统中任务关联的复杂性和竞争性
      1. 性能退化(Performance Degeneration):模型在实际应用中表现不如预期的现象。
      2. 负迁移(Negative Transfer):多任务学习中,某些任务间的相互干扰导致模型整体性能下降的现象。
      3. 任务关联(Task Correlation):不同任务之间的依赖或冲突关系,可能促进或阻碍模型学习。
    2. “跷跷板”现象的发现:提升某一任务性能时,往往会损害其他某些任务的性能。
  2. 本文的意义

    1. 提出了一种具有创新共享结构设计的渐进式分层提取(PLE)模型。
      1. 该模型显式分离共享组件与任务特定组件,并采用渐进式路由机制逐步提取和分离更深层次的语义知识,从而提升联合表示学习效率以及通用场景下跨任务信息路由的效果。
    2. 应用场景与实验结果
      1. 在腾讯视频推荐数据集的十亿级样本上,PLE被应用于复杂关联任务和常规关联任务,涵盖双任务到多任务场景。实验结果表明,在不同任务相关性和任务组规模下,PLE显著优于当前最先进的多任务学习(MTL)模型。
    3. 线上效果与扩展验证
      1. 在腾讯大规模内容推荐平台上的在线评估显示,PLE相比现有最优MTL模型实现了2.23%的观看量提升和1.84%的观看时长增长,这一显著改进验证了其有效性。此外,在公开基准数据集上的大量离线实验证明,PLE可适配推荐系统之外的多种场景,有效消除"跷跷板效应"。

三、论文核心讲解

  1. CGC(Customized Gate Control)模型结构讲解

    1. 结构有三部分
      1. 输入->中间的专家网络->顶部的任务特定的塔式网络
    2. 专家网络
      1. 共享专家负责学习跨任务的通用模式
      2. 任务特定专家提取与单一任务相关的独特模式
      3. 共享专家参数受所有任务影响,而任务特定专家参数仅受对应任务影响
    3. 塔式网络
      1. 每个塔式网络同时接收来自共享专家和自身任务特定专家的知识
    4. 门控网络
      1. 共享专家和任务特定专家通过门控网络进行选择性融合,如上图所示,门控网络的结构基于单层前馈网络,采用SoftMax作为激活函数,输入作为选择器计算选定向量(即专家输出的加权和)。
        1. 任务k的门控网络输出可表述为:
          1. g^k (x) = w^k (x)S^k (x)
          2. 其中x 为输入表征,w^k(x)为权重函数,通过线性变换和 SoftMax 层计算任务 k 的权重向量。
            1. w^k(x) = Softmax(W^k_gx),
            2. 其中W^k_g \in R^{(m_k+m_s)*d},是一个参数矩阵m_sm_k分别是共享专家和任务k的独有专家的专家个数;d是输入表征的维度。
          3. S^k (x) 是一个挑选矩阵,由共享专家和任务k的独有专家构成。
            1. S^k (x) = [E^T(k,1), E^T(k,2), . . . , E^T(k,m_k ), E^T(s,1), E^T(s,2), . . . , E^T(s,m_s )]^T
        2. 最后任务k的预测就是
          1. y^k (x) = t^k (g^k (x)),
            1. t^k指的是任务k的tower层

  1. PLE(Progressive Layered Extraction)模型结构讲解

    1. 为什么要ple,cgc还不够吗?
      1. CGC显式分离任务特定组件和共享组件,但在深度多任务学习(MTL)中,模型需逐步构建更深层次的语义表征,而中间表征应归类为共享还是任务特定通常难以明确界定。为解决该问题,通过*渐进式分层提取(PLE)*对CGC进行扩展。
      2. 如上图所示,PLE包含多级提取网络,用于提取更高层次的共享信息。除任务特定专家门控机制外,提取网络还为共享专家设计门控网络,以整合当前层所有专家的知识。因此,PLE中不同任务的参数在底层并非如CGC般完全隔离,而是随层级上升逐步分离。
      3. 高层提取网络的门控机制以低层门控的融合结果(而非原始输入)作为选择依据,因其能更有效筛选高层专家提取的抽象知识。
    2. 权重函数、选择矩阵和门控网络的计算
      1. 在PLE(Progressive Layered Extraction)模型中,权重函数、选择矩阵和门控网络的计算方式与CGC(Customized Gate Control)模型一致。具体而言,PLE的第j个提取网络中,任务k的门控网络的计算公式如下:
        1. g^{k,j}(x) = w^{k,j} (g^{k,{j-1}}(x))S^{k,j}(x),
          1. 其中,w^{k,j}是任务 k 的加权函数,以 g^{k,j-1} 作为输入;S^{k,j} 是任务 k 在第 j 个提取网络中的选择矩阵。
          2. 值得注意的一点是,PLE(渐进分层提取)模型中共享模块的选定矩阵与任务专用模块略有不同,因为该矩阵由当前层的所有共享专家和任务专用专家共同组成。
        2. 在计算完所有门控网络和专家模块后,最终可以得到PLE中任务k的预测结果。
          1. y^{k}(x) = t^k(g^{k,N} (x))
    3. 多专家与门控网络的渐进式分层提取
      1. PLE(渐进式分层提取)通过多层次专家和门控网络,为每个任务提取并融合更深层的语义表征,从而提升泛化能力。如,MMOE采用全连接路由策略,CGC采用早期分离策略,而PLE则采用渐进式分离路由机制:吸收所有底层专家的信息,提取更高层次的共享知识,并逐步分离任务特定参数
      2. 渐进式分离的化学类比
        1. 渐进式分离过程类似于化学中从化合物逐步提取目标产物的流程。在PLE的知识提取与转化过程中,底层表征在高层共享专家层联合提取/聚合并路由,获取共享知识后逐步分发至特定任务塔层。这种方式实现了更高效、灵活的联合表征学习与共享。
      3. 路由策略的对比与收敛性
        1. 尽管MMOE的全连接路由看似是CGC和PLE的一般化设计,但实际研究表明(见论文第5.3节),MMOE无法收敛到CGC或PLE的结构,即便存在理论可能性。
  2. 多任务学习的联合损失优化

    1. 在设计了高效的网络结构后,当前重点转向以端到端方式联合训练任务特定层和共享层。多任务学习中,联合损失的常见形式是各任务损失的加权求和
      1. L(\Theta_1,...,\Theta_K,\Theta_s ) = \sum_{k=1}^{K} w_kL_k(\Theta_k,\Theta_s)
        1. θs 表示共享参数,K 是任务数量,Lk、ωk 和 θk 分别表示任务 k 的损失函数、损失权重和任务特定参数。
    2. 然而,存在多个问题使得多任务学习(MTL)模型的联合优化在实际应用中具有挑战性。本文通过优化联合损失函数,解决了现实推荐系统中两个关键问题。
      1. 第一个问题是由用户连续行为导致的异质样本空间。例如,用户只有在点击某物品后才能分享或评论,这导致不同任务的样本空间不同)。为了联合训练这些任务,将所有任务的样本空间并集作为整体训练集,并在计算每个单独任务的损失时忽略其自身样本空间之外的样本。
        1. L_k(\Theta_k,\Theta_s) = \frac{1}{\sum_{i}{\delta_k^{i}}}*\sum_{i}\delta_k^{i}loss_k(\hat{y}^i_k(\Theta_k,\Theta_s),y^i_k)
        2. loss_k 是任务k的损失,基于预测值  \hat{y}^i_k与真实值 y^i_k计算得出;\delta^i_k∈{0,1} 表示样本i是否属于任务k的样本空间。
      2. 第二个问题是,多任务学习(MTL)模型的表现对训练过程中损失权重的选择非常敏感,因为这些权重决定了各任务在联合损失中的相对重要性。实际观察发现,不同任务在不同训练阶段的重要性可能动态变化。因此,将每个任务的损失权重视为动态值而非静态值更为合理。具体实现中,先为任务k设定初始损失权重ωk,0,随后根据更新比率γk在每一步训练后调整权重。
        1. w_k^{(t)} = w_{k,0}*\gamma_k^t
        2. t 指的是训练的epoch,w_{k,0} 和\gamma_k是模型的超参。

四、总结

        内容到这里就暂告一段落了,ple的核心理论部分应该都已经进行阐述,后续的实验环节大家感兴趣的可以去查看论文,欢迎👏大家有问题评论区进行交流。~后续多任务还会持续分享,论文也会继续分享~

http://www.dtcms.com/a/329240.html

相关文章:

  • Java 中 static 关键字详解(更新版)
  • JavaScript手录16-定时器
  • 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
  • 传统Python开发工程师转型大模型智能体开发工程师路径
  • jq实现页面区域内拖动功能
  • InfluxDB 在工业控制系统中的数据监控案例(一)
  • 自然语言处理的实际应用
  • 晓知识: 微服务CAP定理
  • 5. synchronized 关键字 - 监视器锁 monitor lock
  • 基于 MybatisPlus 将百度天气数据存储至 PostgreSQL 数据库的实践
  • 飞算JavaAI云原生实践:基于Docker与K8s的自动化部署架构解析
  • 深入理解 C++ 中的虚函数:原理、特点与使用场景
  • Nginx学习笔记(七)——Nginx负载均衡
  • Orange的运维学习日记--43.Ansible进阶之变量与加密
  • SQL详细语法教程(二)--DML(数据操作语言)和DQL(数据查询语言)
  • 健永科技工业自动化RFID解决方案
  • Linux:线程
  • LeetCode215~ 234题解
  • 《算法导论》第 23 章 - 最小生成树
  • 中高级餐饮服务食品安全员考试核心知识点汇总
  • 亚马逊精准词失灵:广告效能瓶颈的系统破解与矩阵重构
  • RK3588——DMABUF+CMA的完美组合
  • YOLO-v2-tiny 20种物体检测模型
  • 基于C语言基础对C++的进一步学习_C和C++编程范式、C与C++对比的一些补充知识、C++中的命名空间、文件分层
  • Java Redis基础入门:快速上手指南
  • 广东省省考备考(第七十五天8.13)——判断推理(图形推理题型总结)
  • flex布局之设置主轴上的子元素排列方式一
  • 机器学习之词向量转换
  • 【H5】禁止IOS、安卓端长按的一些默认操作
  • ios添加ic卡如何操作?