官方服务微信:dat818 购买与出租对接

继分享精排模型建模路线,聊聊多任务多场景的共享派与拆塔派

3万

主题

2

回帖

10万

积分

管理员

积分
103879
发表于 昨天 19:32 | 显示全部楼层 |阅读模式
    在探讨近期备受关注的精排模型构建方法中,关于“多任务多场景”的问题,大致形成了两大阵营。一方面是主张共享资源的共享派,其模型较为轻便,但面临如何有效解决多任务间的平衡问题以及提升模型表达能力等挑战;另一方面则是倾向于拆分模型的拆塔派,虽然参数量较大,具备较强的表达能力,但同时也对样本分布和训练策略提出了更高的要求。

    今日为大家推荐一篇关于共享派的文章,该文摘自快手在2023年发表的一篇关于多任务多场景建模的最新研究,“Prior for and with”,可视为PPNet的更新版本。该研究通过动态权重的策略来构建个性化网络,旨在解决多任务多场景中出现的平衡难题。

    多场景&多任务问题形如:

    因此,在多任务多场景的问题中,存在一种类似双面平衡的现象,作者将其命名为某种特定名称。针对这一现象,作者提出了一个名为“千人千模”的模型来应对,该模型通过提升模型的个性化程度,以更好地捕捉用户在不同情境下的偏好。实际上,多任务多场景问题在本质上可以看作是用户在不同情境下与物品进行交互的典型例子。借助更精确的定制化模型,我们可以更好地迎合用户在不同情境下的兴趣与需求,从而有效减轻这种波动效应。

    然而,若仅将个性化的先前知识直接纳入模型的基础输入,随着深层神经网络结构的深入,这种信息实际上会逐步减弱。因此,探究如何以恰当的方式将个性化先验信息融入模型中适宜的环节,实为一种值得深入研究的问题。这便是本文研究的出发点与核心动机。

    因此本文的主要贡献如下:

    TL;DR的完整名称为and,代表参数与表征个性化网络。其核心思想是将个性化的先验信息作为门控网络的输入,并通过两个模块来提升个性化效果。

    其核心在于运用gate技术,旨在通过增强先验特征来提升表征或参数的个性化程度,进而实现千差万别的个性化模型,以此目的在于实现多种场景和任务下的统一建模。

    在这些特征中,属于用户方面的特性;属于物品方面的特性;还包括其他的一些上下文信息或组合特性。这些样本代表了具体的场景;经过分桶处理并在过层后得到的初始表征;拼接操作则是对这些表征的处理方式。

    在快手平台中,各类场景下的推荐候选列表并无差异,导致用户群体有所交集。即便针对同一推荐项,用户在不同场景中的互动模式与趋势亦呈现出显著差异。故而,问题转化为需同步预测用户在多样化场景和目标导向下对推荐项的偏好程度。

    图中整体网络结构清晰可见,其底部中央位置为常规的user、item以及表征层;此外,还包含三个独具特色的模块。

    Gate NU

    借鉴了语音识别领域中LHUC[2]模型的创新,我们提出了一个名为Gate NU的定制化门控单元,该单元由两层网络结构组成。

    具体的:

    输入向量与输出向量维度一致,均用于评估在特定情境下(由输入信息确定)各维度对于输入向量重要性程度的衡量。其取值区间被设定,以增强该信号,例如快手平台采用的数值为2。随后,我们将阐述如何在EPNET和PPNET中应用这一门控机制。

    EPNet

    这部分内容主要阐述了在多场景建模过程中,如何构建输入端特征以及如何进行基础表征的方法。其目的是为了获得针对特定场景的定制化输入表征。

    总体来看,对于输入层而言,各个场景将共同使用一套基础的表征(输入)。具体来说,即:

    SF与DF代表稀疏特征和稠密特征。除了它们共有的特征之外,还包含针对特定场景的偏差特征,例如场景的唯一标识符或某些场景的统计属性,这些特征可以表示为:。

   


    对于场景的某个特定的样本,特征有2部分,

    首先,对第二部分场景进行特征提取,随后利用Gate NU技术对所提取的特征进行加权处理,进而得到该场景下的特征权重。

    其中,维数为d,和第一部分常规特征的表征向量是对齐的。

    再用该表征权重-wise乘到常规特征表征向量上:

    此处指的是针对特定场景的个性化特征表示。从这个角度来看,该权重向量的维度与向量本身的维度保持一致,从而确保了每个特征值的权重各不相同,进而实现了在特定场景中的个性化输入特征表示。

    PPNet

    基于前述的输入特征,常规的多任务处理方法将作为各个任务塔的输入,以实现对各个任务的预测。PPNet作为一款个性化参数网络,会对任务塔的参数进行针对性的调整。因此,我们的目标是获取针对特定任务的个性化网络参数。具体如图中红框所示部分。

    PPNet的输入位于底部,该研究采用了user/item/-side(即uf/if/af)作为PPNet的输入参数,这涵盖了诸如user年龄、item标签的流行度等各自的side信息。因此,先验的输入结构便由这些要素组成。

    除了预先输入的数据,还会引入先前计算出的针对该任务定制的特征向量,随后通过一个Gate NU模块进行处理,从而获得该任务特有的权重。

    输出的代表某个特定任务的个性化网络参数权重,也是个向量。

    特别地,stop操作代表,旨在避免PPNet在更新过程中对EPNet输入向量造成干扰,也就是说,在PPNet进行梯度更新时,其影响仅限于自身的Gate NU参数和DNN Tower参数。

    在传统的工作模式中,多任务塔的深度神经网络参数是多个任务共用的。然而,由于各个任务在数据稀疏性上存在差异,这会导致任务间出现不平衡现象。以关注和点赞这两个任务为例,关注的任务中正样本数量较少,因此在训练过程中,两个任务的梯度更新量并不相等。这种情况下,关注任务的部分梯度信号可能会被点赞任务的梯度信号所掩盖。

    文中存在一个疑问,即在DNN Tower 1至DNN Tower x的图中,Layer 1是否实现了任务间的共享?同理,Layer 2至Layer x也是如此。根据实验部分的描述,此处应当是共享的设置,这样才能充分展现PPNet在解决跨任务跷跷板问题上的优势。

    PPNet会对多任务深度神经网络中的参数实施基于样本粒度的定制化调整,以此挑选并强化用户针对特定任务的个性化参数信号。实际上,这种做法相当于在网络中融入了用户在特定场景下某一类交互行为的倾向性预设,从而有效减轻了跷跷板效应。

    在经过某个深度神经网络(DNN)的处理后,我们得到了一个向量,这向量正是下一层DNN网络的输入数据。观察可知,DNN网络的层数与Gate NU的数量是相等的。

    这是一种激活机制,前几层网络采用了ReLU函数,而最后一层也采用了相同的激活函数。在模型优化阶段,我们采用了交叉熵作为损失函数。

    最终,我们应当审视输出层,并深入思考针对特定样本,整个网络或流程呈现出的模式究竟如何。

    观察可见,首个簇别对应的是Label 1,这表明了在各类不同场景中,执行着相同任务的实例被汇集在一起,而在同一簇内部,则进一步细分以识别具体属于哪个场景;至于第X簇,它标识的是第X项任务。

    一旦接收到某个样本,便可以明确其特定的交互类别以及所属的场景类型,进而推断出相应的任务和情境。以某条位于首页的feed内容上的点赞样本为例,网络处理过程便可以据此进行。

    这篇文章实验部分主要要回答的问题:

    实验设定

    作者指出,由于目前缺乏适用于多种任务和不同场景的公共数据集,因此他们采用了快手平台自有的数据集进行评估。接下来,我们可以探讨快手平台中的推荐场景及其所涉及的多任务类型。

    样本量分布情况如下:在首页推荐中,样本量(C)大于精选视频(B),而发现页(A)的样本量则更少;至于各个任务的稀疏度,我们可以观察到:有效观看的定义中,稀疏性达到了50%,这意味着正样本的比例最高,紧随其后的是点击(关于点击的定义如何?),然后是点赞(占比低于5%)、关注(占比低于1%)、转发(占比低于0.5%)、讨厌(占比低于0.3%)等。

    对比实验

    3类对比,

   


    整体上,表现是最好的。超参设定上:

    分析:

    消融实验

    在现实应用中,各类业务场景各自拥有独特的样本,却都追求着统一的目标。然而,如何整合来自不同业务领域的数据,以及如何区分这些业务各自不同的目标,目前尚无高效的方法可言。例如,我们通常会尝试以下做法:

    综上所述,前述种种努力均未取得成效,这恰恰构成了本文研究的出发点。为此,作者对所提出的PPNet和EPNet的消融效果进行了评估,并探究了将它们融入传统模型后,能为传统模型带来怎样的提升。

    如图中所示,(a)、(b)、(c)为消融实验,若未采用PPNet/EPNet,其效果将显著下降。而(d)展示了在传统单场景单任务模型中融入PPNet后的效果,显著提升了性能,这充分说明了通过增强参数的个性化设置,对增强模型的表达能力具有重要意义。

    参数实验

    研究EPNet对输入特征维度dim的适应性,我们发现其鲁棒性相当出色;即便在维度仅为16的情况下,表现依旧令人满意;而且整体性能会随着维度dim的增加而显著提升。

    在探究DNN层对PPNet性能的影响时,最初发现随着DNN层数的增加,效果呈现出逐渐提升的趋势;然而,当层数达到某个临界点后,性能反而开始下降;经过分析,发现最理想的层数为4层。

    (c) 考察的系数,2的时候最理想。

    对PPNet的输入方式进行了探讨,关于是否需要附带input以及是否需要stop,经过分析得出,input作为输入是必要的,而stop在必要时使用则更为理想。

    A/B测试

    快手及其极速版中部署了超过十个不同场景。与电商场景不同,短视频领域更重视用户的互动数据,例如点赞、关注、分享、平均观看时间以及整个APP的使用时长等指标。观察这些数据,可以发现它们均有显著提升。

    作者在文中对多任务多场景问题中的双跷跷板现象进行了深入研究,并针对跨场景和跨任务的异构建模难题,提出了采用参数和表征个性化网络的方法。这一方法的核心在于强化个性化处理,旨在满足不同场景下用户多样化的需求,从而实现个性化的模型构建,以减轻跷跷板效应。

    这表明其属于共享派别,故而该模型在参数数量上较为精简;它通过个性化特征表示和参数网络动态挑选关键参数,以此提升模型的表达力,具有一定的参考价值。此外,不仅模型架构值得借鉴,其在训练策略、部署手段以及多任务建模方法等方面,也都值得深入研究和学习。

    文章表述清晰,易于理解,其实际效果还需通过实际应用来验证。当然,若文章中对深度神经网络(DNN)、门控神经网络(Gate NU)以及预测头部是否共享等方面的阐述能更加明确,那就更加理想了。

    下一期内容将涉及百度在多任务和多场景下的文章分享,其采用的方法是拆分塔式结构结合训练策略,同时对于样本的分布也设定了独特的标准。

    在“Prior”的指导下,严格禁止使用“and”、“for”以及“with”。

    Pawel、金宇李和Steve于2016年发表了一篇关于模型单元的研究论文。该论文发表于IEEE/ACM主办的音频会议,并在2016年第24卷第8期中,占据了1450至1463页的位置。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre data-tool="mdnice编辑器" style="margin-top: 0em;outline: 0px;max-width: 100%;font-size: 16px;text-align: left;letter-spacing: 0.544px;word-spacing: 1px;background-color: rgb(255, 255, 255);color: rgb(105, 105, 105);widows: 1;caret-color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><pre data-tool="mdnice编辑器" style="margin-top: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">
