作者:京东零售 吕豪

布景

EE(Explore & Exploit)模块是查找系统中改进生态、探究产品的重要链路,其方针是缓解数据马太效应导致模型对产品排序丰厚性、探究性缺乏,带来的系统非最优解问题。

在JD查找系统中,EE模块被定义的中心定位是:在给定流量和时刻的束缚下,探究出更多高功率的产品。EE的优化方针即为,以保证查找功率为条件,提高广义中长尾产品的探究成功率,提高查找成果的流动性、丰厚性。

EE场景迭代闭环

因为EE场景的特殊性,其从中心定位 → 在线目标 → 离线评价系统 → 模型迭代的优化链路中的每一步,都需结合EE特点进行针对性晋级。

搜索EE场景排序链路升级

以下别离从模型迭代、在线试验目标、离线评价系统介绍相应模块的优化。

模型Debias迭代

问题布景

EE的中心定位在于探究更多更高效的潜力中长尾产品,其首要回答的问题便是,在现在查找系统中,哪些要素阻碍中长尾产品取得更公平合理的展现时机?系统性的各类bias 。

1). Position-bias (展现方位偏置)

当时打分模型根据每天dump的查找日志进行练习更新。因为查找成果的position-bias(方位偏置)效应,user的行为动作不仅与产品本身质量有关,而且受position(展现方位)较大影响。position-bias(方位偏置)效应对头部产品的增益,加剧了渠道生态的马太效应。使用position-bias的日志数据进行练习,而未对position(展现方位)做去偏,不利于中长尾产品的正确功率预估,不利于渠道流动性、丰厚性和长时间价值。

2). Polularity-bias (盛行度偏置)

存在与user偏好匹配程度适当的多个产品时,因为产品间的前史累计销量、累计谈论等盛行度特征的差异,形成倾向于给用户呈现抢手盛行产品,已盛行产品则更盛行。而匹配程度类似的中长尾产品,则难有时机被展现,中长尾更中长尾。

3). Exposure-bias (曝光偏置)

一次查找恳求下,只有有限的产品列表展现给user,绝大多产品无法展现;查找系统一天内,全体被展现的产品集也只占全部产品集的小部分。 由此带来的问题一方面是模型泛化问题,练习在已展现产品的日志上进行,serving需在一切产品上做揣度,怎么平衡练习、揣度样本分布差异化的对立,尤其是头、尾部产品的巨大间隔。另一方面是产品label问题,产品未累积取得用户正反馈,是因为与用户不匹配,仍是未有展现时机?

针对以上bias问题,EE排序模型从方位偏置建模、反现实推理学习方面进行晋级,尝试缓解position-bias和polularity-bias,取得必定收益。而Exposure-bias因为随机dump样本的label问题,还需要做更多探究。

现在EE排序模型全体结构图:

搜索EE场景排序链路升级

  • 针对方位偏置,规划position-bias net于练习时建模方位效果、猜测时mask,进行展现方位去偏。

  • 针对盛行度偏置,构建 U-I net/ item_net/ user_net 别离建模 用户-产品内容匹配度、盛行度因子、用户心智偏好因子的影响,根据因果效应消除偏置因子效果,复原用户对产品本身内容的偏好度。

方位去偏迭代

1.Position-bias 方位偏置建模。

搜索EE场景排序链路升级

EE模型晋级至练习、猜测两阶段的position-debias方案,经过pos-bias tower建模position-bias影响,并在高语义层级与输出均值交融,拟合练习label,而后在猜测阶段去除,以期去除pos-bias影响。

Pos的建模方法

1.1 pos as feat

练习阶段,pos作为模型特征使用,与其他u/q/i侧特征联合,一起输入模型网络,核算相应logits并梯度回传。猜测推理阶段,一切样本强制选用同一个pos值,近乎理解为:同一个user/query下, 一切产品在相同的展现方位上,进行猜测分数比较。

搜索EE场景排序链路升级

其潜在风险如下:

  • 强制pos数值怎么挑选。展现方位一般可约束在[0-30/60]内,然而不同强制方位的设定,会带来排序成果的改变,怎么在[0-60]间挑选合理的强制方位,以及不一起刻和分布下,强制方位的挑选是否要从头进行。

  • pos特征的重要性。将pos特征由网络底层输入,其重要性或许难以在最终的logits中得以充分体现,其物理含义(方位要素影响用户产品交互行为的效果巨细)不易直观理解。

1.2 multi-pos predict

规划最终一层为多方位通道输出的网络,猜测产品在各枚举方位上的logits输出。练习阶段核算产品在一切方位上的输出成果,只激活实在的pos通道核算logit和loss,其他方位通道进行mask。揣度时,贪心的从第一个方位开端,无放回的挑选当时方位上的最优产品,直至最终一个方位。

搜索EE场景排序链路升级

