一、 STAR [2021]

《One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction》

  1. 传统的工业推荐系统通常使用单个 domain 的数据来训练模型,然后为该 domain 提供服务。然而,大型商业平台往往包含多个 domains,其推荐系统通常需要对多个 domains 进行点击率(click-through rate: CTR)预测。一般来说,不同 domains 可能共享部分 common user groups and items,且每个 domain 可能拥有自己 unique user groups and items。此外,即便是同一用户在不同 domains 也可能表现出不同的行为。为了充分利用来自不同 domains 的所有数据,可以训练一个单一模型来服务所有 domains 。但单一模型难以捕获各个 domains 的特性,难以很好地服务所有 domains 。另一方面,为每个 domain 单独训练一个模型则无法充分利用所有 domains 的数据。

    在本文中,我们提出了星形拓扑自适应推荐器(Star Topology Adaptive Recommender: STAR)模型:

    • 同时利用所有 domains 的数据。

    • 捕获每个 domain 的特性并建模不同 domains 之间的共性。

    • 训练一个单一模型来服务所有 domains

    本质上,每个 domain 的网络由两个 factorized networks 组成:

    • 一个是所有 domains 共享的中心网络(centered network)。

    • 另一个是为每个 domain 量身定制的 domain-specific network

    对于每个 domain ,我们将这两个 factorized networks 组合起来,通过对 shared networkdomain-specific network 的权重进行逐元素相乘(element-wise multiplying),生成一个统一的网络(unified network )。不过,这两个factorized networks也可以通过其他函数进行组合,这一点有待进一步研究。最重要的是,STAR 能够从所有数据中学习 shared network ,并根据每个 domain 的特性自适应地调整 domain-specific parameters 。来自生产数据的实验结果验证了所提出的 STAR 模型的优越性。自 2020 年末以来,STAR 已部署在 Alibaba 的展示广告系统中,点击率提升了 8.0%,每千次展示收入(RPM)增长了 6.0%

  2. 传统的 CTR prediction 模型侧重于 single-domain prediction,即 CTR 模型使用从某个 business domain 收集的样本来训练后,为该 domain 提供服务。每个 business domain 是指在 mobile app 或电脑端网站中向用户展示 items 的特定位置(specific spot)。

    AlibabaAmazon 等大型商业公司中,通常有许多 business domains 需要进行 CTR prediction,以提高用户满意度(user satisfaction)和业务收入(business revenue)。例如,在 Alibababusiness domains 包括 Taobao App 首页的 “猜你喜欢”(Guess What You Like )、Taobao App 首页的横幅广告(Banner )以及其他 domainsFigure 1 展示了 Alibaba 的两个代表性的 business domains

    • Banner:在 banner ,待推荐的 items 出现在 Taobao 首页的 top banner 位置。item 可以是单个商品(commodity)、一个店铺(store)或一个品牌(brand)。

    • Guess What You Like:在 Guess What You Like ,所有 items 均为单个商品,以左右列的形式(left or right column)展示给用户。

    由于不同 business domains 存在重叠的 user groups and items,这些 domains 之间存在共性。实现 information sharing 有助于每个 domainCTR 模型的学习。然而,不同 domainsspecific user group 可能不同,用户行为也会发生变化。这些差异导致了 domain-specific 的数据分布。简单地混合所有数据并训练一个单一的 shared CTR model 无法在所有 domains 都表现良好如( Figure 2(a) 所示)。

    除了混合数据并训练一个 shared model 外,另一种简单的解决方案是为每个 business domain 构建一个独立的模型(如 Figure 2(b) 所示)。这种策略也存在一些缺点:

    • (1):某些 business domains 的数据量远少于其他 domainssplitting 数据会忽略领域共性(domain commonalities),导致 training data 大幅减少,使得模型难以学习。

    • (2):维护多个模型会消耗大量资源,并且需要更多的人力成本。当 business domains 数量达到数百个时,这将带来过重的负担。

    本文旨在学习一种高效的 CTR model,以同时处理多个 domains。我们将 multi-domain CTR prediction 表述为:recommender 需要同时为 Mbusiness domains D1,D2,,DM 进行 CTR prediction 的问题。模型的输入为 (x,y,p),其中:

    • x 是多个 business domains 使用的 common feature,如历史用户行为(historical user behavior)、用户画像特征(user profile feature)、item featurecontext feature

    • y{0,1}clicked label

    • pdomain indicator ,用于指示该样本来自哪个 domain

    需要注意的是, (x,y) 来自 domain-specific 分布 Dp,且分布会随不同 domains 而变化。multi-domain CTR prediction 的目标是:构建一个高效且有效的模型,能够为每个 domain 提供准确的 CTR prediction,同时在资源消耗方面成本极低。为实现这一目标,模型应充分利用领域共性(domain commonalities)并捕获领域差异(domain distinction)。

    一种可能的利用多个 domains 来改进 learning 的策略是多任务学习(multi-task learning)。如 Figure 3 所示, multi-domain CTR prediction 与多任务学习的区别在于:

    • multi-domain CTR prediction 在不同 domains 解决相同的任务(即 CTR prediction),不同 domainslabel spaces 相同,但数据分布不同。

    • 而大多数 multi-task learning 方法在同一 domain 处理不同的任务,label space 可能不同,例如联合估计 CTR 和转化率(conversion rate: CVR)。由于任务的异质性,现有的多任务学习方法侧重于在 bottom layers 共享信息,而保留独立的task-specific output layers《An Overview of Multi-Task Learning in Deep Neural Networks》)。将多任务学习方法直接应用于 multi-domain CTR prediction 无法充分利用 label space 中的 domain relationship ,且忽略了不同 domains 的独特的数据分布。

    为了充分利用 domain relationship ,我们提出了 Star Topology Adaptive Recommender: STAR 用于 multi-domain CTR prediction。所提出的 STAR 模型具有星形拓扑结构(star topology),如 Figure 4 所示。STARshared centered parametersmultiple sets of domain-specific parameters 组成。每个 domainfinal model 通过组合 shared centered parametersdomain-specific parameters 得到。

    • centered parameters 用于学习所有 domains 的通用行为(general behaviors),其中的共性知识(common knowledge)可以在所有 domains 之间学习和迁移。

    • domain-specific parameters 捕获不同 domains 的特定行为,以促进更精细的 CTR prediction

    星形拓扑结构有助于在多个 domains 之间进行有效的信息传递,从而学习 domain 共性(commonalities)和差异(distinctions)。本文通过每层权重的逐元素相乘作为组合策略(combination strategy)来实现 STAR 模型。由于 embedding layers 在工业推荐系统中占据大部分参数,新增的 domain-specific parameters 相对于总参数数量而言可以忽略不计。因此,使用 STAR 模型服务多个 domains 仅会增加少量计算和内存成本,同时带来更好的性能。

    本文的主要贡献如下:

    • 提出了 Star Topology Adaptive Recommender: STAR 来解决 multi-domain CTR prediction 问题。星形拓扑结构有助于在多个 domains 之间进行有效的信息传递,从而学习领域共性(domain commonalities)并捕获领域差异(domain distinction)。

    • 不同 domains 具有不同的数据分布,这导致使用 Batch Normalization 时统计结果不准确。为解决此问题,我们提出了分区归一化(Partitioned Normalization: PN),为来自不同 domains 的样本提供私有化的 normalizationPN 可以获得更准确的 domain 内的统计矩(moments),从而提升模型性能。

    • multi-domain CTR prediction 中,描述 domain informationfeatures 至关重要。我们提出了一个辅助网络(auxiliary),将 domain indicator 直接作为输入,并学习其 embedding 以描述 domain 。然后将该 embeddings 馈入到辅助网络中,该辅助网络比原始网络简单得多。这使得 domain indicator 能够以直接的方式影响 final prediction

    • 我们在工业生产数据集上对 STAR 进行了评估,并于 2020 年将其部署在 Alibaba 的展示广告系统中。一致的优越性验证了 STAR 的有效性。截至目前,STAR 的部署使 CTR 提升了 6%,每千次展示收入(RPM)提升了 8%。我们相信,在部署过程中获得的经验可以推广到其他场景,因此对研究人员和工业从业者具有参考价值。

