暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

深入理解推荐系统:Domain-Aware DNN介绍

Coggle数据科学 2023-01-10
701
【推荐系统】专栏历史文章:
深入理解YouTube推荐系统算法
深入理解推荐系统:召回
深入理解推荐系统:排序
深入理解推荐系统:Fairness、Bias和Debias
深入理解推荐系统:推荐系统中的attention机制
深入理解推荐系统:特征交叉组合模型演化简史
深入理解推荐系统:超长用户行为序列建模

作为【推荐系统】系列文章第二十二讲,将以 “Domain-Aware DNN” 作为今天的主角,JD团队在《DADNN: Multi-Scene CTR Prediction via Domain-Aware Deep Neural Network》提了一种domain-aware DNN介绍,这个工作提供了一种新的多场景联合优化算法

特别介绍:超单体路径是推荐系统精排模型一个核心的迭代方向,主要的方式为多目标、多场景、多模块;主要路径是 ESMM->MMOE->PLE 多目标路径,进一步的DADNN->DBMTL1/2/3->STAR,我称之为多业务路径;这条路径下,超单体的叫法其实有些问题,因为从单体到超单体太广泛了,很难找到一个持续迭代的视角,或者找到多个路径之间的关系;这条路径的本质是引入横向的信息来增强单一模块;

模型结构

上图为模型结构展示(fts-features)。(a) DNN model,它仅会考虑单个场景 (b) DADNN-MLP model,它会进一步考虑对于每个单独场景裁减出的差异特性。routing layer会使用关于scene id的一个wide input来区分场景。KT表示在多个场景间的内部知识迁移(internal knowledge transfer) 。

(c)DADNN-MMoE model,它引入了multi-gage mixture-of-experts来替换hard shared-bottom block。gate的weights允许为每个单独scene进行差异化representations。

Routing & Domain Layer

如果遵循相同的分布,独立场景的数据很少。为了减小跨场景的domain shift,routing layer会将通过场景来将样本划分给各自的domain layer,这样,对于对于每个独立的场景可以进行裁减出差异的representations。routing layer会通过一个scene id的wide input来区分场景。当在线进行serving时,对于每个场景来说只有一个domain layer会激活。routing和domain layer如图(b)和图(c)所示。更特别的,每个场景具有一个domain layer,它只会使用它自己的数据来调整模型参数。为了这个目的,domain layer可以来缓解引入多个数据分布带来的效果退化。给定一个dataset ,我们的模型的objective function定义如下:

其中:

是在training set的total loss。它的公式为:


其中:

  • 是第k个场景的loss
  • 是它相应的weight
  • K是场景号

通过探索,可以发现当将动态地设置为第k个场景的样本百分比时效果最好。特别的,通常定义为cross-entropy loss function:

其中:

  • 是第k个场景样本的size
  • 是第i个实例的ground truth
  • 是第k个domain layer的output,它表示样本被点击的概率

Knowledge Transfer

尽管routing和domain layer可以缓和domain shift,domain layer对于流量有限的场景可能会训练得不够充分。另外,在实验中,这些场景都是特定比较相似的feeds。为了这个目的,论文提出了一个knowledge transfer模块,它位于每两个场景间,允许综合知识交互(knowledge interactions)和信息共享(information sharing)。一旦这些来自teacher domain classifier的knowledge被生成,它可以通过其它cross-entropy loss来指导其它domain layers。另外,论文会描述作者提出的knowledge transer方法。给定一个dataset ,我们的模型的objective function如下所定义:

特别的:是knowledge matching loss,它表示pairwise probabilistic prediction mimicking loss,它的定义如下:

其中:

  • 和q(x)分别表示teacher network和student network。
  • 是classifier p到q的weight,是teacher样本的size。在实验中,设置为0.03。

实验

在本节中,会详细描述实验部分。作者会从公司中的在线广告系统中收集到的数据集来进行实验。另外,作者设计实验来验证routing和domain layer,MMoE模块和knowledge transfer的的效果。最后,会共享在线serving的结果和技术。

Metrics

AUC是在线CTR预估领域广泛使用的metrics。它表示:一个CTR predictor对于随机选择一个postive item高于一个随机选择negative item的概率。由于私有场景的数据分布通常是多样的,我们会使用一个派生自GAUC的metric,它表示了一个通过将每个场景的样本group计算而来的weighted average AUC。一个基于impression的GAUC计算如下:

其中,weight是每个场景的曝光数。该metric会measures intra-scene order的好坏,并表明了在广告系统中的在线效果更相关。特别的,作者使用calibration metric来measure模块稳定性,因为CTR的accurate prediction对于在线广告的成功来说是必要的。它是average estimated CTR和empirical CTR之间的ratio:

calibration = pCTR / CTR

calibration与1的差异越小,模型越好。


更多干货获取

  1. Kaggle竞赛2022年鉴:公众号回复kaggle2022
    获取
  2. 推荐系统知识卡片:公众号回复推荐系统
    获取
  3. 数据科学速查表(传统CTR、深度学习CTR、Graph Embedding、多任务学习):公众号回复速查表
    获取
  4. 历届腾讯广告算法大赛答辩PPT公众号回复腾讯赛
    获取
  5. KDD Cup历史比赛合集公众号回复KDD2020
    获取

学习交流群已成立
学习推荐系统,算法竞赛,组队参赛
添加👇微信拉你进群

文章转载自Coggle数据科学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论