此方案适配用于排序方位较为固定的场景,如重排N选N,在查找EE现有架构下并不适配,一方面是SVGP结构对多通道成果输出并不友好,另一方面,EE现有插入范围较大[1-60]、比较插入机制也需做十分复杂化的适配改造,方案过重。

1.3 pos as tower

晋级现有DNN + 稀少变分高斯(svgp) 采样打分模型,选用根据position-bias net(方位偏置)的模型方案,方案详细为练习、猜测两阶段的方位去偏。

  • 练习阶段经过引进展现方位表征作为方位偏好网络,与根据user/query/item的主网络一起输入,预估产品在当时方位(方位偏好网络)及本身质量(主网络)下的打分。

  • 猜测阶段经过去除方位偏好网络,猜测产品仅根据本身质量的采样打分,去除展现方位影响。经过此方案能够缓解练习数据的position-bias(方位偏执),下降头部产品因为展现方位的打分增益,一起削减中长尾产品因为靠后方位的打分折损,优化查找成果丰厚性和渠道生态。

2. 个性化方位偏置建模。

用户对产品的偏好是个性化的,不同用户对产品的偏好不同。用户对方位的偏好也是差异化的,不同用户对方位的灵敏度存在差异。

上文的bias-net建模方法,假定一切用户对同一方位偏好相同,忽略了用户间的方位偏好差异。典型例子如下,偏逛用户在系统中对position相对不灵敏,position的排名前后对用户的行为决议方案影响相对更小,而对偏快速够买用户则影响截然相反。

个性化方位偏置建模。晋级现有bias-net结构,引进用户个性化特征,包含静态profile和动态行为序列。经过个性化bias-net 核算不同用户对不同position的方位偏好,更精确的复原用户对产品内容的实在偏好。

Pos Tower 与 svgp的结合方法。

2.1 SVGP简介

搜索EE场景排序链路升级

GP(Gaussian process,高斯过程)是用于在样本间存在相相关系的情况下,经过观测值对不知道样本label 进行批改猜测的算法。简言之,间隔观测点越近的不知道样本,其均值被批改越多、更挨近观测值,方差也越收敛,反之亦然。SVGP(Sparse Variational Gaussian Process, 根据稀少变分的高斯过程),针对大样本量下协方差矩阵和求逆难以核算的问题,规划必定数量的可学习的引导点,对一切练习样本进行概括,不知道样本经过与引导点的协方差来核算均值和方差。

2.2表征层交融(Representation Fusion)

Pos-tower与Main-tower交融方法有两种,表征层交融和logit层交融。在SVGP核算前进行交融,即表征层向量进行交融,能够选用 concat/sum/avg 等各种方法。其难点在于,向量间的相加、平均操作,无法直观理解其物理含义和效果,向量叠加是否导致logit正向增大,向量带来多大的logit提高,这些方位偏置效果难以解析。

另外从模型结构来看,svgp依靠样本内容间类似度核算均值和方差,而position-bias的影响应该独立于样本内容的核算。

2.3logit层交融(Logit Fusion)

在svgp之后的logit层交融,可选用 logits 相乘相加方法,其直接从模型结构上诠释了这样的公式Label = f(content) + f(position) /Label = f(content) * f(position) ,其间 f(position)的绝对值巨细,直观的表明 position 带来的增益巨细。

方位偏置建模线上效果

坚持大盘功率相等的情况下,EE中心目标提高显着,探究流动性目标(探究更多产品)提高显着 +1.35%,探究成功率目标(探究更高效产品)明显改进 +0.74%。

盛行度去偏

3.1IPS

对每个产品预估 propensity score,然后选用逆向 propensity score 权重的方法,消除倾向分的影响,预估产品实在的内容匹配度得分。

挑战点:

  • 怎么精确取得 propensity score,这是对后续纠偏的条件挑战。

  • 全体为两段式练习,链路上有必定复杂度

3.2 盛行度降权

在实际搜推数据中,在user侧、item侧别离根据其盛行程度,规划对应降权权重,缓解全体被抢手用户、产品所主导的趋势,增强所重视样本的影响力。

面对难点:

  • 合理的规划权重方案。

  • 怎么发掘hard example。

3.3 根据因果联系的反现实推理

怎么缓解盛行度偏置问题?在练习链路中,增强改进中长尾产品的学习是一类重要方法;对用户交互行为进行解构,拆分出产品盛行度等因子的效果,是另一个视角的处理思路。

因果图、因果联系简介

搜索EE场景排序链路升级

因果图是有向无环图,其间节点表明随机变量、有向边表明节点之间的因果效果方向。如上图对于节点Y变量,有两条途径的因果效果,别离是 I → Y 、I → K → Y。

  • I → Y 表明从 I 节点开端的天然直接因果效应 (NDE),效果途径上没有中心节点。
  • I → K → Y 表明从 I 节点开端的直接因果效应 (TIE),K是途径上的中心节点。
  • 直接因果效应和直接因果效应之和,即为Y变量的总因果效应 (TE)。