1.1 相关工作

  1. 本文的工作与传统的 single-domain CTR prediction 密切相关,即:推荐器在单个 business domain 上训练好之后为该 business domain 提供服务。此外,本文的工作还与 multi-task learningmulti-domain learning 相关。本节将对此进行简要介绍。

1.1.1 Single-Domain CTR Prediction

  1. deep learning 成功的启发,近年来 CTR prediction 模型已从传统的浅层方法转变为现代的深层方法。大多数 deep CTR models 遵循 embedding and MLP 范式。

    • Wide & Deep《Wide & deep learning for recommender systems》)和 DeepFM《Deepfm: a factorization-machine based neural network for ctr prediction》)结合了低阶特征和高阶特征,以提高模型的表达能力。

    • PNN《Product-based neural networks for user response prediction》)引入了一个乘积层(product layer)来捕获跨字段类别(inter-field categories)之间的交互模式(interactive patterns)。

    在上述这些模型中,用户的历史行为(history behaviors )经过 embeddingpooling 后转换为低维向量。

    • DIN《Deep interest network for click-through rate prediction》)采用 attention 机制,针对给定的 target item 局部地激活历史行为,成功捕获了用户兴趣的多样性的特点(diversity characteristic )。

    • DIEN《Deep Interest Evolution Network for Click-Through Rate Prediction》)进一步提出了一个辅助损失(auxiliary loss),以从历史行为中捕获潜在兴趣(latent interest)。此外,DIENattention 机制与 GRU 相结合,以建模用户兴趣的动态演变(dynamic evolution)。

    • MIND《Multi-Interest Network with Dynamic Routing for Recommendation at Tmall》)和 DMIN《Deep Multi-Interest Network for Click-through Rate Prediction》)认为,单一向量可能不足以捕获 user and items 中复杂的模式。MIND 中引入了胶囊网络(capsule network)和动态路由(dynamic routing)机制,以学习多个 representations 来聚合原始特征。

    • 此外,受 self-attention 架构在 sequence to sequence learning 任务中的成功的启发(《Attention is All you Need》),《Deep Session Interest Network for Click-Through Rate Prediction》 中引入了Transformer 用于 feature aggregation

    • MIMN《Practice on Long Sequential User Behavior Modeling for Click-through Rate Prediction》)提出了一种 memory-based 的架构来聚合特征,并解决 long-term user interest modeling 的挑战。

    • SIM《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》)通过两个级联的搜索单元(search units)来抽取用户兴趣,在可扩展性(scalability)和准确性方面均实现了更好的 modeling lifelong sequential behavior data 的能力。

