PEPNet论文速读笔记

0 阅读13分钟

搜推广领域存在着多场景和多任务问题,例如,在广告领域中,广告平台为了提升不同行业广告主的效果广告投放效果,可能需要同时预估广告点击率,广告点击跳转后的应用下载率、激活率,或者广告点击跳转后的商品加购率、付费率,这是一个典型的多任务问题。同时,广告平台会在多种流量上进行广告投放,比如搜索结果页、信息流列表页、沉浸流视频页,这又是一个典型的多场景问题。所以广告领域中的广告平台面临着多场景和多任务同时存在的问题。广告平台可以对每个场景下的每个任务分别建模,但这种方案面临着工作量大、数据稀疏的问题,并且也没有充分利用不同场景和不同任务之间的共享信息。因此,搜推广领域对多场景和多任务问题进行研究,期望能够对多场景和多任务问题进行统一建模,充分利用跨场景和跨任务的共享信息来提升模型效果。

快手于2023年发表了论文《PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information》,提出了两个即插即用的网络结构——PPNet和EPNet,EPNet对嵌入进行个性化选择,在多场景中为不同的用户使用不同的权重进行特征融合,PPNet对深度神经网络的参数进行个性化修改,在多任务中为不同的用户平衡不同稀疏性的目标。这两个网络结构可以分别使用,分别优化多场景学习和多任务学习,也可以结合使用,优化多场景和多任务学习。其他模型也可以根据自身的应用场景,灵活选用上述两个网络结构。

以下是笔者使用心流,对这篇论文进行翻译,并调整内容的速读笔记。笔者在心流上的输入:

对于{目录}下的《PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information》,逐字将该篇论文翻译成中文,保留段落、公式格式,将翻译后的内容以markdown的格式保存,图片无需保存。

摘要

随着在线服务(如在线购物和视频观看网站)中内容页面和交互按钮数量的增加,工业级推荐系统面临着多场景和多任务推荐(multi-domain and multi-task recommendation)的挑战。多场景和多任务推荐的核心是在给定多种用户行为的情况下准确捕捉用户在多场景中的兴趣。论文提出了一种即插即用的参数与嵌入个性化网络(Parameter and Embedding Personalized Network,PEPNet),用于多场景和多任务推荐。PEPNet接受个性化先验信息作为输入,并通过门控机制动态缩放底层嵌入层和顶层深度神经网络的隐藏层。嵌入个性化网络(Embedding Personalized Network,EPNet)对嵌入进行个性化选择,在多场景中为不同的用户使用不同的权重进行特征融合。参数个性化网络(Parameter Personalized Network,PPNet)对深度神经网络的参数进行个性化修改,在多任务中为不同的用户平衡不同稀疏性的目标。论文结合快手训练框架和在线部署环境进行了一系列的特定工程优化。通过嵌入的个性化选择和深度神经网络参数的个性化修改、能够适配每个用户兴趣的PEPNet获得了显著的性能提升,在多场景和多任务指标上实现了超过1%的提升。目前已在快手应用中部署PEPNet,每天为超过3亿用户提供服务。

1 引言

传统的推荐模型专注于单个场景中的单一预测任务(例如CTR),其训练使用从单个场景收集的样本,并应用于单一任务的预测。然而,在实际应用中,推荐需求分散在不同的场景中。随着内容页面数量的增加,推荐系统面临着数据分散于多个场景的问题。例如,淘宝存在如图1右侧所示的预购买(猜你喜欢)、购买中(再次选择)和购买后(购买后猜你喜欢)等场景。而快手存在如图1左侧所示的精选视频、双列视频和单列视频等场景。此外,应用通常在每个页面上设计多个按钮供用户交互。为了利用用户反馈并提供更好的体验,推荐系统需要捕获用户的各种行为偏好,建模用户与多任务中不同目标交互的概率。例如,快手在图1中为用户提供各种交互目标,例如点赞、关注、转发、收藏和评论。