想要加入技术交流群,请扫描并添加AINLP小助手的微信,其微信号为ainlp2。<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />

</pre></p>
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre data-tool="mdnice编辑器" style="margin-top: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 15px;outline: 0px;max-width: 100%;white-space: normal;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;color: rgb(62, 62, 62);letter-spacing: 1px;text-align: center;caret-color: rgb(51, 51, 51);line-height: 1.5em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">请备注<span style="outline: 0px;max-width: 100%;color: rgb(255, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;">具体方向+所用到的相关技术点</span></span></span></section><section style="margin-top: 15px;margin-bottom: 15px;outline: 0px;max-width: 100%;white-space: normal;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;color: rgb(62, 62, 62);letter-spacing: 1px;text-align: center;caret-color: rgb(51, 51, 51);line-height: 1.5em;box-sizing: border-box !important;overflow-wrap: break-word !important;"></section><span style="outline: 0px;max-width: 100%;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(0, 128, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">关于AINLP</span></span>
    <span style="outline: 0px;max-width: 100%;font-size: 14px;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;box-sizing: border-box !important;overflow-wrap: break-word !important;">AINLP,一个充满趣味且专注于人工智能与自然语言处理的社区,致力于分享AI、NLP、机器学习、深度学习以及推荐算法等相关技术。在这里,你可以了解到文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息以及求职经验等多个领域的最新动态。诚挚邀请您的关注!想要加入技术交流群,请扫描微信二维码,联系AINLP小助手(id:ainlp2),并在留言时注明您的工作或研究方向以及加入群组的意图。</span>
    <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />
    <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />
    <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />
    <span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读至此了,分享、点赞、在看三选一吧</span>

</pre></p>
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-5-12 12:58 , Processed in 0.080629 second(s), 17 queries .