1.1.2 Multi-Task Learning

  1. 多任务学习(multi-task learning)旨在通过在多个相关任务(related tasks)之间共享知识( shared knowledge )来提高泛化能力。探索 shared knowledgetask-specific knowledge 有助于每个任务的 learning 。多任务学习已成功应用于多个 application 领域,包括自然语言处理、语音识别、推荐系统、以及计算机视觉。

    • 在早期的线性模型多任务学习文献中,《Convex multi-task feature learning》 提出了一种方法来学习跨多个任务共享的 sparse representations

    • deep learning 背景下,多任务学习通常通过 hidden layers 的参数共享来实现。

      • 《Cross-Stitch Networks for Multi-task Learning》 提出了交叉拼接单元(cross-stitch units),为每个任务学习 task-specific hidden-layersunique combinations

      • 《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》 提出了多门混合专家模型(Multi-gate Mixture-of-Experts: MMoE),通过在所有任务之间共享 expert sub-models,并训练一个门控网络(gating network)来优化每个任务,从而建模 task relationships

      • 《Multi-task learning using uncertainty to weigh losses for scene geometry and semantics》 提出了 multi-task deep learning 的一种原则性方法(principled approach),通过考虑每个任务的同方差不确定性(homoscedastic uncertainty)来权衡多个损失函数。

      • 在多任务学习中,不同任务可能存在冲突,需要进行权衡,优化下面的代理目标(proxy objective)可能并非最优:最小化每个任务 loss 的加权线性组合。为解决此问题,《Multi-Task Learning as Multi-Objective Optimization》 显式地将多任务学习视为多目标优化(multi-objective optimization),其 overall objective 是找到帕累托最优解(Pareto optimal solution)。

      需要注意的是,《Multi-task learning using uncertainty to weigh losses for scene geometry and semantics》《Multi-Task Learning as Multi-Objective Optimization》 与本文的工作是互补的,有可能结合起来以实现更好的性能。

1.1.3 Multi-Domain Learning

  1. 在实际 applications 中,数据通常来自多个 domainsmulti-domain learning 支持 domains 之间的知识转移(knowledge transfer),以改进学习效果。因此,它与领域自适应(domain adaptation: DA)问题不同,在领域自适应中,知识转移只是单向的,即从 source domaintarget domain

    • 《Transferable Normalization: Towards Improving Transferability of Deep Neural Networks》 提出了可迁移归一化(Transferable Normalization )来替代现有的 normalization 技术从而用于领域自适应(domain adaptation ),并揭示批量归一化(batch normalization: BN)(《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》)是可迁移性(transferability)的约束因素。

  2. multi-domain CTR prediction 可以看作是一种特殊的 multi-domain learning ,其中每个 domain 对应一个 business domain,任务是 CTR prediction 。与传统的 multi-domain learning 相比,我们的工作专注于 CTR prediction。所提出的模型充分利用了 domain indicator:其中, domain indicator 直接作为 ID feature 被馈入模型,并学习 domain indicatorsemantic embeddings 来促进模型学习。而这一点(即,利用 domain indicator)在以往的文献中被忽略了。

  3. multi-domain learningmulti-task learning 的区别在于:

    • multi-domain learning 针对多个 domains 解决相同的问题,例如 CTR prediction ,这些问题的 label spaces 是相同的。

    • 相比之下, multi-task learning 则专注于解决不同的问题(《A Unified Perspective on Multi-Domain and Multi-Task Learning》)。

    例如,在视频推荐领域, multi-task learning 问题可以是同时预测单个 business domain 中视频的 CTR 和预期观看时间(expected watch time );而 multi-domain CTR prediction 则针对多个 business domains(例如多个视频平台)进行 CTR predictions

1.2 The Proposed Approach

  1. 本节首先简要介绍 multi-domain CTR prediction 的背景。接下来概述本文提出的 multi-domain CTR prediction 方法——星型拓扑自适应推荐器(star topology adaptive recommender: STAR)的架构。然后详细介绍 STAR,包括所提出的星型拓扑网络(star topology network)、分区归一化(partitioned normalization)和辅助网络(auxiliary network)。