图1 快手和淘宝的多场景和多任务推荐场景

由于不同场景存在重合的用户和物品(淘宝是商品,快手是视频),因此多个场景存在共性。而且不同的交互目标在功能上相关,因此多个任务之间也存在依赖关系。为每个场景中的每个任务训练单独的模型不仅在部署成本和迭代效率方面不可接受,而且没有充分利用全部数据,忽略数据之间的共性也会导致次优的模型效果。然而,直接混合所有数据并使用统一模型进行训练则忽略了场景和任务之间的差异。无法对具有不同语义和重要性的特征进行对齐和融合,从而会导致场景跷跷板(domain seesaw,有些场景下的效果因混合所有数据并使用统一模型而变好,有些场景下的效果因混合所有数据并使用统一模型而变差)现象,这是由于用户行为和物品候选集在多个场景中的分布不同所致。由于不同的交互目标具有各自的稀疏性且相互影响,无法平衡相互依赖的多任务也会导致任务跷跷板(task seesaw,有些任务的效果因混合所有数据并使用统一模型而变好,有些任务的效果因混合所有数据并使用统一模型而变差)现象。

图2 单独的多任务学习或多场景学习,以及两者同时发生的多任务和多场景学习

目前,多场景学习(multi-domain learning)和多任务学习(multi-task learning)在推荐系统中取得了巨大进展。但在实际应用中,我们不能简单地直接复用多场景或多任务学习方法应用于多场景和多任务联合的场景。多场景学习方法侧重于对齐不同场景下的特征语义,但忽略了多任务label空间中不同交互目标的相互依赖。多任务学习方法侧重于拟合不同任务交互目标的分布,但忽略了多场景特征空间的语义差异。如图2所示,相比于单独的多任务学习或多场景学习,多任务学习和多场景学习在实际应用中一般同时发生,且更为重要和复杂。

一方面,同一任务的不同场景和同一场景的不同任务之间存在特征语义和重要性方面的差距。另一方面,同一任务的不同场景和同一场景的不同任务又具有各种交互目标的稀疏性和相互依赖性。不同于任务跷跷板现象和场景跷跷板现象,论文称之为双重跷跷板现象(the imperfectly double seesaw phenomenon)。随着场景和任务数量的增加,这种现象在工业级推荐系统中更加严重。由于实际行业中对于高效率和低成本的要求,因此迫切需要一种即插即用的网络结构来解决以上多场景和多任务学习的挑战。

个性化建模是推荐系统的核心。增强模型的个性化有助于捕捉用户在不同情况下对物品的偏好程度。多场景和多任务可以被视为用户在不同情况下与物品的交互,因此更准确的个性化预估可以缓解上述双重跷跷板问题。但是,如果仅将个性化先验信息作为模型底层输入,则在信号通过深度神经网络传播到顶层后其影响变得极其微弱。对于多场景和多任务学习,如何在正确的位置以正确的方式将个性化先验信息注入模型是至关重要和值得探索的。

为了解决这个问题,论文提出了参数与嵌入个性化网络(Parameter and Embedding Personalized Network,PEPNet),用于多任务和多场景推荐,它充分利用任务之间的关系,并通过增强个性化消除场景之间的偏差。与现有多任务学习和多场景学习的工作相比,PEPNet是一种高效的即插即用网络。PEPNet将带有个性化先验信息的特征作为输入,并通过门控机制动态缩放模型中的底层嵌入层和顶层深度神经网络的隐藏层,这些被称为特定场景的EPNet和特定任务的PPNet。嵌入个性化网络(Embedding Personalized Network,EPNet)在底层添加特定场景的个性化信息以生成个性化嵌入层门控。嵌入层门控用于对来自多个场景的原始嵌入进行个性化选择以获得个性化嵌入。参数个性化网络(Parameter Personalized Network,PPNet)将用户和物品的个性化信息与每个任务的深度神经网络的输入连接起来,从而获得个性化门控分。然后通过与深度神经网络的隐藏层进行逐个元素的相乘,对深度神经网络的参数进行个性化修改。通过将个性化先验信息映射到范围为0到2的缩放权重,EPNet对嵌入进行个性化选择,在多场景中为不同的用户使用不同的权重进行特征融合,PPNet对深度神经网络的参数进行个性化修改,在多任务中为不同的用户平衡不同稀疏性的目标。论文的贡献总结如下:

  • 论文提出了一种针对每个用户兴趣量身定制的参数与嵌入个性化网络(PEPNet)。PEPNet是一种高效、低成本部署和即插即用的方法,可以注入任何模型。论文在工业短视频数据集上评估PEPNet和其他SOTA方法,大量实验证明了PEPNet在缓解双重跷跷板现象方面的有效性。
  • 论文在快手推荐系统中部署PEPNet,服务超过3亿的日活用户。PEPNet的部署带来了观看时间超过1%的提升、其他多个交互目标约2%的提升。

