美团餐饮系统总结(共4篇)

山崖发表网工作总结2024-02-10 18:03:2228

美团餐饮系统总结 第1篇

多场景多任务建模是目前推荐系统中最关键和最具挑战性的问题之一。以往的模型主要通过将所有信息投影到同一个特征空间来优化不同场景下的多个任务,这导致模型性能存在不足。

在本文中,我们提出了层次化信息抽取网络HiNet模型,它利用分层优化架构对多场景多任务问题进行建模。在此基础上,我们在场景抽取层设计了场景感知注意力网络模块SAN来增强场景的表示学习能力。离线和在线A/B测试实验都验证了HiNet模型的优越性。

值得一提的是,目前业界已经出现了大量的图神经网络在推荐模型上的应用。受此启发,在未来的工作中,美团到餐算法团队将图神经网络的信息传递能力结合到多场景多任务学习建模的方案中,继续实践我们的方法,并进一步设计更加完善的模型,来解决在美团到餐平台中存在的复杂的多场景多任务建模问题。

美团餐饮系统总结 第2篇

随着网络信息和服务的爆炸式增长,推荐系统已经成为为用户提供高质量个性化决策建议和体验的关键组件。传统的推荐系统,模型服务通常需要为特定场景单独进行定制化的开发,以适配不同场景下数据分布和特征空间的差异。然而在美团等工业互联网平台中通常存在多种多样的推荐场景(例如首页信息流、垂类子频道等)作用于用户访问的决策链路,同时基于每个场景的个性化推荐模型再对展示项目进行排序最终呈现给用户。

但随着推荐场景数量的增加,传统地针对单个场景独立开发推荐模型,往往会导致如下问题:

总的来讲,推荐算法对各场景单独建模存在诸多的局限性。然而,简单地将多个场景数据集进行合并训练一个排序模型来提供服务,并不能有效地捕获到每个场景的特有信息。

在最近的一些研究中,相关方法往往是将多场景推荐做为一个多任务学习(Multi-Task Learning,MTL)问题进行建模,并且此类方法大多使用多门控混合专家(Multi-gate Mixture-of-Experts,MMoE)网络框架作为模型改进的基础来学习场景之间的共性和特性。然而,这种基于MTL的方法往往将多个场景的数据信息投影到同一个特征空间进行优化,这很难充分捕捉到具有多个任务的众多场景之间的复杂关系,因此也无法进一步提升多场景多任务学习模型的性能。

从直觉来看,多场景和多任务的信息建模应属于不同层次的优化,应该进行分层处理。因此,在本文中,我们提出了一种层次化信息抽取网络(Hierarchical information extraction Network,HiNet)。具体来说,我们设计了一个端到端的两层信息抽取框架,来共同建模场景间和任务间的信息共享和协作。

首先,在场景抽取层(Scenario Extraction Layer),HiNet能够通过单独的专家模块提取场景共享信息和场景特有信息。为了进一步加强对当前场景的表示学习,我们设计了场景感知注意力网络(Scenario-aware Attentive Network,SAN),显式学习其他场景对当前场景的信息表征贡献程度。

然后,在任务抽取层(Task Extraction Layer),利用自定义的由任务共享和任务特有专家网络组成的门控网络,有效地缓解了多任务学习_享信息和任务特有信息之间的参数干扰。

通过在模型结构上分离场景层和任务层的信息提取,可以将不同场景下的多个任务明确划分到不同的特征空间中进行优化,从而有利于提升模型性能。

整个论文的主要创新点如下:

美团餐饮系统总结 第3篇

多任务学习模型

多场景学习模型

需要指出的是,上述用于对比的模型最初只是为了单纯解决多任务学习或多场景学习的问题而提出的。为了实现公平的实验比较,我们在实验中对相关对比模型做了自适应扩展,以满足多场景多任务建模的需求。

表2展示的是我们在美团到餐平台中六个场景下的各个模型的性能对比。从结果可以看出,我们提出的HiNet模型在所有场景的CTR和CTCVR任务指标上都优于其他对比模型,这证明了HiNet在多场景多任务建模的优势。