1.2.1 Multi-Domain CTR Prediction

  1. 在序列推荐系统(sequential recommender systems)中,模型以用户历史行为(user historical behavior)、用户画像特征(user profile feature)、target item feature 以及其他特征(例如上下文特征 context feature)作为输入。用户 u 点击 item mpredicted CTR y^ 的计算公式如下:

    y^=f(E(u1),,E(ui);E(m1),,E(mj);E(c1),,E(ck))

    其中:

    • {u1,,ui}user features 集合,包括用户历史行为和用户画像特征。

    • {m1,,mj}target item feature 集合。

    • {c1,,ck}other features 集合。

    • E()Rd 表示 embedding layer,它将 sparse IDs 映射到 learnable dense vectors

    将原始特征映射到低维 embedding 之后,通常的做法是将这些 embeddings 聚合以获得 fixed-length vectors 。可以使用诸如《Deep Interest Evolution Network for Click-Through Rate Prediction》《Deep interest network for click-through rate prediction》之类的不同聚合方法来聚合这些 embeddings ,从而提取用户兴趣并获得 fixed-length representation。然后,将所获得的 representation 馈入到深度神经网络(例如,多层全连接网络 fully-connected network: FCN)中,以获得 final CTR prediction

  2. 传统的 CTR 模型通常使用来自单一 business domain 的数据进行训练。然而,现实世界的推荐系统通常需要处理多个 business domains 。具体来说,推荐系统需要同时对 Mdomains D1,D2,,DM 进行 CTR prediction。该模型以 (x,y,p) 为输入,其中 :

    • x 是多个 domainscommon feature,例如用户历史行为、用户画像特征、以及 target item feature

    • y{0,1} 表示 clicked label

    • p{1,2,,M}domain indicator,用于指示此样本采集自哪个 domain

    需要注意的是,(x,y) 采样自 domain-specific distribution Dp,且不同 domains 的分布各不相同。multi-domain CTR prediction 的目标是构建一个单一的 CTR 模型,该模型能够以较低的资源消耗和人力成本,为所有 domains 提供准确的 CTR prediction

1.2.2 Architecture Overview

  1. 如上所述,忽略 domain indicator p 并学习单一的 shared CTR model 会忽略领域差异(domain differences),导致模型性能下降。另一方面,为每个 domain 训练单独的模型导致性能更差,因为领域拆分(domains splitting)会减少每个模型所需的数据量。此外,考虑到资源消耗和人力成本,在生产环境中为每个 domain 维护单独的模型是不切实际的。

    为此,我们提出了星型拓扑自适应推荐器(Star Topology Adaptive Recommender: STAR )用于 multi-domain CTR prediction ,以更好地利用不同 domains 之间的相似性,同时捕获领域差异(domain distinction)。如 Figure 4 所示,STAR 由三个主要部分组成:

    • (1):分区归一化(partitioned normalization: PN),用于对来自不同 domains 的样本执行私有归一化(privatizes normalization)。

    • (2):星型拓扑的全连接神经网络(star topology FCN )。

    • (3):辅助网络(auxiliary network),直接将 domain indicator 作为输入特征,并学习 domain indicatorsemantic embeddings 以捕获 domain distinction

  2. 在训练过程中:

    • 首先采样得到一个 domain indicator p ,然后从该 domain 中采样一个 mini-batch (包含 B 个实例):

      (x1,p),(x2,p),,(xB,p)
    • STAR 模型首先通过 an embedding layer 将这些 input features 嵌入为低维向量。在工业界的 recommender 中,模型通常使用数十亿个特征进行训练(《XDL: An Industrial Deep Learning Framework for High-Dimensional Sparse Data》),并且embedding 的参数通常远多于模型的其他部分。这使得不同 domains 难以在数据有限的情况下学习 domain-specific embeddings。例如,在我们日常任务中使用的模型中,embeddings parameters 是全连接层参数的 10000 倍(《XDL: An Industrial Deep Learning Framework for High-Dimensional Sparse Data》)。因此,在提出的 STAR 模型中,我们让所有 business domains 共享同一个 embedding layer,即不同 domains 中相同的 ID features 共享同一个 embedding。跨多个domains 来共享 embedding layer 可以显著降低计算和内存成本。

    • 然后,将 embeddings 进行池化和拼接,得到 B 个固定长度的 representations

    • 之后,所提取的 Brepresentations 由我们提出的分区归一化 (partitioned normalization: PNlayer 进行处理。PN layer 针对不同的 domainsnormalization statistics 进行私有化。normalized vectors 随后作为 input 馈入到我们所提出的星形拓扑 FCNstar topology FCN)以获得输出。

    • star topology FCNshared centered FCN 和多个 domain-specific FCNs 组成。每个 domainfinal model 是通过组合 shared centered FCNdomain-specific FCN 来得到的。

  3. multi-domain CTR prediction 中,能够描述 domain information 的特征至关重要。在 STAR 模型中,auxiliary networkdomain indicator 作为输入,并与描述 domain 的其他特征一起馈入 auxiliary networkauxiliary network 的输出与 star topology FCN 的输出相加,得到 final prediction 。我们使 auxiliary networkstar topology FCN 简单得多,以便模型能够以直接简便的方式捕获 domain distinction 。接下来我们将详细介绍这些组成部分。

    注意:

    • auxiliary network 的结果与 star topology FCN 进行相加。

    • star topology FCN 内部,shared parametersdomain-specific parameters 进行诸元素相乘。