2 方法

本节介绍了缓解双重跷跷板问题的详细设计。论文详细阐述了问题公式化、所提出的PEPNet的网络结构以及在快手的部署。

2.1 问题公式化

这里先定义论文研究的问题和符号。模型使用稀疏和稠密输入,例如用户历史行为、用户画像特征、物品特征、上下文特征等。预测目标y^t\hat{y}_t是用户uu在场景dd中第tt个任务上对物品(即视频)ii的偏好分数,其通过以下方式计算:

y^t=F({E(u1),...,E(um)E(i1),...,E(in)E(c1),...,E(co)}d)(1)\hat{y}_t=F(\{E(u_1),...,E(u_m)\oplus E(i_1),...,E(i_n)\oplus E(c_1),...,E(c_o)\}_d)\tag{1}

其中u1,...,umu_1,...,u_m表示用户特征,包括用户历史行为、用户画像和用户ID等。i1,...,ini_1,...,i_n表示物品特征,包括物品类别、物品ID(iid)和作者ID(aid)等。c1,...,coc_1,...,c_o表示其他特征,包括上下文特征和组合特征。mmnnoo分别指用户特征、物品特征和其他特征的数量。E()E(*)表示稀疏、稠密特征通过嵌入层映射到可学习的嵌入,\oplus表示连接。{}d\{\}_d表示来自场景dd的样本。y^t\hat{y}_t表示任务tt的输出分数。FF是推荐模型,本质上是一个可学习的预测函数。

现实世界中,物品候选集和部分用户在多个场景中共享。然而,由于不同的消费目的,用户对同一物品的倾向在不同场景中会改变。为了更好地捕捉用户对多种行为的倾向及其在多个场景中的联系,推荐系统ff需要同时在多个场景DD中对多个任务TT进行预测。因此,多场景和多任务推荐问题可以表述为:xdy^tx_d \rightarrow \hat{y}_t,其中xdx_d是从每个场景dDd\in D中收集的样本的特征,y^t\hat{y}_t是每个任务tTt\in T的预测分数。

2.2 网络结构

图3 PEPNet的网络结构

图3说明了论文提出的PEPNet模型的网络结构。整体结构由以下几个部分组成,逐一详细阐述:

  • 门控神经单元。门控神经单元(Gate Neural Unit,Gate NU)是EPNet和PPNet的基本单元,是一种门控结构,处理具有更多个性化语义的先验信息,并将其注入模型。
  • 嵌入个性化网络。EPNet将特定场景的个性化信息作为门控神经单元的输入,并对嵌入进行个性化选择,在多场景中为不同的用户使用不同的权重进行特征融合。
  • 参数个性化网络。PPNet使用用户、物品的个性化信息生成门控分,对深度神经网络的参数进行个性化修改,在多任务中为不同的用户平衡不同稀疏性的目标。

2.2.1 门控神经单元

