【推荐系统】【多任务学习】Progressive Layered Extraction (PLE)

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

1 论文出处

发表时间:2020

发表会议/期刊:RecSys

会议/期刊级别:CCF-A

2 背景

2.1 背景介绍

尽管多任务学习在许多推荐应用中取得了成功,但现有模型常常因为现实世界推荐系统中任务之间复杂的相互关系而导致性能退化,这种现象称为负迁移。此外,研究者们观察到了一个有趣的跷跷板现象,即一个任务的性能提升往往以牺牲其他任务的性能为代价。为了解决这些问题,论文提出了一种名为渐进分层提取(Progressive Layered Extraction, PLE)的新型MTL模型。PLE模型通过新颖的共享结构设计,明确分离共享组件和任务特定组件,并采用渐进路由机制逐步提取和分离深层语义知识,提高联合表示学习和跨任务信息路由的效率。通过在腾讯的大规模视频推荐数据集和公开数据集上的实验,结果表明PLE显著优于现有的MTL模型,并且在线上评估中显示出观看次数和观看时间的显著提升,证明了PLE的有效性。

2.2 针对问题

在多任务学习中,一个任务的改善可能导致另一个任务的性能下降,因为任务间存在复杂的相互关系。

2.3 创新点
  • 明确的组件分离:PLE模型明确分离了共享组件和任务特定组件,以减少不同任务间潜在的参数干扰。
  • 渐进路由机制:通过多级专家和门控网络,PLE采用渐进分离路由,从底层专家提取深层知识,并在更高层次逐步分离任务特定参数。
  • 效率和灵活性:PLE模型的设计提高了联合表示学习和信息路由的效率,使得模型能够灵活应对不同任务间的复杂相关性。

3 主要设计思路

3.1 CGC

CGC模型是PLE的基础,旨在通过明确分离共享和任务特定组件来解决多任务学习中的负迁移和跷跷板现象。CGC模型由共享专家模块和任务特定的塔式网络组成。共享专家负责学习跨任务的通用模式,而任务特定专家则提取特定于任务的特征。CGC模型通过门控网络动态地结合不同专家的输出,使用SoftMax激活函数的单层前馈网络来计算加权和。这种结构允许CGC模型根据不同任务的需求,灵活地平衡共享与特定任务的知识,有效处理任务冲突和样本依赖的相关性。

3.2 PLE

PLE模型是CGC的扩展,引入了多级提取网络和渐进分离路由机制,以更高效地提取和组合深层语义表示。PLE模型中,不同层级的提取网络负责从底层专家中提取更高层次的共享信息,并通过门控网络进行选择性融合。与CGC相比,PLE模型在早期层中并不完全分离不同任务的参数,而是在上层逐步分离,模仿化学中从复合物中提取所需产物的过程。这种渐进分离路由策略允许模型吸收来自所有底层专家的信息,提取更高层次的共享知识,并逐步将任务特定参数分离到相应的塔式网络中。

4 实验

第一张图片显示不出时显示的文字
第二张图片显示不出时显示的文字

5 个人总结

这篇论文提出了一种新型的多任务学习模型PLE,通过渐进分层提取和定制门控控制,有效解决了个性化推荐中的负迁移和跷跷板现象。模型在腾讯大规模数据集上验证了显著的性能提升,并成功部署于实际的推荐系统。

但其实在其他的一些推荐或者营销场景中,尤其是对于具有长序列依赖关系的任务,越到最后正样本越少,如何更好地利用正样本的丰富的信息来增强模型训练效果也是一个问题,同时这篇论文其实也在一定程度上加大了参数量,所以今后可以研究一下对于之前的那些MTL模型,如果增加参数量,是否也可以在一定程度上改善其效果。

### 多任务学习MTL)定义 多任务学习是一种机器学习方法,其核心在于通过单一模型同时处理多个相关任务。这种方法可以有效利用不同任务间的关联性,提升整体的学习效率和性能[^2]。 具体来说,多任务学习的目标是让模型不仅完成某一特定任务,还能在其他相关任务上表现出良好的泛化能力。这种机制有助于减少过拟合风险并增强模型的鲁棒性和适应性[^3]。 --- ### 多任务学习的方法 #### 1. **共享表示层** 多任务学习的一个常见策略是在神经网络架构中引入共享表示层。该层允许不同的任务共同提取特征,并在此基础上分别构建各自的任务专用模块。这种方式使得各任务之间既能相互协作又能保持一定的独立性。 #### 2. **Progressive Layered Extraction (PLE)** PLE 是一种新型的多任务学习框架,特别适用于个性化推荐场景。它通过分层抽取的方式逐步分离公共信息和个人专属信息,从而更好地平衡任务间的关系。PLE 的设计思路包括两个主要部分:CEN(Common Expert Network)用于捕捉跨任务的通用模式;SPE(Specific Expert Network)则专注于挖掘每项任务的独特特性[^1]。 以下是 PLE 架构的核心代码实现片段: ```python import tensorflow as tf def ple_layer(inputs, num_experts_cen, num_experts_spe, output_dim): """ Progressive Layered Extraction layer implementation. :param inputs: Input tensor from the shared bottom layer or previous PLE layers. :param num_experts_cen: Number of experts in Common Expert Networks. :param num_experts_spe: List containing numbers of experts for each specific task network. :param output_dim: Output dimension size after gating mechanism application. :return: Outputs corresponding to common and specific parts processed by this PLE block. """ # Define CEN Experts cen_outputs = [] for i in range(num_experts_cen): expert_output = Dense(output_dim)(inputs) cen_outputs.append(expert_output) # Concatenate all outputs generated by CENs into one large matrix form concatenated_cens = concatenate(cen_outputs) # Gate Mechanism applied on top of these combined results... ``` 上述代码展示了如何创建专家网络以及应用门控机制来分配输入数据到相应的子网络中去。 --- ### 多任务学习的应用场景 多任务学习广泛应用于以下几个领域: #### 1. **自然语言处理 (NLP)** 例如,在命名实体识别(NER)、词性标注(POS Tagging)等联合任务中,可以通过一个多任务模型同时优化这些目标函数,进而获得更高质量的语言理解能力。 #### 2. **计算机视觉** 图像分类、对象检测与分割等多个视觉任务也可以被整合至同一框架下执行。这样做的好处是可以充分利用底层特征的一致性,进一步改善最终预测精度。 #### 3. **个性化推荐系统** 正如 PLE 所展示的技术路线那样,针对用户的兴趣建模时往往涉及多种类型的交互行为分析——点击率预估CTR Prediction、停留时间Duration Estimation等等都可以作为单独但又彼此联系紧密的小型子问题纳入进来统一求解。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值