1.2.3 Partitioned Normalization

  1. 如前所述,原始特征首先转换为低维 embeddings,然后经过池化和聚合从而得到中间表征(intermediate representation)。设实例的 intermediate representationz,为了快速且稳定地训练 deep networks ,标准做法是对 intermediate representation z 应用 normalization layer。在所有 normalization 方法中,batch normalization: BN 是一种代表性方法,被证明对深度神经网络的成功训练至关重要。BN 对所有样本进行全局归一化(global normalization),累积 normalization moments,并学习跨所有样本共享的参数。具体来说,训练过程中 BN 的归一化公式如下:

    z=γzμσ2+ϵ+β

    其中:

    • zoutput

    • γ,β 为可学习的 scalebias 参数。

    • μσ2 是当前 mini-batch 的均值和方差(它们也是向量,通过诸元素计算得到)。

    在测试时,使用所有样本的均值 E 和方差 Var 的移动平均统计量来代替:

    z=γzEVar+ϵ+β

    换句话说,BN 假设所有样本是独立同分布的(i.i.d.),并使用跨所有训练样本共享的统计量。

  2. 然而,在 multi-domain CTR prediction 中,样本仅被假设在特定 domain 内是局部独立同分布的。因此,来自不同 domains 的数据具有不同的 normalization moments。在测试时共享 BN layersglobal moments and parameters ,会掩盖领域差异(domain differences),导致模型性能下降。

    为了捕获每个 domain 的独特的数据特性(data characteristic),我们提出了分区归一化(partitioned normalization: PN),为不同 domains 提供私有化的 normalization statistics and parameters。具体来说,在训练过程中,假设当前 mini-batch 来自第 pdomain,我们计算当前 mini-batch 的均值和方差,并对特征进行归一化:

    z=(γ×γp)zμσ2+ϵ+(β+βp)

    其中:γβglobal scale and bias parametersγpβpdomain-specific scale and bias parameters

    • 对于每个 mini-batch ,通过将共享的 γdomain-specificγp 逐元素相乘得到 final scale,即 PN 根据 domain indicator 自适应地缩放 representation

    • 类似地,PNbias 也是基于 domain 来自适应的,通过将 global bias βdomain-specific bias βp 相加来实现。

    需要注意的是,与 BN 相比,PN 在训练过程中也使用当前 mini-batchmoments(即,均值和方差),但 PN 引入了 domain-specific scale and bias γp,βp 来捕获领域差异(domain distinction)。

    在测试期间,除了 scale and bias 的修改外,PN 还让不同 domains 累积 domain-specific 的统计量(均值和方差)的移动均值:Ep,Varp。在测试时,对来自第 pdomain 的实例 z 进行如下转换:

    z=(γ×γp)zEpVarp+ϵ+(β+βp)

    从这个公式可以看出,PN 使用 domain-specific 的均值 Ep 和方差 Varpintermediate representation z 进行归一化。因此,PN 根据 domain indicator 自适应地调整 intermediate representation,以捕获独特的 domain characteristics

1.2.4 Star Topology FCN

  1. 经过 PN layer 之后,representation z 被馈入到后续的星形拓扑多层全连接神经网络(star topology FCN)。如 Figure 5 所示,所提出的 star topology FCN 由一个 shared centered FCN 和每个领域独立的 FCNs 组成,因此 FCN 的总数为 M+1Mdomains 数量)。第 pdomainfinal model 通过组合 shared centered FCNdomain-specific FCN 来得到,其中 centered parameters 学习所有 domains 的通用行为(general behaviors),domain-specific parameters 捕获不同 domains 的特定行为(specific behaviors),以促进更精细的 CTR prediction

    具体来说,对于 shared FCN,设某一层的权重为 Wbiasb 。对于第 pdomainspecific FCN,设对应层的权重为 Wpbiasbp 。设 input 维度为 coutput 维度为 d,即 W,WpRc×d,b,bpRd。第 pdomainfinal weights Wibias bp 计算如下:

    Wp=WpW,bp=bp+b

    其中: 表示逐元素乘法。

    inpRc×1 表示来自第 pdomain 的该神经网络层的输入,则 final output outpRd×1 为:

    outp=ϕ((Wp)inp+bp)

    其中:ϕ() 表示该层的激活函数。

    在所有层中都采用了 shared parametersdomain-specific parameters 的组合。通过这种方式,STAR 可以根据 domain 调整其参数。

    shared parametersdomain-specific parameters 为什么要用这种组合方式?论文并未给出说明。

    读者猜测,这类似于参数分解的思路:每个参数可以分解为 shared-parameterstask-specific paramters。此外,这种分解的方式在 online serving 的时候可以预先计算好 Wpbp,使得 online servingbase model 的结构完全相同。

  2. 需要注意的是,我们通过如下的方式来实现 shared centered FCNdomain-specific FCN 的组合策略(combination strategy):对每一层中的权重进行逐元素乘积、对每一层中的 bias 进行逐元素相加。

    也可以进一步研究其他策略以获得更好的性能。shared parameters 通过所有样本的梯度进行更新,而 domain-specific parameters 仅通过该 domain 内的示例进行更新。这有助于捕获领域差异(domain differences),从而实现更精细的 CTR prediction ,同时通过 shared centered parameters 来学习领域共性(domain commonality)。如前所述,工业推荐系统中的大部分参数都由 embedding layer 所贡献,增加的 MFCNs 对参数总量的影响可以忽略不计。因此,STAR 使用一个模型即可高效地服务于所有 business domains ,且参数高效且内存友好。

