PLE模型阅读笔记

--

本文是RecSys2020最佳长论文Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations的阅读笔记。

模型动机

模型主要用于解决multi-task模型中seesaw phenomenon的问题:预测的task A和task B不相关,优化task A的预测可能导致task B预测的性能下降。Google曾提出了MMoE模型,但MMoE模型忽略了experts之间的交互关系,同样对待所有的experts。

为此,腾讯提出了PLE模型。在线上表现上,提高了2.23%的view-count和1.84%的阅读时长。因此,ple模型已经被部署在了腾讯的视频推荐系统中。

腾讯的推荐系统模型总览

  • w是参数
  • f(video_len)是non-linear的函数,比如sigmoid或者log

对于所有任务而言,VCR (View Completion Rate)和VTR (View-Through-Rate)是最重要的指标。

PLE模型介绍

第一部分:Customized Gate Control

模型结构:

shared experts:学习share的部分

task-specific expert:学习task专门的信息

每个tower都从shared experts和自己的task-specific experts中学习。shared的部分会被所有tasks影响,task-specific的只会被自己的head影响。

shared和task-specific的experts会通过一个gating network选择性地融合起来:

其中wk(x)是一个计算task k权重的function,先计算一层linear,再计算一层softmax:

而Sk(x)则是一个包含shared experts和task k专有expert的一个matrix:

task k的模型预测表示为:

tk是task k的tower network.

第二部分:PLE模型

PLE模型是CGC的一个generalization,有多层的extraction networks来提取高级别的共享信息。

第三部分:Joint Loss Optimization的创新

在通常的Multi-task learning中,损失函数常常是各个task取个加权平均。但这样做忽略了各个task之间的样本空间是不一样的特点。比如用户只有在click了一篇article之后才能进行share。这时候应该把share当成click的一个subset,而不是以整个training set计算share rate的。

此外,Multi-task learning对loss weight很敏感,因为loss weight决定了每个task的相对重要性。实践中发现,每个task在训练过程中的不同阶段可能会有不同的重要性。所以,与其选择一个静态的weight,不如选取一个动态的weight。

先选择一个初始的loss weight,再在每一步update loss weight by update ratio。

--

--

No responses yet