为了研究HiNet模型中每个关键组件的效果,我们设计了两个HiNet模型的变体用于消融分析。具体如下:

从表3的实验结果,我们可以观察到,变体模型HiNet(w/o hierarchy)在所有指标上都有严重的性能下降,这表明分层信息抽取架构可以有效地捕获跨场景的共性和差异,从而提高模型的性能。类似地,在场景抽取层去掉SAN模块后,变体模型HiNet(w/o SAN)在多个场景下性能也有明显的下降,这表明SAN模块学习到的权重信息可以有效地增强场景抽取层的信息表征能力。

为了进一步验证我们提出的HiNet模型的在线性能,我们在美团到餐平台中的场景a和b中部署了HiNet模型,并与基线模型进行了为期一个月的在线A/B测试。

从表4可以看出,HiNet模型在多个场景的CTR和CTCVR指标中均超过了基线模型,并且在订单增益上有显著的提升,这进一步说明了我们提出的HiNet模型的有效性。目前,HiNet模型已经全面部署在上述两个业务中,并为业务的增长做出了一定的贡献。

美团餐饮系统总结 第4篇

如上所述,我们主要关注的是多场景多任务推荐的优化问题。我们将该问题定义为:\hat{y}_i^j=f_i^j\left(x, s_i\right),其中s_i表示第i个场景指示,\hat{y}_i^j是第i个场景下任务j的预估值,x表示输入的稠密特征。

原始的特征输入中主要包括了用户画像特征、用户行为特征、当前场景特有特征和商品特征,其中的数值特征首先被转化为分类特征,然后将所有分类特征映射到低维向量空间来获得x。考虑到美团到餐平台中具体的优化目标,我们分别为每个场景设置了CTR和CTCVR两个任务。

本小节将展开介绍层次化信息抽取网络模型HiNet。如下图2-(A)所示,HiNet模型中主要包括场景抽取层和任务抽取层两个核心模块。其中在场景抽取层主要包括了场景共享专家(Scenario-shared expert)模块、当前场景特有专家(Scenario-specific expert)模块以及场景感知注意力网络,通过这三部分的信息抽取,最终形成了场景层次的信息表征;而在任务抽取层中,我们使用自定义门控网络模块CGC(Customized Gate Control)来对当前场景的多任务学习进行建模。下文将详细介绍上述提到的HiNet模型的关键部分。

场景抽取层的作用是提取场景特有的信息表征和场景间共享的有价值信息表征,这是提高任务层次信息表征能力的基础。在场景抽取层,主要包括场景共享专家网络、场景特有专家网络和场景感知注意力网络三部分,下文将依次进行介绍。

考虑到用户跨场景的穿插式行为以及多个场景间商品重叠的现象,到餐业务中多个场景的数据之间存在着有价值的共享信息。因此在策略上,我们设计了场景共享专家网络。这里受到混合专家网络架构MoE(Mixture of Expert)的影响,场景共享专家网络是通过使用子专家集成模块SEI(Sub-Expert Integration module,如图2-(C))生成的。

具体来说,场景共享专家网络的最终输出为G,其公式为:

G = \sum_{k=1} ^{K_{s}} g_{sh}^{k}(x) Q^k_{sh}(x) \\

其中,Q^k_{sh}表示第k个子专家网络,该网络是由多层感知器(Multilayer perceptron,MLP)和激活函数组成,K_{s}表示子专家网络Q_{sh}(\cdot)的数量,g_{sh}(x)表示门控网络的输出,它是通过带有Softmax激活函数的简单线性变换得到:

g_{sh}(x) = softmax(W_{sh}x) \\

除了使用场景共享专家网络提取不同场景间的共享信息,我们还为每个场景分别设计了场景特有专家网络来学习场景特有的信息,该网络也是由SEI模块组成。具体地,第i个场景的场景特有专家网络的输出S_{i}表示如下:

S_{i} = \sum_{k=1} ^{K_{i}} g_{sp}^{k}(x) Q_{sp}^{k}(x) \\

其中Q_{sp}^{k}表示第k个子专家网络,K_{i}是Q_{sp}( \cdot)的数量,g_{sp}(x)表示场景特有专家网络所对应的门控网络的输出。