1.2.5 Auxiliary Network

  1. 在传统的 CTR modeling 方法中,所有特征都被平等对待并馈入到复杂的模型中。然而,在 multi-domain CTR prediction 中,模型可能难以自动学习领域差异(domain distinction)。我们认为,一个好的 good multi-domain CTR model 应具备以下特性:

    • (1):包含与 domain characteristic 相关的有效特征。

    • (2):使这些特征能够直接且有效地影响 final CTR prediction

    其背后的逻辑是:能够描述 domains 信息的特征至关重要,因为它们可以降低模型捕获领域差异(domain distinction)的难度。

    为此,我们提出了一种辅助网络(auxiliary network)来学习 domain distinction。为了增强与 domain characteristic 相关的 informative features,我们将 domain indicator 直接作为 ID feature input

    • 首先,将 domain indicator 映射到 embedding 向量,并与其他特征拼接起来。

      这里的 “其他特征”, 读者猜测主要是 domain 相关的特征。也可以采用所有可用的特征,这类似于 FinalMLP 的思路。

    • 然后,auxiliary networkconcatenated features 进行前向传播,得到一维的 output

    • star topology FCN 的一维输出记为 smauxiliary network 的输出记为 sasmsa 相加得到 final logit。然后应用 sigmoid 函数得到 CTR prediction

      sigmoid(sm+sa)

    在我们的实现中,auxiliary networkmain network 简单得多。auxiliary network 是一个两层全连接神经网络。这种简单的架构使得 domain features 能够直接影响 final prediction

  2. y^ip为第 pdomain 中第 i 个实例的 predicted probabilityyi{0,1} 为真实值。我们最小化所有 domainsy^i 和标签 yi 之间的交叉熵损失函数,如下所示:

    minp=1Mi=1Np[yiplogy^ip+(1yip)log(1y^ip)]

    其中:Mdomains 总数;Np 为第 pdomain 的样本总数。

1.3 实验

  1. 本节评估 STAR 的有效性。首先,我们介绍实验设置,包括所使用的生产数据集(production dataset)、对比方法和实现细节。然后详细阐述结果和讨论。接着我们进行了深入的消融研究。最后我们展示了生产环境下的实验结果。

  2. 数据集:由于缺乏公开的 multi-domain CTR prediction 数据集,我们使用 Alibaba19 business domains 上的用户点击行为(即,production data )进行离线评估。训练数据来自 Alibaba 在线展示广告系统的流量日志。我们使用 19 business domains 一天的数据进行训练,并使用第二天的数据进行测试。训练数据集包含数十亿个样本。

    Table 1 显示了训练集中每个 domain 的样本百分比和平均 CTR# Click/# Impression,即正样本比例)。如 Table 1 所示:

    • 不同 domains 的数据分布存在差异,这可以从不同的 CTR 中反映出来。

    • 可以看出,CTR 最高的 domaindomain #15)为 12.03%,而 CTR 最低的 domaindomain #13)仅为 1.27%

    在这个数据集中,大多数 items 在大多数 business domains 中都可用,而只有部分 users 是重叠的。例如,domain 1domain 2 拥有相同的 items set,但只有 8.52% 的用户重叠。

  3. baselines:为了验证我们方法的有效性,我们将 STAR 模型与以下几种方法进行比较:

    • Base:我们称 Base 模型为:由 embedding layerpooling & concatenation layerbatch normalization 、以及一个 7-layer fully-connected network 组成的模型。具体来说,pooling & concatenation layer 基于DIEN,用于在 embedding layer 之后提取用户兴趣。我们将来自不同 domains 的样本混合,并训练 base 模型。

    • Shared BottomShared Bottom 模型是一个多任务模型,它共享 bottom layers 的参数。在我们的实现中,Shared Bottom 模型共享 embedding layer。每个 domain 还有一个特定的、不共享的 7-layer fully-connected network

    • MulANNMulANN《Multi-Domain Adversarial Learning》)在 Base 模型的基础上添加了领域判别器(domain discriminator)模块。domain discriminator 用于区分样本所属的 domainMulANN 采用对抗损失函数(adversarial loss),使 domain discriminatordomainsshift 无法区分。

    • MMoEMMoE 隐式地对多任务学习中的任务关系(task relationships)进行建模,其中不同的任务可能具有不同的标签空间(label spaces)。本文将 MMoE 应用于 multi-domain CTR prediction,其中每个 expert 都是一个 7-layer fully-connected networkexperts 的数量等于 domains 的数量。

      此外,MMoE 还为每个 domain 学习门控网络(gating network),该网络以 input features 为输入,输出 softmax gates。这些 softmax gatesexperts 以不同的权重组合在一起。

    • Cross-StitchCross-Stitch《Cross-Stitch Networks for Multi-task Learning》)使用线性交叉缝合单元(linear cross-stitch units)来学习 task-specific representations 的最优组合。在 cross-stitch 方法中,每个 domain 都有一个 7-layer fully-connected network,并在每个 hidden layer 中添加 cross-stitch units 以学习 task-specific representations

    为了进行公平的比较,所有比较方法和 STAR 模型均使用我们提出的 auxiliary network 进行训练。关于 auxiliary network 的消融研究在后续章节中进行。

  4. 实现细节:

    • 所有模型均使用 Adam 进行训练,学习率设置为 0.001batch size = 2000

    • 我们最小化来自所有 domains 的样本的交叉熵损失来训练模型。

    模型结构的超参数(比如 embedding size、这个七层全连接网络每一层的 size 多大),作者都未说明。

  5. 评估指标:AUC 是评 CTR prediction 性能的常用指标。用户加权 AUC 通过对用户的 AUC 进行平均来衡量用户内部排序的优劣,并且已被证明与推荐系统的在线性能更相关。其计算公式如下:

    AUC=i=1nNumImpressioni×AUCii=1nNumImpressioni

    其中:n 为用户数量;NumImpressioni 为第 i 个用户的展示次数;AUCi 为第 i 个用户的 AUC

    我们使用这种加权 AUC 作为评估指标,为简便起见,仍将其称为 AUC。具体而言,我们使用每个 domainAUCoverall AUC(混合所有 domains 的样本来计算 overall AUC )作为评估指标。