总因果效应核算,能够由自变量的单位扰动带来的因变量改变进行核算,天然因果和直接因果效应核算亦然:

搜索EE场景排序链路升级

以上公式可得,求出TE和NDE时,可推导核算中直接因果效应 TIE。

查找中的因果效应

电商查找场景下,用户对产品的交互行为,可表明为 U-I 间各种因子的归纳效果。常见思路为考虑 U-I 间内容匹配程度作为待猜测因子,学习此因子在交互行为中的效果,在未来样本上进行猜测排序。

从电商查找的现实情况动身,对交互行为进一步拆分,影响用户产品交互行为的因子大体包含如下三方面:

  • 1). (U-I)→ Y,U-I 内容匹配度因子,用户与item本身内容的匹配程度、喜好程度对交互行为的影响,越喜欢则越点击购买,
  • 2). I → Y, Item盛行度特征,内容偏好匹配程度适当的几个产品时,因为前史累计销量等盛行度特征,抢手产品展现更多、被交互概率更高。
  • 3). U → Y, 用户天然心智,user对盛行产品的偏好程度不同,有些用户更倾向于抢手产品,部分用户则并不灵敏。

搜索EE场景排序链路升级

以上因子的拆解,包含了U/I 内容匹配度的直接因子的效应,也包含了 U、I的直接效应影响。因此在EE模型中规划如下网络,别离建模各个因子的效果:

搜索EE场景排序链路升级

详细别离规划UI-Match-Net, User-Net, Item-Net 别离猜测对应三种因子的效果,其间总效应,U/I 效应别离表明为

搜索EE场景排序链路升级

在练习中Loss的规划如下,别离表明

搜索EE场景排序链路升级

  • U-I与label的loss,优化主模型的精确性

  • U、I侧直接因子的loss,经过这种方法别离猜测两种直接因子对交互成果的影响

  • alpha/beta 为练习时超参

猜测阶段缓解盛行度偏置,首要在于去除盛行度要素、用户心智因果(偏置因子)的影响,详细经过总因果效应减去天然直接效应(偏置因子效应),尽量精确复原 U-I 内容匹配程度的影响

TIE = TE – NDE

搜索EE场景排序链路升级

反现实推理后的因果图状况如下,将U/I 的直接效应消除,保留U-I 内容匹配度的效应:

搜索EE场景排序链路升级

反现实推理建模线上效果

坚持大盘功率相等的情况下,EE中心目标提高显着,探究流动性目标(探究更多产品)提高 +0.82%探究成功率目标(探究更高效产品) 明显提高 +0.66%。

在线AB目标

探究成功率目标,用于在小流量AB期间辅导EE效果剖析,其规划思路从EE中心价值动身,推导出长时间价值相相关的AB期间中心目标。

详细而言,即证明 探究成功率目标 → EE中心价值。

  • 满足探究成功率的产品,盯梢其必定时刻后在查找中的接受状况,是否被大盘较好接受。
  • 查找中接受状况,首要为三要素:流量、点击、订单。

经过对 1). 产品概略和接受定义, 2). 产品接受计算, 3). 分层接受剖析 等方面进行剖析,迭代出查找EE在AB试验期间所重视的EE中心目标集–探究成功率。

离线评价系统

EE线上目标首要重视

  • 1). 大盘功率,UCVR和UV价值
  • 2). 探究成功率, 其他辅佐观测目标包含 流动性目标、丰厚性目标。

在线的探究成功率和辅佐目标,现阶段难以与模型离线目标(AUC等)相关,无法在离线评测EE模型的探究才能,约束EE模型迭代速度,极大添加迭代时刻成本。

针对EE场景特异性的目标,规划了离线目标评测集合,别离从 功率、中长尾探究强度、不确定预估等方面,归纳评测EE模型,加速迭代。

总结

查找EE是提高查找场景流动性、多样性的关键模块,其面对的问题和以功率排序为主模块的问题有很大差异,对EE同学提出了不一样的挑战。

针对EE场景的特点,排序模型从Debias(打分公平性)下手,拆解存在于各种排序场景的bias问题,对方位偏置和盛行度偏置问题晋级较通用化的处理方案,取得了EE中心目标的明显提高。一起对于迭代链路中的 在线AB目标、离线评价系统,也进行了证明和迭代,完成对整个EE排序闭环链路的晋级。限于篇幅,AB目标和离线评价系统在这里不做全面展开,感兴趣的同学欢迎随时交流,一起讨论。

EE场景面对的挑战许多,后续方案从如下方面持续深化探究:

1). 引进更丰厚的用户探究信号的表达,添加explore-net和监督loss,提高EE模型对探究偏好的学习。

2). 考虑EE的长时间价值,怎么在模型结构、Loss规划上结合长时间价值。

3). 优化EE探究机制和EE候选集,提高EE全链路探究才能。