受语音识别领域的LHUC算法的启发,PEPNet引入了一种被称为门控神经单元的门控机制,允许将个性化先验信息注入网络。LHUC专注于学习特定说话人对隐藏层的贡献,使用个性化贡献缩放模型隐藏层来提升不同说话人的语音识别准确性。然而,LHUC仅使用用户ID作为个性化标识符,忽略了其他丰富的个性化先验信息,例如用户的年龄、性别和其他画像信息。此外,在匹配用户和物品的推荐系统中,物品信息也至关重要,如物品的ID、类别和作者。众多研究表明,用户对不同物品表达出不同的个性化偏好。

因此,论文提出门控神经单元,处理具有更多个性化语义的先验信息,并将其注入模型。门控神经单元,后续用Ω\Omega表示,由两个神经网络层组成。将门控神经单元的输入表示为xx,并将第一层使用如下公式表示:

x=ReLU(xW+b)(2)x'=ReLU(xW+b)\tag{2}

其中WWbb是可学习的权重和偏置。激活函数选用ReLU函数。第一层用于各种先验信息的特征交叉。

然后,通过第二层定义门控得分的生成,如下所示:

δ=γSigmoid(xW+b),δ[0,γ](3)\delta=\gamma*Sigmoid(x'W'+b'),\delta\in[0,\gamma]\tag{3}

第一层的输出xx'作为到第二层的输入。WW'bb'是第二层中可训练的权重和偏置。使用Sigmoid函数生成门控得分向量δ\delta,从而限制输出的取值范围为[0,γ][0,\gamma]γ\gamma是缩放因子,设置为2。

从公式2和3可以看出,门控神经单元使用先验信息xx生成个性化门控得分δ\delta,自适应控制先验信息的重要性,并使用超参γ\gamma进一步缩放有效信号。接下来,论文详细阐述如何在EPNet和PPNet中使用门控神经单元,将重要的先验信息有选择地注入模型的关键位置。

2.2.2 嵌入个性化网络

在工业级推荐系统中,嵌入表是巨大的,特别是对于ID类特征。为了节省计算和内存成本,一般会共享底部的嵌入表,如下所示:

E=E(FS)E(FD)(4)E = E(\mathcal{F}_S)\oplus E(\mathcal{F}_D)\tag{4}

其中FS\mathcal{F}_S是稀疏特征,FD\mathcal{F}_D是稠密特征。作为通用输入,它们通过嵌入层E()E(*)转换为可学习的嵌入EE

各场景的训练样本共享嵌入层,在实践中存在若干缺点,比如它强调了共性但忽视了场景之间的差异。EPNet基于共享嵌入层,以低成本的方式(即少量模型参数和快速收敛速度)将特定场景的个性化先验信息注入嵌入。论文使用场景侧特征E(Fd)RkE(\mathcal{F}_d)\in\mathbb{R}^k作为EPNet的输入,包括场景ID和场景特定的个性化统计特征,如每个场景中用户行为和物品曝光的计数。

Ωep\Omega_{ep}是嵌入层中EPNet的门控神经单元,其输出δdomainRe\delta_{domain}\in\mathbb{R}^e 由下式给出:

δdomain=Ωep(E(Fd)((E)))(5)\delta_{domain}=\Omega_{ep}(E(\mathcal{F}_d)\oplus(\oslash(E)))\tag{5}

其中将通用嵌入EReE\in\mathbb{R}^e与EPNet的输入连接,但不使用梯度反向传播对通用嵌入进行更新,不使用梯度反向传播表示为()\oslash(*)。接下来,使用门控神经单元的输出对嵌入EE进行个性化转换而不改变原始嵌入层,在多场景中为不同的用户使用不同的权重进行特征对齐。转换后的嵌入是:

Oep=δdomainE(6)\Omicron_{ep}=\delta_{domain}\otimes E\tag{6}

其中OepRe\Omicron_{ep}\in\mathbb{R}^e\otimes表示逐个元素相乘。

2.2.3 参数个性化网络

现有的多任务推荐系统专注于使用复杂模块来建模多任务表征。在基于多任务表征拟合多任务Label时,它们均使用堆叠的多层神经网络。然而,多层神经网络的参数由所有用户共享。由于不同用户对各种行为的偏好不一致,缺乏个性化参数将使模型难以平衡多任务,不可避免地导致性能跷跷板。

为了解决这个问题,论文提出PPNet在多任务学习中修改深度神经网络的参数,构建针对每个用户兴趣量身定制的深度神经网络模型。论文使用用户、物品、作者侧特征(Fu\mathcal{F}_u/Fi\mathcal{F}_i/Fa\mathcal{F}_a)作为PPNet的个性化先验信息,例如用户ID、物品ID、作者ID(快手短视频的制作者)以及其他特征,包括用户年龄、性别,物品类别、流行度等。

具体来说,对于深度神经网络的某一层隐藏层,PPNet的详细结构如下:

Oprior=E(Fu)E(Fi)E(Fa)δtask=Ωpp(Oprior((Oep)))\begin{align} \Omicron_{prior}&=E(\mathcal{F}_u)\oplus E(\mathcal{F}_i)\oplus E(\mathcal{F}_a) \\ \delta_{task}&=\Omega_{pp}(\Omicron_{prior}\oplus(\oslash(\Omicron_{ep}))) \tag{7} \end{align}

论文将EPNet的输出Oep\Omicron_{ep}与个性化先验信息Oprior\Omicron_{prior}连接作为PPNet中的门控神经单元——Ωpp\Omega_{pp}的输入。为了不影响EPNet中的嵌入更新,论文在Oep\Omicron_{ep}上也执行停止梯度反向传播的操作\oslash。接下来,论文使用门控神经单元的输出δtask\delta_{task}对深度神经网络的隐藏层单元进行逐个元素的相乘,缩放深度神经网络每个隐藏层单元的贡献,如下所示:

Opp=δtaskH(8)\Omicron_{pp}=\delta_{task}\otimes H\tag{8}

其中H=[H1,...,HT]H=[H_1,...,H_T]HtRhH_t\in\mathbb{R}^h表示第tt个任务塔的隐藏层单元。δtaskR(hT)\delta_{task}\in\mathbb{R}^{(h*T)}在分割成TT个维度为hh的向量后应用于TT个任务的隐藏层单元。也就是说,分割后的Opp\Omicron_{pp}表示TT个任务的hh维的PPNet的输出。

接着,论文将PPNet应用到深度神经网络的每一层隐藏层,对深度神经网络的参数进行完全的个性化,在多任务中为不同的用户平衡不同稀疏性的目标,公式如下:

Opp(l)=δtask(l)H(l)H(l+1)=f(Opp(l)W(l)+b(l)),l{1,...,L}(9)\begin{align} \Omicron^{(l)}_{pp}&=\delta^{(l)}_{task}\otimes H^{(l)}\\ H^{(l+1)}&=f(\Omicron^{(l)}_{pp}W^{(l)}+b^{(l)}),l\in\{1,...,L\} \end{align} \tag{9}

其中,LL是任务塔深度神经网络的层数,ff是激活函数。对于前L1L-1层,激活函数使用Relu。最后一层,激活函数使用Sigmoid。在最后一层获得多场景多任务的预测分数后,采用二元交叉熵损失函数进行优化。

2.3 工程优化

为了在快手的大规模推荐场景中部署PEPNet,论文设计了以下工程优化策略:

  • 特征消除策略:在大规模推荐系统中,将每个特征映射到嵌入向量会迅速填满服务器的内存资源。为了避免耗尽存储嵌入的服务器内存,论文设计了一个无冲突且内存高效的全局共享嵌入表(GSET)。与传统缓存消除策略(如LFU和LRU)专注于最大化缓存命中率不同,GSET采用特征评分消除策略,防止低频特征进入和退出系统,这可能会对系统性能产生负面影响。通过有效管理嵌入向量,内存使用量可以保持在预定阈值以下,确保长期系统性能。
  • 在线同步策略:论文指在线学习中训练的最小单位为“轮次”。在每个轮次中,深度神经网络的更新参数完全在线同步。然而,由于用户和项目的数量庞大,完全同步嵌入是不可行的。新用户和物品不断出现,且旧用户和物品可能过期或变冷。在每个轮次中完全同步更新的嵌入会增加系统的冗余,带来额外的存储、计算和通信成本。为了解决这个问题,论文实施两种策略在每个轮次中只同步所需的嵌入。第一个策略是为每个特征设置数量限制,以防止任何单个特征的嵌入过度同步。第二个策略是为嵌入设置过期时间,只同步那些频繁更新的嵌入,而不同步那些未达到指定更新频率的嵌入。
  • 离线训练策略:在短视频场景中,嵌入的更新比深度神经网络的参数更频繁,特别是对于ID类特征。为了在在线学习的情况下更好地捕捉底层嵌入的变化并稳定更新顶层深度神经网络的参数,论文分别训练嵌入和深度神经网络的参数,并采用不同的更新策略。在嵌入层,论文使用AdaGrad优化器,学习率设置为0.05。而对于深度神经网络的参数,论文使用Adam优化器,学习率设置为0.000005。

3 实验

在本节中,论文进行了充分的实验来评估PEPNet,目的是回答以下问题。

  • RQ1:所提出方法与最先进的推荐系统相比表现如何?在多任务和多场景中的表现如何?
  • RQ2:所提出方法中的PPNet和EPNet能否分别解决多任务和多场景推荐中的双重跷跷板问题?
  • RQ3:所提出方法中不同组件和实现的效果如何?
  • RQ4:PEPNet在真实在线场景中的表现如何?

3.1 实验设置

3.1.1 数据集和指标

为了在遭受双重跷跷板问题的真实场景中评估PEPNet,论文从快手收集了一个具有丰富场景和任务的工业数据集。论文提取了从2022年9月11日至2022年9月22日共12天的日志的子集。考虑三个场景:双列视频、精选视频和单列视频,在实验中将上述场景标记为场景A、B和C。六种用户交互类型被转换为多任务中的二进制目标,即点赞、关注、转发、不喜欢、点击和有效观看。单列视频中的点击被定义为观看时长超过3秒,以模拟沉浸式视频流中不存在的点击行为。有效观看被定义为如果观看时长达到所有样本的50%或以上,则为1,否则为0。

论文使用前10天的数据作为训练集,第11天用于验证,最后一天用于测试。论文进一步过滤掉交互少于10次的用户和被少于10个用户交互过的物品。论文使用两个被广泛采用的准确性指标来评估模型,包括AUC和GAUC。数据集的统计数据汇总在下表中,包括基本信息、每个场景中每个任务的稀疏性,以及跨场景的用户和曝光物品的重合情况。尽管场景共享相同的物品池并包含许多重合用户,但可以看出物品曝光和用户行为在不同场景之间有所不同。这表明用户在多个场景中具有不同的行为意图。

场景双列视频(场景A)精选视频(场景B)单列视频(场景C)
基本信息用户76k110k88k
物品9,474k5,205k5,588k
样本48,037k68,348k78,197k
任务稀疏性点赞3.68%2.91%2.82%
关注0.48%0.33%0.35%
转发0.21%0.21%0.28%
不喜欢0.20%0.06%0.08%
点击14.66%58.38%57.33%
有效观看45.57%44.58%48.48%
用户重合场景A-63.64%6.82%
场景B92.11%-9.09%
场景C7.89%7.27%-
物品重合场景A-38.54%38.26%
场景B21.17%-40.46%
场景C22.57%43.43%-

3.1.2 基线和实现

为了证明PEPNet的有效性,论文将其与几种最先进的方法进行比较。基线分为三类:仅处理单场景上单任务的常规推荐算法、忽略多场景影响的多任务推荐算法,以及考虑全面的多任务和多场景推荐算法。

常规推荐算法:论文分别在每个场景中训练每个任务,以报告多任务和多场景的结果。

  • DeepFM,是一种被广泛使用的推荐算法,它用因子分解机替换了WDL的Wide部分。
  • DCN,用交叉网络替换DeepFM的因子分解机,以建模线性特征交叉。
  • xDeepFM,进一步将向量粒度的思想引入DCN的交叉部分,以有效学习特征交叉。
  • DCNv2,使用低秩DCN,在性能和延迟之间取得权衡,以实现SOTA。

多任务推荐算法:论文分别在每个场景中训练多个任务,以报告多任务和多场景的结果。

  • DCNv2-MT,将DCNv2扩展到多任务场景,它在不同任务之间共享主模型,并使用不同的深度神经网络生成偏好分数。
  • SharedBottom,是最常见的多任务模型,它共享底部深度神经网络的参数,并使用特定任务塔生成相应分数。
  • MMoE,在所有任务之间共享几个专家子模型和一个门控网络,隐式建模多任务之间的关系。
  • PLE,是最先进的方法,它为每个任务设置独立专家,并基于MMoE中的共享专家,考虑专家之间的交互。

多任务和多场景推荐算法:很少有工作专门致力于同时解决多任务和多场景推荐。论文提出一些变体来填补空白。

  • PLE-MD,将PLE扩展到多场景,它在不同场景之间共享输入嵌入层。
  • SharedTop,首先像PLE-MD一样共享输入嵌入层,并在不同场景之间共享顶部深度神经网络任务塔。
  • SpecificTop:与SharedTop不同,此模型对于同一任务,不同场景采用不同的任务塔,而底部嵌入层仍在域之间共享。
  • SpecificAll:与SpecificTop不同,此模型不仅对于同一任务,不同场景采用不同的任务塔,还采用特定的底部嵌入层。

3.1.3 超参设置

在离线实验中,论文基于TensorFlow实现所有模型。使用Adam进行优化,初始学习率为0.001。批次大小设置为1024,嵌入大小固定为40,适用于所有模型。使用Xavier初始化进行参数初始化。所有方法使用两层前馈神经网络,隐藏大小为[100,64][100,64]。EPNet和PPNet中使用的先验信息作为额外输入添加到所有基线的嵌入层中,以实现公平比较。论文应用grid-search来找到最佳超参数。MMoE、PLE及其变体中的专家数量在[4,6,8][4,6,8]中搜索。所有正则化系数在[0.0000001,0.00001,0.001][0.0000001,0.00001,0.001]中搜索。

3.2 整体性能(RQ1)

上表展示了三个场景中六个任务的实验结果。从结果中,有以下观察:

  • 论文提出的方法始终获得最佳性能。可以观察到,PEPNet在三个场景的所有六个任务指标上显著优于所有基线。具体而言,PEPNet在场景A上平均提高了约0.01的GAUC,在场景B上提高了0.02,在场景C上提高了0.02,p值小于0.05。对于三个场景上每个任务的平均性能,点赞增加了0.01,关注增加了0.02,转发增加了0.02,不喜欢增加了0.03,点击增加了0.002,有效观看增加了0.005。在更稀疏的场景和任务上改进更为明显,这证实了论文的方法可以更有效地平衡多任务和多场景推荐问题。它显著减少了跨场景和跨任务建模时稀疏场景和稀疏任务的难度。
  • 常规推荐算法无法平衡任务跷跷板。常规推荐算法在稠密场景(场景B)中的稠密任务(点击)上表现良好,但在稀疏场景(场景A)中的稀疏任务(转发)上表现不佳。简单地将常规推荐算法(DCNv2)扩展到多任务(DCNv2-ML)会导致某些任务(点赞)变得更好,而某些任务(不喜欢)变得更糟。这表明常规模型在面对多任务预估时面临跷跷板问题,导致跨任务的不平衡性能。相比之下,具有共享参数层和特定任务塔的SharedBottom在某些场景(场景C)上的所有指标上获得平衡的性能改进。它表明特别设计的多任务推荐算法可以缓解任务跷跷板现象。而模型共享部分和特定部分的设计越复杂(MMoE和PLE),性能改进越明显。但它们在稀疏场景(场景A)上仍然表现不佳。
  • 多任务推荐算法无法平衡场景跷跷板。即使是最强大的多任务推荐器(PLE),当扩展到多场景(PLE-MD)时,仍然出现某些场景(场景A)变得更好而某些场景(场景C)变得更糟的情况,即场景跷跷板现象。原因是顶层Label空间和底层嵌入空间存在不一致。多任务方法分场景建模的局限性在于它们无法同时考虑跨场景和跨任务的信息。基于SharedBottom构建的多任务和多场景变体SharedTop,早期在多任务学习中的努力,可以在一定程度上缓解双重跷跷板现象。随着任务塔对场景的特定化,SpecificTop仅在某些场景(场景A)中带来更好的结果,但同时将参数数量增加了几倍。而SpecificAll进一步划分了底层嵌入空间,这忽略了场景之间的共享知识并恶化了推荐效果。论文的方法基于共享底部嵌入层和共享顶部任务塔,并插入门控网络,以捕捉用户跨场景和跨任务的个性化偏差,用少量参数实现最佳性能。

3.3 消融研究(RQ2)

图4 消融研究结果

为了进一步验证PEPNet模型中提出的子模块的有效性,论文比较了没有PPNet模块、没有EPNet模块、没有两个模块以及完整模型的离线性能,如图4(a)所示。此外,论文研究了PEPNet作为一种即插即用模块在多任务和多场景推荐问题之外的其他场景中的泛化能力。具体而言,论文比较了图4(b)中多任务和单场景推荐中PPNet的效果,图4(c)中单任务和多场景推荐中EPNet的效果,以及图4(d)中向单任务和单场景模型添加PPNet的效果。

图4(a)、(b)和(c)中的结果显示了通过EPNet和PPNet捕捉跨场景和跨任务信息的有效性。EPNet的嵌入个性化和PPNet的参数个性化可以分别带来进一步的性能改进。在图4(d)中,向单任务和单场景模型添加纯参数个性化也可以为常规推荐问题带来好处,这也说明了建模推荐中个性化偏差的重要性。

3.4 超参研究(RQ3)

图5 超参研究结果

为了研究所提出模型中不同设置和实现的影响,论文进行了超参数实验。首先,论文在图5(a)中比较了EPNet在每个输入特征的不同嵌入大小下的性能,以及图5(b)中与PPNet耦合的深度神经网络层数的效果。其次,论文在图5(c)中评估了门控神经单元不同缩放因子下的推荐性能。最后,论文在图5(d)中比较了移除通用输入、添加通用输入但移除反向传播(BP)以及添加通用输入和反向传播对性能的影响。

从结果中,可以观察到EPNet在不同维度的嵌入下表现稳健,甚至在小维度(16)下仍能保持出色的性能。随着深度神经网络层数的增加,PPNet的性能变得更好,但在一定层数之后,过深的神经网络会导致过拟合。门控神经单元的缩放因子在值为2时表现最佳,因为其输出范围是(0,2)(0,2),中心在1,可以更好地平衡缩放效果。在EPNet和PPNet中添加通用输入但移除反向传播比其他设置更好,这表明这种做法可以更好地利用输入信息和建模用户个性化,而不影响骨干网络。

3.5 在线AB测试(RQ4)

为了评估PEPNet的在线性能,论文进行了严格的在线A/B测试。上表显示了三个代表性场景的改进:双列视频、精选视频和单列视频。与电商场景中的CTR和GMV不同,短视频场景关注以下指标:点赞、关注、转发和观看时长。观看时长衡量每个用户的平均观看时间。可以看到,与之前的SOTA方法相比,所有指标都有显著改进。PEPNet已部署在快手的在线服务中,每天为超过3亿用户提供服务。