1.3.1 实验结果

  1. 我们在 Alibaba 生产数据集上评估了所有方法。为了公平比较,所有 baseline 方法和 STAR 模型均使用我们提出的 auxiliary network 进行训练。如 Table 2 所示:

    • 性能的一致的提升验证了 STAR 的有效性。

    • 值得注意的是,MulANN 的性能不如 Base 模型,这表明模糊 domain difference 会损害 multi-domain CTR prediction 的建模。

    • 此外,shared Bottom modelMMoECross-StitchSTAR 的整体性能均优于 Base 模型。这表明利用 domain relationship 和捕获 domain distinction 对于提升预测性能至关重要。

    • 尽管 Shared BottomMMoECross-Stitch 的整体性能优于 Base 模型,但值得注意的是,在某些 domains 中,Shared Bottom, MMoE, and Cross-StitchAUC 值低于 Base 模型,例如 domain # 5, #6, and #16 。我们推测这是因为这些模型在不同 domains 中的学习存在冲突。

      相比之下,STAR 通过其 star topology 避免了这个问题,其中 domain-specific parameters 仅通过该 domain 内的示例进行更新。与 Base 模型相比,所提出的 STAR 模型在所有 domains 上均表现出更优的性能。

    • STAR 也一致地优于 Shared Bottom 模型,这表明在 multi-domain learning 中,top specific layersinformation sharing 至关重要,因为所有 domains 共享相同的 label space

    • STAR 的性能也优于 MMoECross-Stitch 模型,这表明显式地建模 domain relationships 比通过 gate networkscross-stitch units 来隐式建模 domain relationships 更具优势。

