User Representation Learning 模块是基于 Youtube DNN 模型停止改良,左侧为用户特征,并用 Attention 替代 concat,左侧为 Item 特征,然后全体做 SCE Loss 或许多分类,预测用户的下一个点击,训练完成后左侧取最后一层隐层作为用户的特征向量,模型结构如下图所示:
Look-alike Learning 模块采用双塔结构,左边输入一切种子用户的特征向量,左边输入目的用户的特征向量,其结构如下图所示:
这也是 RALM 能实理想时计算的主要缘由,其将种子用户特征替代 Item 特征,从而将 User-Item 模型转换成 User-Users 模型。
所以,Look-alike Learning 模块的关键在于表达种子用户群体。
假定用户会存在本人的特性信息,同时也有群体特性信息,那幺种子群体可以表示为:特性信息+特性信息。作者为此辨别建模 Local Attention 和 Global Attention 学习出两种 embedding:
Local Attention 是将种子采用乘法 attention,提取种子用户群体中与目的用户相关的信息,捕捉用户的部分信息。
Global Attention 只与种子用户群体有关,一切采用 self-attention 的方式,将种子用户乘以矩阵转换,再乘以种子用户本人,用其捕捉用户群体本身外部的兴味散布;
失掉的 Local & Global embedding 之后,对此停止加权求和,这就是种子用户群体的全部信息。
但我们知道的 Attention 本身计算量十分大,所以无法满足模型线上部署的耗时要求。为此,作者将种子用户经过 k-means 停止聚类,从而增加 Key 的数量。
完成 Look-alike Learning 之后,我们可以把右侧用户过 FC 的特征向量存储起来,提供应在线效劳。
2.4.2 Online Asyncheonous在线异步处置,主要是处置与线上央求有关的计算,如:
基于用户点击日志,更新 Item 的种子用户列表;
计算种子用户的聚类中心,并配送给引荐系统;
计算 Global Embedding。
这些一切的东西都是定时更新的,不需求停止实时计算。
2.4.3 Online Service在线效劳这块,主要是拉取种子用户的聚类中心、Global Embedding 和用户的 Embedding,线上实时计算 Local Embedding,并计算最终的相似度。
PS:RALM 由于有聚类,种子用户出现异常点能够会出现点成绩(当然,外部大约率优化过了)。
2.5 Pinterest Look-alikePinterest look-alike 于 KDD 19 宣布了他们的 look-alike 模型,其大致分为两部分基于 LR 的分类模型和基于 Embedding 的相似搜索的模型。
2.5.1 Classifier-based ApproachPinterest 的baseline 是用 LR 模型去做个分类模型,种子样本为正样本,随机选取非种子样本为负样本,然后训练一个分类模型去给一切用户打分排序。
2.5.2 Embedding-based ApproachPinterest 探求的新办法,大致分为两块:一块是训练 Embedding ,另一块是基于 Embedding 和 LSH 找相似用户。
首先是计算用户的特征向量,其基于 StarSpace 的办法停止训练(Pair-wise):
用户:用户作为 Piar A,concat 用户的团圆特征+归一化后的延续特征,经过一层线性激活函数的 Dense,输入失掉用户特征向量;
Topic:Item 的 Topic 作为 Pair B,经过 lookup 失掉 Topic 的特征向量;
训练样本:取与用户交户过的 Item,用 Item 的 Topic 作为 Pair B;其他随机选取 k 个的 Topic 作为负样本,与用户组成样本对;
训练集:与用户交户过的 Item 的 Topic 作为正样本,随机选取的 k 个 Topic 作为负样本,损失函数为:
训练中止:由于模型最终会用于处置种子用户分散的成绩,所以作者取种子用户和非种子用户,其中 90% 的种子用户组成集合 K,从剩下 10%的种子用户中取出一个,非种子用户取出一个。定义相似性:,则训练中止的评价标准为:
训练的 tensorboard 如下图所示:
模型重训:运用模型的最新版本活期(较长的时间)重新计算用户嵌入,主要是目的是希望一切用户的兴味都在变换,以捕捉用户的行为和用户的漂移。(为啥?)
失掉用户特征向量后,应用 LSH 对用户停止映射,然后基于种子用户的个数停止投票选出哪些区域,并取区域内用户作为扩展用户。
当然还要思索每个区域的用户数量不同,所以种子集合 s 在区域的修正得分为:
其中,为区域内的一切人数,为平滑因子,且。
下表为各区域人数(绿色为种子用户,白色为非种子用户):
下表为投票得分和概率得分的区别,可以看到区域排名有所变化:
作者重复 m 次映射,失掉最终的的概率得分:,每个用户的映射结果为,所以用户最终得分为:。
然后,选取得分大的用户作为扩展用户。
可视化结果如下图所示:
(责任编辑:admin)