推荐系统论文阅读(五十六)-Star:一个模型服务多个场景

论文:

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

论文地址:https://arxiv.org/pdf/2101.11427v1.pdf

今天我们来看一篇阿里发表在cikm2021上面的文章,主要介绍一个模型怎么运用在多个场景进行ctr预估。

、背景

传统的行业推荐系统通常在单个业务场景的数据样本上进行训练,然后为该场景服务。然而,在大型商业平台中,推荐系统通常需要对多个业务场景进行点击率(CTR)预测。不同的场景具有重叠的用户和物品,因此存在共性。由于特定用户组可能不同,并且用户行为可能在特定域内发生变化,因此不同的域也有区别。这些区别导致了不同领域特定的数据分布,这使得单个共享模型很难在所有域都能很好地工作。为了解决这个问题,本文提出了星型拓扑自适应推荐模型(Star),一个模型可以有效地服务于所有域。具体地说,STAR具有星形拓扑,由共享中心参数和特定于域的参数组成。共享参数用于学习所有域的共性,而特定于域的参数捕获域的区别,以便进行更精确的预测。

我们先来看看在淘宝上的几个场景:

这就是两个简单的ads推荐场景,左边的业务是首页推荐场景,主要位于一个小框框中,推荐用户喜欢的物品,店铺,品牌等,右边是猜你喜欢场景,而猜你喜欢都是商品。

一种方式是直接混合训练数据,直接粗暴的去训练一个共享参数的点击率模型,另一种方式是每个业务领域训练一个模型,这样会有以下两个问题:

1,一些场景的训练样本不足,训练会不充分

2,维护太多模型成本过高,每次都要去训练所有场景的模型

为了解决以上两个缺点,该论文提出去学习一个高效的点击率模型,可以同时处理上百个业务领域。模型的输入是(x, y, p),其中x是各个领域共有的特征,如用户行为序列,用户画像,商品特征,上下文特征等。y是label,表示是否点击,p表示业务领域的标识。因为数据来自不同p,所以模型要准确的捕捉不同领域直接的数据分布差。

注意了,这个模型不是多任务模型,在原文中也提到了,这一点。多任务模型是同时去预估多个目标,比如在短视频领域,会同时去预估ctr,观看时长,关注率等指标。是一个模型是优化多个目标。而多域问题是解决不同域的同一个问题,比如预测不同域的点击率。

多任务模型现在大多都跟esmm或者mmoe那套方案一样,共享底层的参数,然后不同的任务有着自己的任务子塔,也就是不同的输出层。而对于多域问题,似乎挺难去充分挖掘不同域之间的关系,多任务里面可以共享底层embedding,多域问题应该怎么去共享信息呢?

如下图所示,star提出了一种星型拓扑结构去解决这个问题:

我们直接在下面开始介绍模型结构吧。

二、模型结构

可以看到,STAR由3个模块组成,如上图右边所示:

1,partitioned normalization (PN)

2,star topology fully-connected neuralnetwork (star topology FCN)

3,the auxiliary network

2.1模型的输入

模型的输入主要是所有的特征,包括用户的画像信息,物品的特征,用户行为序列和上下文特征,除此之外,为了建模不用场景的差异性,还会把不同场景的差异性特征p,主要是场景的id,pid输入到emb层,最后进行pooling和concat操作。

2.2 PN结构

因为不同域的信息不能进行统一的BatchNorm操作,所以PN结构主要是为了不同场景下的样本进行域内bn操作,BN中的参数,在不同域中是不一样的,所以修改如下::

说白了哈,分场景BN。

2.3 Star Topology FCN

这个跟ple的操作很像,我先直接列公式了:

结合下面这张图进行解释:

每个场景都有自己的FC参数,还有一个共有的FC参数,每个场景最终要使用的FC参数都是通过把共有的FC参数跟特有的FC参数进行✖️或者+操作得到的。

这里我说个小tips,如果有公司想试一下star结构,对于这个fc参数相乘的操作可能会觉得有点难,在一个batch中,所有场景下的样本都是混合在一起的,那怎么才能做到每个场景的fc参数跟共有的fc参数相乘呢?其实是这样做的,每个场景的pid就经过一次embedding层,这个embedding向量就是每个场景自己的独特fc参数,通过这种方式,我们在进行fc参数相乘的时候就可以直接用这个emb向量去跟共有的fc参数相乘了,简化了很多操作。

2.4 Auxiliary Network

只让模型自己去学习不同域的差异是一件很困难的事情,那么如何去显式的把域的信息加入到模型中呢?本文提出了Auxiliary Network,即直接把pid embedding,和其他特征的embedding进行concat,然后输入到DNN网络中得到Sa,FCN的输出定义为Sm,然后通过下式得到最终输出,最后用log loss进行模型的学习。

其实主要是一种残差的思想,FCN的输出可能很难能学习到差异,所以就直接在加上原始emb经过dnn的输出作为最终的输出。

最终的输出是:sigmoid(Sa+Sm)


三、实验结果


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容