1.3.2 消融研究

  1. 为了分析 STAR 模型各个组件的作用,我们进行了一些消融实验。

  2. STAR Topology FCN and PN:我们分析了 STAR 中不同组件的影响。具体而言,我们研究了 star topology FCNPN 各自的效果。我们比较了以下模型

    • (a):使用 BN 训练的 Base 模型。

    • (b):使用 PN 训练的 Base 模型。

    • (c):使用 BN 训练的 STAR FCN

    • (d)STAR模型(STAR FCN + PN)。

    结果如 Table 3 所示。我们观察到:

    • 单独使用 star topology FCNPN 均可优于 Base 模型。

    • 将它们结合起来可以进一步提升性能。

    该结果验证了 star topology FCNPN 的有效性。

    目前看来,仅仅利用 PN 就能得到大部分的贡献(+0.0121)。

  3. NormalizationNormalization 方法是深度学习中非常有效的组成部分,许多实践表明,它可以 ease optimization ,并使非常深的网络能够收敛。我们分析了不同 normalization 方法(包括 Batch Normalization: BNLayer Normalization: LN 和我们提出的 Partitioned Normalization: PN)对 multi-domain CTR prediction 的影响。

    • BN 累积 global statistics 并学习来自所有 domains 的样本的 global parameters

    • LN 是一种代表性的 instance-based normalization 方法,它沿通道维度(channel dimension)进行操作,避免了来自不同 domains 的样本的 mixing statistics

    结果如 Table 4 所示。

    • 我们的第一个观察结果是,LNPN 的性能均优于 BN。这一观察结果验证了来自不同 domains 的数据具有不同的分布,需要特定的 normalization。使用 global normalization 会掩盖 domain differences,从而降低 multi-domain CTR prediction 的性能。

    • 我们还观察到 PN的性能优于 LN,这验证了 domain-specific normalization 优于 instance-specific normalization,因为 PN 能够获得 domain 内更精确的 moments

  4. Auxiliary network:我们进行了实验,以评估 auxiliary network 对不同模型的影响。所有方法均分别在 with and without 所提出的 auxiliary network 的情况下进行训练。结果如 Figure 6 所示。

    • 我们观察到, auxiliary network 能够一致地改进所有方法。该结果验证了充分利用 domain features 并将其用于捕获 domain distinction 的重要性。

    • 我们还观察到, auxiliary networkMulANN 的改进效果略弱于其他方法。原因可能是,用于掩盖 domain differencesadversarial loss 与用于捕获 domain differencesdomain feature 相矛盾。

  5. Ability to Capture Domain Distinction:每次点击成本 (Cost-per-click: CPC) 是展示广告中广泛使用的一种基于效果的付费模式,广告商针对 clicks 出价。在 CPC 模式下,展示系统将每千次展示有效成本 (effective cost per mille: eCPM) 计算为:bid * CTR。系统根据 eCPM 的降序排列来分配 impressions 。在 CPC 中,为了实现具有竞争力的广告系统,CTR 模型需要进行良好的校准(《On Calibration of Modern Neural Networks》),也就是说,predicted CTR 应该尽可能接近 actual CTR

    我们证明 STAR 模型校准得更好,并且能够捕获到 domain distinctions。我们计算了每个 domainpredicted CTR over CTR (PCOC) 。需要注意的是,PCOC 越接近 1.0CTR prediction 就越准确。为了便于说明,我们在 Figure 7 中展示了 Base 模型和 STAR 模型的 PCOC

    我们可以看到,与 Base 模型相比,STAR 模型在不同 domainsPCOC 更加集中,且集中在 1.0 附近。该结果验证了 STAR 模型捕获 domain distinction 的能力。

1.3.3 Production

  1. Online serving 及挑战:工业推荐系统面临的挑战之一是特征分布和 CTR 会随时间发生显著变化。为了实时捕获数据的动态变化,持续使用实时样本更新 CTR models 至关重要,以防止模型过时。然而,对于 multi-domain CTR prediction ,每个 domain 的样本比例会随时间变化。例如,某些 business domains 在早上流量高峰,而另一些 business domains 在晚上流量高峰。如果我们直接按时间顺序来训练模型,数据比例随时间的变化会导致模型学习不稳定。为了解决这个问题,我们重新设计了 data pipeline ,并维护一个 buffer 来存储历史样本的一个滑动窗口,以避免样本比例(example percentage)的突变。

    具体来说, buffer 中的样本首先被随机混洗,然后进行采样以构建一个 mini-batch。将 mini-batch 样本馈入模型后,将这个 mini-batchbuffer 中移除,并将新到达的数据添加到该 buffer 中。我们通过实证研究发现,这种训练方式比传统的 online updates 更加稳定。

    值得注意的是,在 serving 过程中,每个 domainFCN 的权重都会被预先计算(pre-computed),以加快推理速度。这样一来,STAR 的计算时间与 Shared Bottom model 相当。这种系统化的优化使得 STAR 能够稳定地服务于多个 business domains 的主流量。

    2020 年以来,STAR 已部署在 Alibaba 的展示广告系统中,服务于超过 60 business domains。我们计算了所有 domains 的整体性能提升。Table 5 展示了 STAR 相对于之前的 production 模型(即 Base 模型)的改进。在我们的 online A / B test 中,STAR 的引入带来了 8.0% 的整体 CTR 提升和 6.0% 的整体 RPM 提升。

1.4 结论

  1. 本文提出了 star topology adaptive recommender: STAR 来解决 multi-domain CTR prediction 问题。STAR 并非为不同 domains 分别构建独立模型,也并非简单地混合所有样本并维护一个共享模型,而是采用 star topology :由 shared centered parametersdomain-specific parameters 组成。

    • shared parameters 学习 domains 之间的共性,并通过所有样本进行更新。

    • domain-specific parameters 则捕获domains 之间的差异,从而实现更精细的预测,这些参数通过特定 domain 内的样本进行学习。

    通过这种方式,STAR 可以根据 domain 来自适应地调整其参数,以获得更精确的预测结果。实验结果表明,STARmulti-domain CTR prediction 方面具有显著优势。自 2020 年以来,STAR 已部署在 Alibaba 的广告系统中,CTR 提升了 8.0%RPM 提升了 6.0%