如上文所述,不同场景之间存在一定程度的相关性,因此来自其他场景的信息也可以对当前场景的信息表征做出贡献,从而增强当前场景的信息表达能力。考虑到不同场景间对彼此的表征能力贡献不同,我们设计了场景感知注意力网络(Scenario-aware Attentive Network,SAN)来衡量其他场景信息对当前场景信息表征贡献的重要性。具体来说,SAN包含两部分输入:

a. 场景指示s_i生成的嵌入向量Emb(s_i),该向量通过带有Softmax函数的门控网络后可以计算出其他场景对当前场景信息表征的重要性权重。 b. S=\left[S_1,\cdots,S_{i-1},S_{i+1},\cdots, S_M\right],S对应了一系列其他场景生成的信息表示。

通过SAN模块计算的第i个场景的输出A_i是场景表示S的加权和:

A_i = \sum_{m\neq{i}}^{M} g_{a}^{i}(s_i) S_{m} \\g_{a}^{i}(s_i) = softmax(W_{a}^{i} Emb(s_i)) \\

其中Emb(\cdot)表示场景指示投影为嵌入向量,g_{a}^{i}(\cdot)表示基于权重W_{a}^{i} \in R^{(M-1) \times d} 的门控网络,d表示Emb(\cdot)的维数,M是场景的个数。

通过SAN模块可以根据复杂的场景相关性不同程度地传递跨场景信息,有效地增强了场景的表示学习,从而提高了HiNet模型的性能。

综上所述,场景抽取层的整体输出C_{i}可以表示为:

C_{i} = Concat\left[ G, S_i, A_i\right] \\

为了解决多任务学习中的负迁移问题,在任务抽取层,我们受到PLE(Progressive Layered Extraction)模型的启发,采用了自定义门控网络CGC模块。

自定义门控网络

自定义门控网络主要由两部分组成:任务共享专家网络和任务特有专家网络。前者主要负责学习当前场景中所有任务中的共享信息,后者用于提取当前场景中各个任务的特有信息。

类似地,该结构通过门控网络计算所有专家网络的加权和作为输出。此外,为了避免不同场景之间的任务互相干扰,场景抽取层中第i个场景的输出C_{i}将被输入到特定场景的CGC模块中。最终,第i场景中任务j的塔单元输入{T}_{i}^{j}如下:

{T}_{i}^{j} = \delta_{i}^{j}(C_{i}) \left[ E_{th}^{i}(C_{i}) || E_{tp}^{ij}(C_{i}) \right] \\

其中,E_{th}^{i}(C_{i})和E_{tp}^{ij}(C_{i})分别表示在第i个场景中任务共享专家网络和任务j的特有专家网络的集合。\delta_{i}^{j}(C_{i})是一个门控网络,通过线性变换层和Softmax层来计算第i场景的任务j的权重向量:

\delta_{i}^{j}(C_{i}) = softmax(W_{i}^{j}C_{i}) \\

其中,W_{i}^{j} \in R^{(m_i+n_i^j) \times {d}^{'}}是参数矩阵,m_i和n_i^j分别是E_{th}^{i}(C_{i})和E_{tp}^{ij}(C_{i})的维度,{d}^{'}是C_{i} 的维数。

最后,在第i个场景下任务j的预测值可表示为:

\hat{y}_{i}^{j} = \tau_i^j({T}_{i}^{j}) \\

其中,\tau_i^j(\cdot)表示第i个场景下任务j的塔单元,由具有激活函数的MLP组成。

我们提出的HiNet的最终损失函数是:

Loss=\sum_{i=1}^{M}\sum_{j=1}^{N_i}\lambda_{i}^{j}\cdot Loss_{i}^{j}(y_{i}^{j},\ \hat{y}_{i}^{j}) \\

其中,N_i表示第个i场景下的任务数,\lambda_{i}^{j}是控制不同损失比例的超参数。

显示全文

注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意

点击下载文档

文档为doc格式

发表评论

评论列表(7人评论 , 39人围观)

点击下载
本文文档